1.程序中的限制:
长度限制可以采用len()函数控制
len(a)=15 or len(a)=18 &&a 就是你的身份z字段
出生日期是否正确则可以采用取字串函数验证:substr(a,n,m)
比如: a="500102199911221234" 这个是十八位的身份z号码
则substr(a,7,4)="1999"
substr(a,11,2)="11"
substr(a,13,2)="22"
意思就是substrate(a,n,m)中,n表示从第几个字符开始,m表示取多长的长度,你只要控制住它的值就可以了
比如:b=substr(a,7,4)="1999"
2.数据表的限制
普通的自由表没法限制
只有数据库表才可以设置字段级规则,限制它的输入方式
1、这里有一个Excel文件,里面录入了一组身份z号码(非真实人的身份z号)其中一个为错误号码,在没有认真核对以前很难发现。
2、新建一列校验结果列,双击单元格,粘贴以下公式代码
=IF(A3="","",(IF(MID("10X98765432",MOD(SUMPRODUCT(MID(A3,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(A3,18,18),"正确","错误")))
将公式中三处 A3 修改为你要校验的身份z号码所在单元格名,然后按回车键,公式自动完成校验。
3、鼠标放单元格右下角变十字时,按住下拉,完成所有行身份z号的校验,或双击本单元格右下角完成所有行校验。
4、认真核对显示校验错误的身份z号码,更正后校验列会变为“正确”。
5、身份z最后一位为校验位,但不能完全保证身份z号码的正确性,如果同时出现两位或多位号码错误,校验结果也可能显示“正确”,如图,
核对身份z号是否正确,只能通过位数设置函数公式来查看位数是否正确首选打开表格之后
其次在一个空白单元格输入等号if(COUNT(A1)=18,"正确","错误")
最后在A1列输入数据就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)