欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天来和大家分享一道多条件统计的题目。按条件统计的题目通常情况下可以使用COUNTIF函数或者COUNTIFS函数。但今天这道题目却有点问题喽!
原题目是这样的:
题目要求统计数量大于零,且商品及等级不重复的个数。观察一下源数据,以“水果”为例,A列中有2个“水果”,B列中有2个“C”。这时如果使用COUNTIF函数统计,则返回的答案是2。这就说明,COUNTIF函数在需要排重统计时会出错!
不过没关系,还好我们还可以使用功能更强大的FREQUENCY函数来处理这个问题。
01
FREQUENCY函数在多条件计数的应用
在单元格F2中输入下列公式,并向下拖曳即可。
=COUNT(0/FREQUENCY(ROW(A:A),MATCH($A$2:$A$13&$B$2:$B$13,$A$2:$A$13&$B$2:$B$13,)*($C$2:$C$13>0)*($A$2:$A$13=E2)))-1
题目要求商品及等级不重复,即这两个条件是并列成立的。
MATCH($A$2:$A$13&$B$2:$B$13,$A$2:$A$13&$B$2:$B$13,)
将A列和B列的源数据合并起来,在利用MATCH函数来返回各自的位置信息
($C$2:$C$13>0)*($A$2:$A$13=E2)
这则是另外的两组条件
MATCH($A$2:$A$13&$B$2:$B$13,$A$2:$A$13&$B$2:$B$13,)*($C$2:$C$13>0)*($A$2:$A$13=E2)
上面这3组条件和并在一起,构成了FREQUENCY函数的计频的间隔数组,也就是计算频率的间隔点。
这部分返回的结果是{1;0;0;0;0;0;1;0;0;0;0;0}。
REQUENCY(ROW(A:A),MATCH($A$2:$A$13&$B$2:$B$13,$A$2:$A$13&$B$2:$B$13,)*($C$2:$C$13>0)*($A$2:$A$13=E2))
利用FREQUENCY函数来计频。它的结果是{1;0;0;0;0;0;0;0;0;0;0;0;1048575}。
如果有重复的数值,则只会计频在第一个出现的那个上。
EXCEL中共有1048576行,上面的结果反映出在这个自然数序列中,只有自然数1在第一个位置“1”上计频1。其余所有大于计频点最大值的自然数,FREQUENCY函数都会为它们在间隔数组的最后再添加一位,并将它们都计频在数组最后一位。
0/FREQUENCY(ROW(A:A),MATCH($A$2:$A$13&$B$2:$B$13,$A$2:$A$13&$B$2:$B$13,)*($C$2:$C$13>0)*($A$2:$A$13=E2))
常规操作,是不是很熟悉?
COUNT(0/FREQUENCY(ROW(A:A),MATCH($A$2:$A$13&$B$2:$B$13,$A$2:$A$13&$B$2:$B$13,)*($C$2:$C$13>0)*($A$2:$A$13=E2)))-1
利用COUNT函数统计数值的个数,在减去1就是正确答案。
为什么要减去1?因为0除以1048575得到0,COUNT函数在统计是也会把它统计进去。而这个1048575是无效数据,是多统计的一个,所以要减去。
本期内容练习文件提取方式:
链接: https://pan.baidu.com/s/1K5jYZ-c-XYZzY7PAkVPp0Q?pwd=pqwn 提取码: pqwn
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”