本文作者:綠水零
本文審核:小爽
本文編輯:竺蘭
我們平時處理人事檔案、商戶記錄等數(shù)據(jù)時要核單查重,因為身份證號是唯一的,所以經(jīng)常會利用它進(jìn)行查重。
小伙伴們,平時都是怎樣處理身份證查重的問題呢?
讓我猜猜?一個個核對?
不會吧,不會吧,看了我們公眾號的讀者不會還有一個個去核對的吧?
如果是……那一定是我們的宣傳還不到位。
我們曾經(jīng)介紹過一個方便又好用的工具,就是【開始】選項卡-【條件格式】中的【突出顯示重復(fù)值】。
一秒高亮重復(fù)值,清晰明了~
但是,平時都很好用的條件格式查重,遇到身份證查重就翻車了。
像張三、李四、王五和趙六身份證后三位并不相同,卻被判定為重復(fù)。
為什么?
這是因為對于由數(shù)字組成的身份證,無論我們是否將單元格的格式設(shè)置為文本,條件格式在進(jìn)行重復(fù)判斷的時候,都會將其判定為數(shù)字。
而 Excel 中數(shù)字的有效位數(shù)是 15 位,所以 18 位的身份證,后面三位數(shù)就直接被判定為 0 了。
這就和單元格為數(shù)值的狀態(tài)下錄入身份證,后面三位總是會變成 0 一樣。
(末尾為 X 的身份證由于加入了字母,會被認(rèn)定為文本,因此不會出現(xiàn)上述情況。)
那有什么方法可以對身份證進(jìn)行查重呢?
公式法
? 使用 COUNTIF 函數(shù),統(tǒng)計身份證區(qū)域中與當(dāng)前身份證相同的個數(shù)。
語法規(guī)則如下:
=COUNTIF(計數(shù)區(qū)域,計數(shù)的條件)
新建一列輔助列 C 列,在 C2 輸入公式后向下填充。
=COUNTIF($B$2:$B$7,B2)
誒,不對啊,居然有 5 個人和張三身份證重復(fù)?
這是因為 COUNTIF 仍然把身份證當(dāng)作數(shù)字進(jìn)行統(tǒng)計,又把 15 位后面的數(shù)字給砍了。
我們需要再加點小處理。
? 使用通配符「*」,將數(shù)字格式的身份證轉(zhuǎn)為文本格式。
通配符「*」代表任意字符,可以是數(shù)字,也可以是文本。
任意數(shù)字或文本,使用連接符「&」加「*」后,都會將這個整體做作為文本格式進(jìn)行計算。
在原來的公式 B2 后增加【&'*'】,這時公式變成下面這樣。
公式:
=COUNTIF($B$2:$B$7,B2&'*')
現(xiàn)在只有真正重復(fù)的張三和張八顯示重復(fù)次數(shù)為 2,即重復(fù)。
其他人員重復(fù)次數(shù)為 1,即不重復(fù)。
那有沒有不寫公式的做法?
當(dāng)然有!方方格子可以不用寫公式就完成長數(shù)字的精確查重哦~