我们在日常工作中经常会录入身份证号码、电话号码或是员工工号,当数据量比较大的时候,我们稍不留神就很有可能录入重复的数据,要怎么样才能避免录入的数据重复呢?特别是在录入身份证号码的时候,今天我们一起来看看问题到底出在哪儿?
我们先来看一个实例:
如下图所示,在D列中使用下面的公式,判断C列的身份证号码是否重复。
公式:=IF(COUNTIF($C$2:$C$17,C2)>1,'重复','')
可是当我们仔细检查时就会发现,C4、C11、C16单元格中的内容只有前15位数是相同的,后面的3位是完全不同的,函数结果仍然判断为重复,这显然是不正确的。
我们来看一下问题出在哪儿?
虽然C列中的身份证号码为文本型数值,但是COUNTIF函数在处理时,会将文本型数值识别为数值进行统计。
在EXCEL中超过15位的数值只能保留前15位有效数字,后面的数字会全部被视为0值处理,因此,COUNTIF函数会将C4、C11、C16单元格中的身份证号码都识别为相同。
此时可将D2单元格中的公式修改为:
=IF(COUNTIF($C$2:$C$17,C2&'*')>1,'重复','')
在上面的这个公式中,COUNTIF函数的第2个参数使用了通配符“*”,最终得出了正确的结果。
确保录入身份证号码的唯一性:
操作步骤:
step1:选择设置区域
step2:数据|数据验证|数据验证|设置|允许|自定义
step3:在公式框中输入=COUNTIF($C$2:$C$17,C2&'*')=1
step4:单击“确定”就可以输入身份证号码了
当我们输入的数据重复时系统会自动提示输入不匹配,并禁止输入。
使用通配符“*”的目的是将其强行识别为文本进行统计,相当于告诉EXCEL:我要统计的内容是C2单元格中的文本,EXCEL就会老老实实的去执行任务了。
所以说,EXCEL就像一个忠实的士兵,能不能打胜仗,关键还是要看我们怎么去指挥了!
~ The End ~
联系客服