如何在EXCEL中批量将15位身份证号码变更为18位身份证号码?

2023-05-17 综合 47阅读

首先需要知道身份证号中各个数字的含义,以18位身份证号主讲,

  1. 前边6个数字,每2个数字一组,分别是省(自治区、直辖市)、市(盟、自治州)、县(县级市、区)的代码,

  2. 接下来的8位数字(15位身份证是6位数字)是出生年月日(15位身份证号的年是两位数,省略了19),比如1975年6月5日出生的,这数字就是19750605(15位身份证中就是750605),

  3. 再往后的3个数是顺序码,这3个数的最后一个数,奇数为男,偶数为女。

  4. 最后1位是效验码(15位身份证号没有,就是为了防止身份证重号,而增设巧悄备运槐的)

总结:15位身份证号与18位身份证号的区别:

    区别一:年份少个“19”,

    区别二:最后少一个验证码。加“19”很容易,关键就在最后一个效验码的计算。

效验码是根据ISO 7604:1983.MOD11-2计算的,具体的计算规则看下图

至此可以写出身份证号升级公式了=REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW($1:$17),1)*2^(18-ROW($1:$17))),11)+1,1)

上边公式中没有直接引用“加权因子”,而是使用了“2^(18-ROW($1:$17))”,用这个去乘身份证的每一个数,孝毁再求余数,结果是一样的,自己可以验证下。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com