打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CONUTIF函数的这些坑,一不留神就栽跟头

小伙伴们好啊,又是我啊,我是您的老朋友流浪铁匠。我就问问有多少人用COUNTIF核对身份证号时出错了呢。

除非看过公众号文章,新手经常会奇怪=COUNTIF(A:A,A2)这种对长数字编码(如身份证号)计数的结果为什么会异常。

这涉及到COUNTIF这类IF后缀条件统计函数的特殊统计机制,而这类函数的统计机制之复杂坑死了一堆新手,因此借这机会详细介绍下。

看这部分前请先清楚2个概念:

1,数字(日期)在EXCEL里有文本型和数值型两种,前者属于文本,后者才能直接统计计算。

2,单元格格式和数据类型是两码事,后者不能用检查单元格格式方式检测而要用ISTEXT/ISNUMBER等函数检测出来,与单元格格式无关。

COUNTIF这类函数的统计机制:

1,文本与数值,井水不犯河水:

第二参数内若内容是纯文本(不能为'12'这种能转为数值的纯数字文本)以及含有通配符时,统计时将忽略统计区域内的数值内容。但统计区域中的文本型数字会被统计。

2,不识数。

第2参数当以'='作为比较运算符或者为纯字符串时,若内容为真数值/文本型数字。会把统计区域内的所有真数值/文本型数值(以及数字两端存在空格等情况)等全部识别为真数值进行统计,无视第1、第2参数数字的数据类型。

当第2参数内有'>','<'等比较运算符时,若统计区域含真数值/文本型数字,只统计统计区域内的真数值部分,统计区域内的文本型数字将被忽略。此时需要使用 &'*' 方式强制识别为文本时才会对引用区域的文本型数字统计。

而这就是COUNTIF这类函数统计身份证号等超过15位的纯数字编码出错的原因(直接=COUNTIF(A:A,A2)这种写法。

统计时由于2参数无通配符等,1/2参数的数字编码全部被识别为数值,而EXCEL数值有15位精度限制,超过15位的数字会被全部识别为0。

所以统计时第1和第2参数超过15位的数字编码会全部被COUNTIF识别为0计数。

这个特殊性质但凡初次用COUNTIF核对身份证号的小伙伴都被坑过吧                                        。

所以看完上面的机理介绍就应该知道为什么公式要改成=COUNTIF(A:A,A2&'*')了                                         

因为&'*'后2参数就不是纯数字的比较了而被识别为文本,是文本的统计规则,此时忽略统计区域的数值,只统计文本                                          。

而由于精度限制,被正常录入的身份证号必然是文本型的数字了                                          。

3,自作聪明的表达式。

另外注意这个函数的统计内容可以被识别为表达式的情况下请添加'='&    ,避免内容被识别为条件。

如下图中,有一些带有比较符号的字符,现在要统计字符“>4”的个数。

如果用=COUNTIF(单元格区域,'>4'),这种用法是不正确的。

应该写成=COUNTIF(单元格区域,'=>4')

COUNTIF函数有自身的统计机制,特别是由于新手不会分辨文本型数字和真数值,涉及数字的统计在不清楚这类函数的统计规则的前提下,就会经常掉进这类函数的陷阱里。

通过本篇的介绍,小伙伴们可以了解COUNTIF函数的这些性质,避免在工作中被坑了。

好了,今天的内容就是这些吧,我是流浪铁匠,感谢小伙伴们观看。

图文制作:流浪铁匠

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
countif函数用法多,坑也不少!
为什么不重复的身份证号码计数结果为重复?
Excel常用函数之Countif函数
统计函数技巧-统计不重复值的数量
Countif函数对长数字的计数功能出错怎么办?
Count、Counta、Countif这三个计数统计类函数,你分清了吗?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服