电子表格中录入身份证号码时如何自动识别身份证号码对错

有公式吗??

试了几种方法,都不理想,结合几种前人的经验,我自己设计了一种间接的办法。

这是某个经验里的身份证验证公式。由于不会改成有效性验证公式(会的可以传授下经验。),就先在表格里随便一个单元格,我这里是K4。需要验证的单元格是H4。

具体做法:

第一步,H4单元格设置有效性,自定义公式为:=(K4="")      错误提示自行设置。

第二步,单元格K4,设置为常规,添加公式:

 =IF(H4="","",(IF(MID("10X98765432",MOD(SUMPRODUCT(MID(H4,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(H4,18,18),"","错误")))

完成,现在验证。

正确的身份证号码


错误的身份证号码

好了。目前看,没问题。发现问题,欢迎交流!

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-11-22
现在的身份证号码包括18位,从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
1、通过数据有效性可以做一些最基本的检查来。
点菜单“数据”——“有效性”,点“设置”标签,在“允许”中选择“自定义”,在后面“公式”中输入=and(len(a1)=18,countif(s:s,left(a1,6)))。点“出错警告”标签,点中“出错警告”,在“样式”中选“停止”,在“标题”中输入“你输入的身份证号有误!请重新输入!”。该公式只检查了输入的身份证位数是否为18位和地区编号是否正确。
2、对于要求严格的检查需要用VBA。除作以上检查处,可以检查出生日期是否符合规则,顺序码中的男女标识是否对应,校验码是否正确。本回答被网友采纳
第2个回答  推荐于2018-04-14
此事比较麻烦,不是一个公式就能解决的。它需要按公安部身份证编码规则,对第十八位验证码进行判定,要用到MOD()求余函数,先在另一张上做出对应表,然后进行判定。以前按公安部的做过,久了,都忘记了,不过,仅用一两个公式是不行的。本回答被提问者和网友采纳
第3个回答  2012-10-23
没有现成的公式,可以通过数据有效性判断位数
第4个回答  2018-04-13
我们遇到过同样的问题,excel中有上千条记录,需要确保每个身份证号码都是正确的,我们后来在网上找到了一个叫亿文工具箱的在线工具,很方便的解决了这个问题,你可以找一下试试