身份证号是由17位数字和1位检验码组成。其中校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的。假设身份证号在A1单元格,在其他单元格中输入=AND(LEN(A1)=18,MID(10X98765432,MOD(SUM(MID(A1,ROW($1:$17),1)*2^(18-ROW($1:$17))),11)+1,1)=RIGHT(A1))
上面公式是数组公式,输入完后CTRL+SHIFT+回车
为TRUE说身份证号符合国家规定的生成规则(但并不能保证身份证是真的),FALSE则说明不符合规则,是假的。
1、你可以设定几个判断的条件 譬如身份证号码的前六位的规律(区位性)和你输入的地址进行对应。还有就是对出生年月日的检查,如果身份证号码里面的第七位到第十三位和该学生的出生年月日一致,基本就可以判定正确了。
2、附件尝试用公式做了一个,由于用到了Iferror()函数,所以使用Excel2007以上版本格式。 如果需要与表中录入的性别等数据验证,设置相应的条件格式即可。 另外,行政区划代码使用了国家统计局最新公布的,一些地区的不能识别。
方法如下:
1、首先,打开excel表,选中要编辑的单元格;
2、点击菜单栏的公式——“插入函数”;
3、在弹出的函数对话框内输入“OR”,点击查找函数;
4、接下来设置函数参数,在Logical1输入框内输入LEN(B2)={15,18},表示长度为15或者18的数值结果为正确;
5、点击确定后,我们发现单元格B2的15位身份证号位数正确;
6、鼠标向下拖动单元格即可得到全部数据,检测出B6单元格的19位数长度不对,结果为FALSE。
首先,打开excel表,选中要编辑的单元格;点击菜单栏的公式——“插入函数”;在弹出的函数对话框内输入“OR”,点击查找函数;接下来设置函数参数,在Logical1输入框内输入LEN(B2)={15,18},表示长度为15或者18的数值结果为正确;点击确定后,我们发现单元格B2的15位身份证号位数正确;鼠标向下拖动单元格即可得到全部数据,检测出B6单元格的19位数长度不对,结果为FALSE。数据有效性公式如下:=NOT(OR(AND(LEN(A1)15,LEN(A1)18),COUNTIF(A:A,A1)1,ISERROR(1*TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),#-00-00)))) 。“身份证位数或者日期有误,或者身份证号有重复,请核准后重新输入!”这样设置好后有以上三错误就不能输入了。但还有个缺点,就是不知道和上面那个身份证号重复了。在数据有效性中只判断位数和日期问题,公式如下:
=NOT(OR(AND(LEN(A1)15,LEN(A1)18),ISERROR(1*TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),#-00-00))))
提示内容为:
“身份证位数或者日期有误,请核准后重新输入!”
然后在A列用条件格式显示重复的身份证号码,条件格式的条件设为:
公式=COUNTIF(A:A,A1)>1