身份证号码校验也可以利用excel函数公式完成

09-01 生活常识 投稿:管理员
身份证号码校验也可以利用excel函数公式完成
身份证号码校验也可以利用excel函数公式完成,无需vba编程。
一、18位身份证号码校验函数公式:

=IF(LEN(B2)=18,IF(MId("10x98765432",MOD(SUM(MId(LEFt(B2,17),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHt(B2,1),"通过","校验未通过"),"") 

二、15位身份证号码升18位函数公式:

=IF(LEN(B2)=15,REPLACE(B2,7,,19) MId("10x98765432",MOD(SUM(MId(REPLACE(B2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),"")

三、同时完成15位升位或18位校验的函数公式:

=IF(LEN(B2)=18,IF(MId("10x98765432",MOD(SUM(MId(LEFt(B2,17),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=RIGHt(B2,1),"通过","校验未通过"),IF(LEN(B2)=15,REPLACE(B2,7,,19) MId("10x98765432",MOD(SUM(MId(REPLACE(B2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),""))

以上公式中B2为身份证号码所在单元格。录入公式后按 ctrl + shift + 回车结束公式,使公式处于{}括号之内方能计算正确,但不能直接在公式两边录入{} 。

声明:伯乐人生活网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系ttnweb@126.com