1
职场实例
小伙伴们大家好 ,今天 Excel情报君 依旧是接受了一位公众号后台粉丝的 Excel职场实例问题咨询 , Excel情报君 感觉这个问题很有 代表性 ,知识点也很有必要掌握,所以简化了数据源,来向大家说明一下。
如下图所示:
A列为一列某ERP系统导出的原始数据,本例中用一些 水果名称 来表示。我们想要 对A列数据进行一项统计 ,我们要统计一下 A列中相邻单元格上下内容依次是苹果和香蕉 , 这种组合出现的次数(个数)为多少 。
这个问题的实质其实是 Excel中函数的基础问题 ,我们完全可以通过自己知识储备来解决它。 下面小编就讲解一下自己总结出来的方法及原理 。
2
解题思路
解决这个问题的 核心思路 是运用 “错位”统计的思想 。 那么这个“错位”在本例中该如何理解呢?
我们可以这样简单理解:
我们可以先将 A2:A8 单元格数据区域复制到C列;再将 A3:A9 单元格数据区域复制到D列;最终对 C和D这两列对应的行数据进行对比 即可。
A2:A8 和 A3:A9 为区域错位。因为我们要判断A列中上下相邻单元格是否为苹果和香蕉。如果 C列数据为A列的数据源 的话,那么 C列单元格对应的每个D列的单元格数据 就可以理解为 A列每个单元格的下方相邻的单元格数据 ,所以我们只需要找一下 CD两列 有几组对应的 苹果和香蕉行组合 即可。
对C列来做逻辑判断:
在E2单元格输入公式:
=C2="苹果"
下拉填充公式即可。判断C列每个单元格数据是否为“苹果”,返回逻辑TRUE代表为“苹果”,返回逻辑值FALSE代表不是“苹果”。
对D列来做逻辑判断:
在F2单元格输入公式:
=D2="香蕉"
下拉填充公式即可。判断D列每个单元格数据是否为“香蕉”,返回逻辑TRUE代表为“香蕉”,返回逻辑值FALSE代表不是“香蕉”。
参与四则运算时, 逻辑值TRUE相当于数值1 , FALSE相当于数值0 。对于乘法运算,只要有一个乘数为0,结果就为0。
我们对E列和F列返回的逻辑值进行相乘,在G2单元格输入公式:
=E2*F2
所以只有当E列和F列都为TRUE时,即C列为苹果,D列为香蕉时,返回结果为1(1*1),否则为0(0*1或1*0或0*0)。
最后我们只需要将G列结果相加即可:
=SUM(G2:G8)
即获得A列中相邻单元格上下内容依次是苹果和香蕉这种组合出现的次数为2。
我们将上述思路浓缩为一个函数公式即可, 在D1单元格输入函数公式 :
=SUM((A2:A8="苹果")*(A3:A9="香蕉"))
Ctrl+Shift+回车键结束公式。
参数运算过程,选中公式对应部分后按F9键即可查看,Esc键恢复:
(A2:A8="苹果") 返回数组:
{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE}
如果A2:A8区域中每个单元格的值为“苹果”时,返回TRUE,否则返回FALSE。
(A3:A9="香蕉") 返回数组:
{FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE}
如果A3:A9区域中每个单元格的值为“香蕉”时,返回TRUE,否则返回FALSE。
(A2:A8="苹果")*(A3:A9="香蕉") 返回数组:
{0;0;0;1;0;0;1}
当A2:A8区域中每个单元格的值为“苹果”且A3:A9区域中每个单元格的值为“香蕉”时,返回1,否则返回0。
SUM({0;0;0;1;0;0;1}) 返回值2。
即获得A列中相邻单元格上下内容依次是苹果和香蕉这种组合出现的次数为2。