发布网友 发布时间:2022-04-22 23:05
共5个回答
热心网友 时间:2022-05-02 15:36
试了几种方法,都不理想,结合几种前人的经验,我自己设计了一种间接的办法。
这是某个经验里的身份证验证公式。由于不会改成有效性验证公式(会的可以传授下经验。),就先在表格里随便一个单元格,我这里是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),"","错误")))
完成,现在验证。
正确的身份证号码
错误的身份证号码
好了。目前看,没问题。发现问题,欢迎交流!
热心网友 时间:2022-05-02 16:54
现在的身份证号码包括18位,从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
1、通过数据有效性可以做一些最基本的检查来。
点菜单“数据”——“有效性”,点“设置”标签,在“允许”中选择“自定义”,在后面“公式”中输入=and(len(a1)=18,countif(s:s,left(a1,6)))。点“出错警告”标签,点中“出错警告”,在“样式”中选“停止”,在“标题”中输入“你输入的身份证号有误!请重新输入!”。该公式只检查了输入的身份证位数是否为18位和地区编号是否正确。
2、对于要求严格的检查需要用VBA。除作以上检查处,可以检查出生日期是否符合规则,顺序码中的男女标识是否对应,校验码是否正确。
热心网友 时间:2022-05-02 18:29
此事比较麻烦,不是一个公式就能解决的。它需要按*身份证编码规则,对第十八位验证码进行判定,要用到MOD()求余函数,先在另一张上做出对应表,然后进行判定。以前按*的做过,久了,都忘记了,不过,仅用一两个公式是不行的。
热心网友 时间:2022-05-02 20:20
没有现成的公式,可以通过数据有效性判断位数
热心网友 时间:2022-05-02 22:28
我们遇到过同样的问题,excel中有上千条记录,需要确保每个身份证号码都是正确的,我们后来在网上找到了一个叫亿文工具箱的在线工具,很方便的解决了这个问题,你可以找一下试试