打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

在工作中涉及身份证号码正确性的校验时,很多人苦苦求索但找不到方法。

其实Excel强大的计算和统计功能可以帮我们自动校验,免除手工排查数据的麻烦。

今天我来结合一个实际案例,介绍1个公式校验身份证号码的正确性的方法。

注:现在的身份证号码都是18位的,由17位数字和末位校验码构成。原来的15位编码方式已经停用,而且15位没有使用校验。最后一位可能出现的X并不是英文字母X,而是希腊数字10的缩写X

B2单元格输入以下数组公式,按<Ctrl+Shift+Enter>组合键结束输入,并向下填充。

=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")<TODAY(),RIGHT(A2)=MID("10X98765432",MOD(SUM(MID(MID(A2,1,17),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)),"正确","错误"))

此公式的校验规则包括以下四点。

1、身份证号码前6位数字可以在行政区划代码中找到,工作表‘行政区划代码’中A列放置的是中华人民共和国国家统计局发布的6位行政区划代码。

http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/

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 ;

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。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EXCEL中如何提取身份证信息及检验正确性
Excel如何从身份证号码中提取计算出生日期、性别及年龄呢?
excel如何输入身份证号码及自动显示性别
Excel函数技巧:巧用Excel函数公式检验身份证号码
[转载]EXCEL中如何提取身份证出生日期和性别信息以及检验身份证|应用软件
在Excel中根据身份证号码自动生成性别、出生日期和年龄
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服