-
1 # Excel從零到一
-
2 # excel函式教程
這個問題一般都出現在身份證號碼中
如下圖,要統計A列身份證號碼是否有重複
在B2單元格輸入公式:=IF(COUNTIF($A$2:$A$5,A2)>1,"重複","")
結果顯示A2單元格的身份證和A4單元格的身份證號碼是重複,也就是說這兩個單元格的身份證號碼是相同的
但是我們仔細觀察一下就能發現,A2和A4只是前15位數字相同,而後三位數字是不相同的。
那麼,為什麼用公式得出的結果是重複的呢?
其實原因在於excel中只能保留15位有效數字,如果你在單元格不設定文字格式的前提下輸入超過15位數字,那麼超過15位後的數字都會顯示0
但即便你在單元格中設定了文字格式,那也只能保證在單元格里面顯示出完整數字,這時候用COUNTIF函式運算時,則會將文字型數字當做數值來處理,所以統計時就會將身份證後三位當做0
那如何統計才能得出正確結果呢?
我們只需要在B2單元格中輸入公式:=IF(COUNTIF($A$2:$A$5,A2&"*")>1,"是","否")
在COUNTIF函式第二個引數後面加上“*”(萬用字元)將它強制轉為文字來統計即可。
-
3 # EXCEL乾貨君
這是軟體本身對數值精確度的一個判定問題,簡而言之就是一串數值,EXCEL他只能讀到第15位數字,之後的數字它自動忽略掉當0看待了。
一般身份證號是18位數字,從第15位開始,後面的三位自然是忽略掉了,所以題主的問題一般是出在身份證號重複值的判定上面。
比如下面這樣,前面15位一樣,後面3位一樣,但函式的判定公式:=IF(COUNTIF($A$1:$A$5,A1)>1,"重複",""),最終的結果顯示都是重複。
這裡雖然你的單元格格式轉換成了文字,但在COUNTIF這個函式中,還是將這串文字數字當成數值來處理。
解決的方法也是很簡單,就是將函式內部需要比較的單元格的數值強制轉為文字即可。我們只需要將公式寫成:=IF(COUNTIF($A$1:$A$5,A1&"*")>1,"重複","")即可完成正確的判斷了。
回覆列表
這個就牽扯到了excel對與數字的對比之精確到15位,而15位之後的都會忽略為0所以在使用條件格式設定格式的時候會將位數不同的資料統計為相同資料,對於這樣的資料我們可以使用countif函式來統計
首先我們輸入公式
=IF(COUNTIF($A$2:A7,A7&"*")>1,"重複","")
將a2單元箇中的值&上*號將它強制轉換為文字
在這裡結果為1的為不重複