首页 > 代码库 > 使用Excel的函数批量判断身份证号码是否有效

使用Excel的函数批量判断身份证号码是否有效

一、描述

现在有一个批量上传用户的需求,其中需要上传用户名、姓名和身份证号码,进行实名批量注册,如何能快速判断用户给的身份证号是否格式正确呢?其实无论是WPS的excel还是Microsoft office中的excel都提供了函数功能,我们只要在单元中调用一定的函数就可以判断该身份证是否符合要求,如果符合,就输出Right,错误就输出Wrong.


二、源代码

=IF(LOOKUP((LEFT(C2,1)*7+MID(C2,2,1)*9+MID(C2,3,1)*10+MID(C2,4,1)*5+MID(C2,5,1)*8+MID(C2,6,1)*4+MID(C2,7,1)*2+MID(C2,8,1)+MID(C2,9,1)*6+MID(C2,10,1)*3+MID(C2,11,1)*7+MID(C2,12,1)*9+MID(C2,13,1)*10+MID(C2,14,1)*5+MID(C2,15,1)*8+MID(C2,16,1)*4+MID(C2,17,1)*2)-ROUNDDOWN((LEFT(C2,1)*7+MID(C2,2,1)*9+MID(C2,3,1)*10+MID(C2,4,1)*5+MID(C2,5,1)*8+MID(C2,6,1)*4+MID(C2,7,1)*2+MID(C2,8,1)+MID(C2,9,1)*6+MID(C2,10,1)*3+MID(C2,11,1)*7+MID(C2,12,1)*9+MID(C2,13,1)*10+MID(C2,14,1)*5+MID(C2,15,1)*8+MID(C2,16,1)*4+MID(C2,17,1)*2)/11,0)*11,{0,1,2,3,4,5,6,7,8,9,10},{"1","0","x","9","8","7","6","5","4","3","2"})=RIGHT(C2,1),"Right","Wrong")

以上默认是身份证号码在C2单元格,我在D2单元格输入以上代码,如果的你身份证号码不在C2单元格,那就用将该代码放在记事本中,用查找和替换,将代码中的所有C2替换为你的第一个身份证所在单元格。


三、效果展示

1、我的第一个身份证号码在C2,我在D2单元格输入了以上代码如下图操作

技术分享

2、在D2单元格中输入代码后,左上角会出现一个执行的操作按钮,如图箭头方向的绿色打钩按钮,输出结果为Right

技术分享

3、然后点击D2单元格的右下角的绿色正方形(下拉填充柄的自动填充功能),往下拖就能批量将C列单元格中的身份证号进行判断,如下图红色箭头方向的按钮,点住小正方形往下拖

技术分享

四、总结

1、根据自己的身份证所在单元格将函数中的C1替换为自己的单元格序号

2、在自己想放置校验结果的单元格输入以上函数

3、利用下拉填充柄,自动填充


使用Excel的函数批量判断身份证号码是否有效