将以下公式复制到用于显示校验结果的单元格中:
=IF(D2=,,(IF(MID(10X98765432,MOD(SUMPRODUCT(MID(D2,ROW(INDIRECT(1:17)),1)*2^(18-ROW(INDIRECT(1:17)))),11)+1,1)=MID(D2,18,1),正确,错误)))
随后,将公式中的D2替换为实际存放身份证号码的单元格引用。例如,若身份证号码位于F5单元格,则将所有D2更改为F5。此公式将自动判断身份证第18位校验码是否符合规范,并返回正确或错误的结果。
身份证号码的最后一位是校验码,它是根据前17位数字,按照国际标准ISO 7064:1983.MOD 11-2的算法计算得出的。该机制用于验证整个号码的逻辑一致性,防止输入错误或伪造号码。
当计算出的校验码为0至9时,直接以对应数字表示;但若计算结果为10,则不能使用两位数10作为尾号,否则身份证号码将变为19位,违反我国关于身份证18位的国家标准。此外,大多数计算机系统仅支持18位身份证格式,无法识别19位号码。
为解决这一问题,采用罗马数字X代表10。X在罗马数字中意为10,既能满足数值需求,又能保持号码长度为18位。因此,使用X作为校验码既符合技术规范,也确保了全国范围内身份信息系统的统一与兼容。

