点击上方蓝字「Excel不加班」关注,看下一篇
今天,VIP群有几个老学员在郁闷中,明明公式是对的,结果却错的,百思不得其解。
统计C列每个区间的次数,<1年本来只有1个,结果却为26。
=COUNTIFS($C2:$C50,G2)
COUNTIF是一个很特殊的函数,经常会存在各种陷阱,导致结果出错,跟着卢子一起来全面了解。
为了更好的理解这个函数,卢子模拟了几个数据。
统计B列文本内容<3的个数,明明是1个,结果却为0。
=COUNTIF(B:B,"<3")
再来看,统计A列数字<3的个数,没错是2个。
=COUNTIF(A:A,"<3")
也就是说,条件"<3"是对数字进行比较后统计。B列的是文本,全部大于3,所以结果为0。
解决方法,就是将<符号替换成其他没有特殊性的符号,比如《。
=COUNTIF(B:B,"《3")
或者直接用SUMPRODUCT函数。
=SUMPRODUCT(--(B:B="<3"))
跟这个案例很像的还有,就是存在通配符,也会出错。
=COUNTIF(A:A,D1)
同理,将*替换成其他没有特殊性的符号,比如-。
或者直接用SUMPRODUCT函数。
=SUMPRODUCT(--(A:A=D1))
还有一种就是超过15位数字,直接用COUNTIF函数也会出错。
数字超过15位部分都是当0处理,遇到这种依然是用SUMPRODUCT函数。
关于COUNTIF函数还有一大堆坑,就不再罗列。
聪明的你,看到这里,应该知道文章开头的案例怎么解决。
将>换成其他符号,或者用SUMPRODUCT函数。
=SUMPRODUCT(--($C$2:$C$50=G2))
最后,如果你用COUNTIF函数没把握正确,还是使用SUMPRODUCT函数更加稳妥。
链接:
https://pan.baidu.com/s/1asbxMM-dOSQJ2i8gq29jKg
提取码:kvco
VIP888元,一次报名,所有视频课程,终生免费学,提供一年在线答疑服务。
报名后加卢子微信chenxilu2021,发送报名截图邀请进群。
在使用函数的时候,你还遇过哪些坑?
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
请把「Excel不加班」推荐给你的朋友
无需打赏,请点在看↓↓↓