Excel情报局
职场联盟Excel
生产挖掘分享Excel基础技能
Excel爱好者大本营
用1%的Excel基础搞定99%的职场问题
做一个超级实用的Excel公众号
Excel是门手艺玩转需要勇气
数万Excel爱好者聚集地
SUPER EXCEL MAN
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。
回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。