多条件统计COUNTIFS函数易出错,FREQUENCY函数是最好用的函数,没有之一!

文摘   2024-11-10 20:01   上海  




欢迎转发和点一下“看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路





小伙伴们好,今天来和大家分享一道多条件统计的题目。按条件统计的题目通常情况下可以使用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得到0COUNT函数在统计是也会把它统计进去。而这个1048575是无效数据,是多统计的一个,所以要减去。


本期内容练习文件提取方式:

链接: https://pan.baidu.com/s/1K5jYZ-c-XYZzY7PAkVPp0Q?pwd=pqwn 提取码: pqwn 


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!


-END-


长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助


我就知道你“在看”


推荐阅读

Excel应用之家
介绍、交流EXCEL各项功能在工作中的实际应用; 为你答疑解惑;分享各类图表、表格和模板;提供有偿代工服务。
 最新文章