Excel生成18位公式及校验第18位
=INDEX({11;12;13;14;15;21;65;22;23;31;32;33;34;35;36;37;41;42;43;44;45;46;50;51;52;53;54;61;62;63;64},RAND()*31+1)&TEXT(RAND()*9999,"0000")&TEXT(24838+INT(RAND()*8036),"yyyymmdd")&TEXT(INT(RAND()*9999),"0000")
=INDEX({11;12;13;14;15;21;65;22;23;31;32;33;34;35;36;37;41;42;43;44;45;46;50;51;52;53;54;61;62;63;64},RAND()*31+1)&TEXT(RAND()*9999,"0000")&TEXT(24838+INT(RAND()*8036),"yyyymmdd")&TEXT(INT(RAND()*999),"000")&"X"
18位身份证格式:地址码(前六位)、生日期码(第七位到第十四位)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符、性别码第十七位,奇数分给男性,偶数分给女性。
=IF(A1="","",(IF(MID("10X98765432",MOD(SUMPRODUCT(MID(A1,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(A1,18,18),"正确","错误")))