工作中统计工作中身份证号的重要性不言而喻,出生日期和性别都可以直接提取,然后现实中在录入中难免出现一定的错误,如何判定身份证号的正误显得尤为重要。利用网络上的验证校验码的方法判断,自己加了一定的修改,可以直接利用。
=IF((CHOOSE(MOD(SUM((MID(B2,1,1)+MID(B2,11,1))*7+(MID(B2,2,1)+MID(B2,12,1))*9+(MID(B2,3,1)+MID(B2,13,1))*10+(MID(B2,4,1)+MID(B2,14,1))*5+(MID(B2,5,1)+MID(B2,15,1))*8+(MID(B2,6,1)+MID(B2,16,1))*4+(MID(B2,7,1)+MID(B2,17,1))*2+MID(B2,8,1)+MID(B2,9,1)*6+MID(B2,10,1)*3),11)+1,"1","0","X","9","8","7","6","5","4","3","2"))=RIGHT(B2,1),"正确","错误")
具体在利用时利用记事本将公式中的B2替换为身份证实际所在单元格,其余的单元格拖动填充即可。
补充内容 (2020-10-31 21:04):
加indirect函数可以避免删除1到17行引起的错误
=if(MID("10X98765432",MOD(SUMPRODUCT(MID(A3,ROW(INDIRECT("1:17")),1)*{7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}),11)+1,1)=RIGHT(A3),"正确","错误")
|