Excel如何实现在证件类型为身份证时验证位数和不重复

发布网友 发布时间:2022-04-22 08:18

我来回答

1个回答

热心网友 时间:2023-06-27 22:05

第一,数据有效性局限性很大,类似于你这样的公式根本就实现不了;第二,你的身份证号码验证公式也是错误的,你试一试前15位相同的18位身份证号码,统计计算结果是一样的。

建议:

旁边搞一个辅助列,比如M列,输入公式:

=IF(E1="身份证",IF(LEN(F1)=18,IF(COUNTIF(E:E,F1&"*")>1,"重号了",""),""),IF(E1=0,"","号码位数错"))

复制并下拉,即可在输入过程中检验身份证了

如果更厉害一点的,就是身份证直接验证准确性,公式为:

=IF(E1="身份证",IF(LEN(F1)=18,IF(COUNTIF(E:E,F1&"*")>1,"重号了",IF(RIGHT(F1,1)=MID("10X98765432",MOD(SUMPRODUCT(MID(F1,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),"","号码有误")),""),IF(E1=0,"","号码位数错"))

供学习参考

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com