乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL表里面怎么识别身份证号码是否有效

EXCEL表里面怎么识别身份证号码是否有效

作者:乔山办公网日期:

返回目录:excel表格制作


1、这里有一个Excel文件,里面录入了一组身份证号码(非真实人的身份证号)其中一个为错误号码,在没有认真核对以前很难发现。

2、新建一列校验结果列,双击单元格,粘贴以下公式代码

=IF(A3="","",(IF(MID("10X98765432",MOD(SUMPRODUCT(MID(A3,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(A3,18,18),"正确","错误")))

将公式中三处 A3 修改为你要校验的身份证号码所在单元格名,然后按回车键,公式自动完成验。

3、鼠标放单元格右下角变十字时,按住下拉,完成所有行身份证号的校验,或双击本单元格右下角完成所有行校验。

4、认真核对显示校验错误的身份证号码,更正后校验列会变为“正确”。

5、身份证最后一位为校验位,但不能完全保证身份证号码的正确性,如果同时出现两位或多位号码错误,校验结果也可能显示“正确”,如图



我们现在通行的身份证号为十八位号,前六位是地区代码,第七至十四位是出生年月日代码,第十五、十六位是乡镇代码,第十七位是性别识别码,男单女双,同时又是同地区、同出生日期、同性别人员的区别码,第十八位尾号则是前十七位号码的识别码,它是判断身份证号是否正确的重要依据。尾号设置的专门规则是:用前十七位号码,依次加权乘以7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2,再将得出的加权总和除以11,得出的余数,从7a64e78988e69d833350到10十一种,依次对应尾号:1、0、X、9、8、7、6、5、4、3、2。
  现在,我们来设置相关公式和函数。在EXCEL表的B、C、D、E四列中,分别设立身份证号、尾号、参数、检验结果四个项目。
  第一步:在身份证号列,将整列设为文本格式,在身份证号项目名称下的单元格中(如B3单元格),输入一个十八位的第二代身份证号;
  第二步:在参数项目下的同行单元格内(D3单元格),输入如下函数公式:=12-(MID(B3,1,1)*7+MID(B3,2,1)*9+MID(B3,3,1)*10+MID(B3,4,1)*5+MID(B3,5,1)*8+MID(B3,6,1)*4+MID(B3,7,1)*2+MID(B3,8,1)*1+MID(B3,9,1)*6+MID(B3,10,1)*3+MID(B3,11,1)*7+MID(B3,12,1)*9+MID(B3,13,1)*10+MID(B3,14,1)*5+MID(B3,15,1)*8+MID(B3,16,1)*4+MID(B3,17,1)*2)+INT((MID(B3,1,1)*7+MID(B3,2,1)*9+MID(B3,3,1)*10+MID(B3,4,1)*5+MID(B3,5,1)*8+MID(B3,6,1)*4+MID(B3,7,1)*2+MID(B3,8,1)*1+MID(B3,9,1)*6+MID(B3,10,1)*3+MID(B3,11,1)*7+MID(B3,12,1)*9+MID(B3,13,1)*10+MID(B3,14,1)*5+MID(B3,15,1)*8+MID(B3,16,1)*4+MID(B3,17,1)*2)/11)*11,目的是将B3单元格的身份证号计算出加权总和后除以11得出余数,并用12相减得出参数;
  第三步:在尾号项目列的同行单元格内(C3单元格)输入以下公式函数:=IF(D3=12,1,IF(D3=11,0,IF(D3=10,"X",D3))),目的是按照尾号的专用编码规则,将第二步D3单元格的参数计算结果转化为正确尾号;
  第四步:在检验项目下的单元格(E3单元格)内输入公式函数:=IF(MID(B3,18,1)-D3=0,"正确","错误"),目的是将B3身份证的尾号与计算出的正确尾号相对比,标示正确与否。
  第五步:批量检验。将批量身份证号码输入或复制到B3以下的B列中,选定C3:E3,将光标放置到右下角,显黑十字时,按住鼠标左键,双击之后,你所输入的身份证号之后三列,即刻就能出现你想得到的一切结果



在单元格中,输入身份证号码,有15或18位两种,由于输入过多导致输入错误,请问如何检验?
1、身份证位数(是否为15位或18位)

2、日期是否合法(主要是判断月份是否在1-12之间,日期是否超出当月的天数等)

3、身份证号是否重复。
数据有效性公式如下:
=NOT(OR(AND(LEN(A1)<>15,LEN(A1)<>18),COUNTIF(A:A,A1)<>1,ISERROR(1*TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))))
可以设置提示内容为:
“身份证位数或者日期有误,或者身份证号有重复,请核准后重新输入!”

这样设置好后有以上三错误就不能输入了。
但还有个缺点,就是不知道和上面那个身份证号重复了。

所以建议采用如下方法:636f7079e799bee5baa6336
在数据有效性中只判断位数和日期问题,公式如下:
=NOT(OR(AND(LEN(A1)<>15,LEN(A1)<>18),ISERROR(1*TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))))
提示内容为:
“身份证位数或者日期有误,请核准后重新输入!”
然后在A列用条件格式显示重复的身份证号码,条件格式的条件设为:
公式=COUNTIF(A:A,A1)>1
将字体设为红色。
这样设置后,位数和日期有问题不能输入,重复的可以输入,但会显示为红色字体,以便你检查。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网