批量校验身份证号码是否正确excel代码
假设在Excel中,A2单元格里面是身份证号码,在右边的单元格填写下面的代码
校验身份证号码是否正确
方法1
=IF(MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW($1:$17),1)*2^(18-ROW($1:$17))),11)+1,1)=RIGHT(A2),"正确","错误")
方法2
=IF(LEN(A2)=18,RIGHT(A2,1)=MID("10X98765432",1+MOD(SUMPRODUCT(MID(LEFT(A2,17),ROW($1:$17),1)*MOD(2^(18-ROW($1:$17)),11)),11),1),FALSE)
计算出最后一位正确的校验码
=MID("10X98765432",MOD(SUMPRODUCT(MID(A2,ROW($1:$17),1)*2^(18-ROW($1:$17))),11)+1,1)