Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

身份证号码校验公式

时 间:2011-09-05 11:47:36
作 者:雄鹰   ID:20765  城市:合肥
摘 要:因身份证号码位数较多,在输入的过程中不可避免的会产生输入错误,而在办理保险等重要文件时,号码的错误会导致保险等不成立,造成不必要的损失。本公式可以自动校核输入的错误,减少不必要的错误。
正 文:

=IF(LEN(A1)=0,"空",IF(LEN(A1)=15,"老号",IF(LEN(A1)<>18,"位数不对",IF(CHOOSE(MOD(SUM(MID(A1,1,1)*7+MID(A1,2,1)*9+MID(A1,3,1)*10+MID(A1,4,1)*5+MID(A1,5,1)*8+MID(A1,6,1)*4+MID(A1,7,1)*2+MID(A1,8,1)*1+MID(A1,9,1)*6+MID(A1,10,1)*3+MID(A1,11,1)*7+MID(A1,12,1)*9+MID(A1,13,1)*10+MID(A1,14,1)*5+MID(A1,15,1)*8+MID(A1,16,1)*4+MID(A1,17,1)*2),11)+1,1,0,"X",9,8,7,6,5,4,3,2)= IF(ISNUMBER(RIGHT(A1,1)*1),RIGHT(A1,1)*1,"X"),"正确","错误"))))

 

=IF((A1="")+(LEN(A1)=15),IF(A1="","空号","老号"),IF(LEN(A1)=18,IF(RIGHT(A1)=MID("10X98765432",MOD(SUMPRODUCT(MID(A1,ROW($1:$17),1)*MOD(2^(18-ROW($1:$17)),11)),11)+1,1),"正确","错误"),"位数不对"))

 



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助