需用公式验证身份证是否符合国标GB 11643-1999:一、基础校验用AND判断18位、前17位数字、末位为数字或X;二、完整校验用加权求和模11比对校验码;三、分步法拆解为长度、截取、加权、求和、比对等辅助列。

如果您在Excel表格中需要验证身份证号码是否符合中国国家标准(GB 11643-1999),则需检查其位数、数字组成、校验码等关键要素。以下是多种可直接使用的公式方法:
一、基础位数与字符校验法
该方法首先判断身份证是否为18位,且前17位全为数字,第18位为数字或字母X(不区分大小写)。此为合法性前提条件。
1、在目标单元格输入以下公式:
=AND(LEN(A1)=18,ISNUMBER(--LEFT(A1,17)),OR(RIGHT(A1,1)="X",RIGHT(A1,1)="x",ISNUMBER(--RIGHT(A1,1))))
2、将公式向下填充至其他身份证所在行。
3、返回TRUE表示通过位数与字符基本校验,FALSE表示格式明显错误。
二、完整18位校验码验证法
该方法严格依据国标GB 11643-1999规定的加权求和模11算法,计算前17位加权和后比对第18位校验码。校验码对应关系为:0-10 → "10X98765432"。
1、在目标单元格输入以下长公式(请确保A1为身份证号所在单元格):
=IF(LEN(A1)18,"长度非18位",IF(ISERROR(FIND(UPPER(RIGHT(A1,1)),SUBSTITUTE("10X98765432",0,"10"),1))),"末位非法",IF(UPPER(RIGHT(A1,1))=MID("10X98765432",MOD(SUMPRODUCT(MID(A1,ROW(INDIRECT("1:17")),1)*{7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}),11)+1,1),"校验码正确","校验码错误")))
2、按Ctrl+Shift+Enter(如为Excel 365或2021可直接回车)确认公式。
3、结果返回“校验码正确”即通过全部国标校验,“校验码错误”或提示文字则表明不合法。
三、分步辅助列验证法
该方法将复杂校验拆解为多个辅助列,便于查错与教学演示,适用于初学者或需审计过程的场景。
1、B1单元格输入:=LEN(A1)
2、C1单元格输入:=IF(B1=18,--LEFT(A1,17),"")
3、D1单元格输入(加权系数数组):={7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}(需选中C1:C17后按Ctrl+Shift+Enter输入为数组)
4、E1单元格输入(加权和):=SUMPRODUCT(--MID(A1,ROW(INDIRECT("1:17")),1),D1:D17)
5、F1单元格输入(校验码比对):=MID("10X98765432",MOD(E1,11)+1,1)=UPPER(RIGHT(A1,1))









