表1中 A1=姓名,B1=身份证,C1显示重复 "是","否"表2中 A1=姓名,B1=身份证C1=if(isna(vlookup(A1,表2!A:B,2,0),"否","是")在任一表如表2新增一列,如E列,E2输入公式:=IF(ISERROR(VLOOKUP(D2,1表!$A$2:$A$10000,1,FALSE)),"","重复")下拉公式到最后一行,所有显示"重复"的就是重复的
对于应用公式不方便的,可以通过曲线方式救国。因为EXCEL表对于超过15位的纯数字会直接忽略后面的位数。此时我们只需要对身份证号列进行加工即可查重。对每个身份证号前面都加上X。方法:创建列B。列内数字均为X 再创建列临时列公式=B&身份证号所在列。即可生成临时列所有身份证前有X。此时对该临时列进行重复值查询即可。
假如该列为A列共1000行在B1中输入公式:=COUNTIF(A$1:A$1000,A1)向下复制公式得到的是A列中每一个数值出现的次数大与1的便的重复出现的身份证号
方法/步骤分步阅读1/6我之前已经介绍过countif()这个函数,它的作用就是计算出区域里满足条件的单元格数目。既然数目大于1,说明有重复的。就是这个道理。2/6但在检测身份证号码时,会出现错误。如图,两个明显不同的身份证号码,为何会显示为“2”,即有重复呢?其实,这是因为在excel单元格里,只检测数据的前15位,后面的位数就不管了,而身份证号码却是18位的。3/6找到原因,我们就可以有办法解决了。把比较的数值和“*”号进行连接,如图这样修改公式。4/6这样往下填充公式,得到了正确的结果。5/6如果用数字表示不太清楚的话,我们还可以和if()函数进行整合,如图。6/6填充公式后,得到一目了然的查找结果。
在任一表如表2新增一列,如E列,E2输入公式:=IF(ISERROR(VLOOKUP(D2,1表!$A$2:$A$10000,1,FALSE)),"","重复")下拉公式到最后一行,所有显示"重复"的就是重复的
158 浏览 5 回答
355 浏览 4 回答
116 浏览 4 回答
340 浏览 4 回答
106 浏览 8 回答
100 浏览 4 回答
142 浏览 5 回答
333 浏览 6 回答
270 浏览 8 回答
234 浏览 4 回答
310 浏览 8 回答
88 浏览 4 回答
232 浏览 11 回答
235 浏览 10 回答
287 浏览 3 回答
153 浏览 8 回答
265 浏览 3 回答
97 浏览 3 回答
273 浏览 4 回答
301 浏览 6 回答