首先单元格格式需要是文本的,不是文本的话,数字超过15位,后面都是0 了
身份证是带校验的
建议楼主使用vba工作表change事件,对输入的身份证做校验
校验方式,网上有,可以参考的,然后就会提醒是否有误了
辅助方法有两个:
设置数字有效性,输入长度为18位;
设置是否符合校验码的公式(公式比较繁琐)。
不过这都不能保证不输错,比如虽然长度是18位,但输错了几个数字,恰巧校验码也正确,毕竟校验码只有10个。所以还是要靠输入时小心,输入后仔细检查。
身份证号码大都全部是数字,excel会将其作为数字储存,其后面几位会变成零,最简单的方法是在输入身份证号码前先输入英文状态下的 ' 符号,再输入身份证号码,就不会出错了。
当然,你也可以先将单元格格式设置为文本,再输入身份证号码
因为
excel对数据有最大值规定,你在输入的时候选择的是数字中的数值格式,18位的身份证号码的数值超过了规定的最大值,因此取整为0了。你可以将输入身份证的那一类设置成文本格式,具体可以这么操作:选择该列,右键》输入单元格式》数字》文本,然后你再输入身份证号码,就ok了。