Excel函数小技巧|COUNTIF/COUNTIFS身份证号码计数,避坑指南来啦!
今天被同事的Excel问题问住了:数据源里的身份证号码明明没有重复,用COUNTIF统计却莫名出现重复值,到底哪里出了问题?答案其实藏在Excel对长数字的处理规则里,这也是用COUNTIF/COUNTIFS统计身份证、长订单号的高频坑,今天一次性讲透原因和解决方法,新手也能秒会!先搞懂:Excel为什么会“认错”长数字?
Excel对数字的精度只有15位,处理18位身份证这类长数字时,很容易出现数据失真,具体规则记好这3点:- 11位<数字长度≤15位:自动转科学计数法,但数据无精度丢失,改格式就能恢复;
- 数字长度>15位:不仅转科学计数法,15位后的数字会强制变0,且无法通过常规格式恢复(WPS会自动把超11位数字设为文本格式,这点真的太贴心了)。
所以核心提醒:Excel处理18位身份证、长订单号,一定要先把单元格设为文本格式,从源头避免数据失真!核心问题:COUNTIF统计身份证,错在哪?
就算你把身份证设为文本格式,直接用 =COUNTIF(C2:C3,C2) 统计仍会出错——比如两个身份证前15位相同、后3位不同,公式会判定为两个身份证号码一样,提示“重复值”,统计结果为2。原因很关键:COUNTIF函数计算文本型数字时,会默认按数值型处理,而Excel数值精度只有15位,18位身份证自然会被“掐头去尾”,前15位相同就被识别为同一个内容,结果必然出错!一招解决:加个通配符,让COUNTIF乖乖听话
无需复杂公式,只需在COUNTIF第二参数后连接通配符&"*",就能完美避坑,正确公式如下:COUNTIFS多条件统计同理,每个身份证条件后都加&"*",例: =COUNTIFS(A:A,"张三",C:C,C2&"*")原理超简单:Excel也有“小软肋”
在条件后加&"*",就是告诉Excel:只查找包含C2内容的文本,强制让COUNTIF按文本规则匹配,不再按数值精度“偷懒”,自然就能精准识别18位身份证的差异了。简单说,就是用通配符戳中Excel的“小软肋”,让它放弃数值精度判断,老老实实按文本统计~总结一下核心技巧
✅ 统计18位身份证/长数字,先设单元格为文本格式,源头避坑;✅ COUNTIF/COUNTIFS统计时,条件后必须加 &"*" ,公式才精准;✅ 核心逻辑:用通配符强制函数按文本匹配,避开15位数值精度限制。工作中你还遇到过哪些COUNTIF/COUNTIFS的奇葩问题?比如多条件统计、跨列计数踩坑,欢迎在留言区分享,咱们一起解锁解决方案~