在單元格中,輸入身份證號碼,有15或18位兩種,由于輸入過多導致輸入錯誤,請問如何檢驗?
1、身份證位數(是否為15位或18位)
2、日期是否合法(主要是判斷月份是否在1-12之間,日期是否超出當月的天數等)
3、身份證號是否重復。
數據有效性公式如下:
=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
將字體設為紅色。
這樣設置后,位數和日期有問題不能輸入,重復的可以輸入,但會顯示為紅色字體,以便你檢查是這個單元格錯了,還是先輸入的那個單元格(紅色字體)錯了。
新聞熱點
疑難解答