1个公式校验身份证号码的正确性

在工作中涉及身份证号码正确性的校验时,很多人苦苦求索但找不到方法 。
其实Excel强大的计算和统计功能可以帮我们自动校验,免除手工排查数据的麻烦 。
今天我来结合一个实际案例,介绍1个公式校验身份证号码的正确性的方法 。
注:现在的身份证号码都是18位的,由17位数字和末位校验码构成 。原来的15位编码方式已经停用,而且15位没有使用校验 。最后一位可能出现的X并不是英文字母X , 而是希腊数字10的缩写X
B2单元格输入以下数组公式,按组合键结束输入,并向下填充 。
=IF(A2=””,””,IF(AND(LEN(A2)=18,COUNTIF(行政区划代码!A:A,LEFT(A2,6))>0,ISNUMBER(–TEXT(MID(A2,7,8),”0000-00-00″)),–TEXT(MID(A2,7,8),”0000-00-00″)>1,–TEXT(MID(A2,7,8),”0000-00-00″)
此公式的校验规则包括以下四点 。
1、身份证号码前6位数字可以在行政区划代码中找到,工作表‘行政区划代码’中A列放置的是中华人民共和国国家统计局发布的6位行政区划代码 。
2、身份证号码中从第7位开始的8位数字是可以识别的日期格式,日期范围介于1900年1月1日至当前日期之间,且不会出现2月30日或4月31日这类错误日期 。
3、身份证号码长度为18位 。
4、身份证号码第18位是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码 。具体计算规则如下 。
1)将前面的身份证号码17位数分别乘以不同的系数 。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ;

1个公式校验身份证号码的正确性

文章插图
2)将这17位数字和系数相乘的结果相加;
3)用加出来和除以11,看余数是多少;
4)余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字 。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2;
5)通过上面得知如果余数是2身份证上的校验码是什么作用身份证上的校验码是什么作用,就会在身份证的第18位数字上出现罗马数字的X 。如果余数是10 , 身份证的最后一位号码就是2 。
知道了这个公式,再也不必为校验身份证号码发愁啦!
如果你觉得有用,就分享给朋友们看看吧~
更多的Excel应用技巧,可以点击文尾的“阅读原文” , 获取更多教程 。
今天就到这里 , 大家记得收藏此教程,明天见~
李 锐
微软全球最有价值专家MVP
新浪微博Excel垂直领域第一签约自媒体
百度名家,百度阅读认证作者
【1个公式校验身份证号码的正确性】本文到此结束,希望对大家有所帮助!

猜你喜欢