每天清晨六点,准时与您相约
问题情境
我们目前的身份证号码都是18位,数字繁多,极易输错,比如漏掉一位,或是错掉一位而与其他人号码重复。为避免此类情况的发生,我们可以提前设置要输入身份证号码的列只能输入18位且不能重复。
方法实现
选中E2单元格,【数据】——【数据验证】(低版本叫“数据有效性”),在【数据验证】的【设置】选项卡中,设置允许自定义,公众框中输入:
=AND(COUNTIF(E:E,E2&"*")=1,LEN(E2)=18)
确定,然后将此数据有效性设置可以向下填充到要输入身份证号码的其他单元格,则E列就只能输入18位且不能重复。
还可以可以设置错误提醒:
过程和结果见以下动图:
公式解析
COUNTIF(E:E,E2&"*")=1:
还是由于Excel对同一串数字的有效辨识,仅限于15位,会把前15位相同的身份证号码等同成完全相同,所有在统计条件E2后面加上&"*",让EXCEL“明白”现在统计的是文本。
LEN(E2)=18:
E2单元格数值长度为18;
AND(COUNTIF(E:E,E2&"*")=1,LEN(E2)=18):