今天跟大家分享下我们如何正确地对身份证号码查重,这个也是一个学员遇到的问题,他发现在利用条件格式标记重复身份证号码的时候,两个完全不一样的身份证号码也会被标记颜色,如下图所示,还跟我说发现了一个Excel的bug,这个其实并不是bug,它与Excel的精度有关,下面我们就来了解下有关的内容吧
想要从零学习Excel,可以点击上方
一、错误原因
Excel的精度只有15位数据,在默认情况下(常规格式)如果我们输入的数据超过了15位,15位之后的数据都会被舍去,设置为0来显示。且无法恢复
这也就是我们在录入身份证号码的时候,必须将单元格的格式设置为文本格式的原因,如果不将格式设置为文本,身份证号码的后3位会被舍去,就会被设置为0来显示,这个过程是不可逆的,只有重新输入
当我们使用条件格式对数据进行查重的时候,Excel会自动将文本格式的数值转换为常规格式,后面的3个数字就会被忽略掉,仅仅只会比对身份证号码前15位的数据,所以身份证号码的前15位相同,条件格式就会为其标注颜色,这个就是错误原因。
那么对于这样的情况我们应该如何解决呢?
二、解决方法
最简单的方法就是利用countif函数,我们只需要将公式设置为:=COUNTIF($D$2:$D$10,D2&”*”),然后向下填充即可,结果大于1的就是重复数据。
跟大家简单地介绍下这个函数的计算原理
第一参数:$D$2:$D$10
第二参数:D2&"*"
在这里函数中关键的是第二参数
&:是一个链接符号,它结果的格式一般默认是文本格式
*:它是一个通配符,可以表示没有任何字符,也可以表示有无穷多个字符,在这里它就表示没有字符
使用链接符号将身份证与星号连接后,身份证号码就会保持文本格式代入公式中计算,这样的话就可以得到正确的结果了
三、辅助列
如果你觉得上面的方法比较难理解,跟大家分享一个更加简单的方法,不过需要设置一个辅助列。
首先我们使用链接符号为身份证号码的后面连接一个相同的汉字,比如在这里连接一个我字,只需要将函数设置为:=C2&”我”向下填充公式即可
最后我们选择数据区域,使用条件格式中的【突出显示重复值】即可,可以看到这个时候数据并没有被标记颜色
这么做的原因是因为,我们在身份证号码中链接了一个文本,因为有文本存在,单元格的格式是会一直保持为文本格式,这样的的话就能得到正确的结果了
以上就是今天分享的全部内容,关键是与Excel的精度有关,如果大家觉得麻烦,就选择制作一个辅助列来查重
我是Excel从零到一,关注我,持续分享更多Excel技巧
原创文章,作者:PIWORQ,如若转载,请注明出处:https://www.beidanyezhu.com/a/1581.html