昨天小編寫了一篇文章《Excel中如何編寫函數(shù)找出重復的數(shù)據(jù)?》,得到了網(wǎng)友們不錯的反響。 之前介紹過COUNTIF函數(shù),我們再來簡單回顧一下,它的基本格式是:countif(,),逗號左側為篩選范圍,右邊是篩選條件(如果篩選條件包含=、>、<> 但是有網(wǎng)友提到,在Excel中,countif函數(shù)會將已經(jīng)改寫成文本格式的數(shù)值再轉化為數(shù)字形式進行識別。 那么就有這樣一個問題,以有18位的身份證號舉例來說,由于Excel能夠識別的數(shù)字有效位數(shù)是15位,那么只要前面15位數(shù)字相同,即使后面三個數(shù)字不同,countif函數(shù)也會認為出現(xiàn)了重復數(shù)據(jù)。 在K列中,我輸入了“=COUNTIF(I:I,I1)>1”這一函數(shù),很明顯地看出左邊的數(shù)字不相同,但是函數(shù)判斷出的邏輯結果卻是“TRUE”,意思就是說左邊的數(shù)字在行列中出現(xiàn)了重復,而J列我輸入了一個相似的函數(shù),卻得到了正確的結果。 那么,我寫了一個什么樣的函數(shù)呢?
細心地朋友們可能會發(fā)現(xiàn)兩個函數(shù)之間小小的不同,后面的函數(shù)多了一個【&“*”】(這里為了方便大家看清楚,我暫且不用引號引出而是用中括號將它括起來)。 在【&“*”】中的“*”代表任意多個字符,【I1&'*'】公式的意思是:“以I1開頭的所有文本或字符”。 這樣,countif就會直接對文本格式的數(shù)字進行識別,而不受位數(shù)的限制了! 另外如果想看到重復的次數(shù)的話只需要將函數(shù)的判斷部分去掉,變?yōu)椤?COUNTIF(I:I,I1&'*')”,這樣就會出現(xiàn)文本出現(xiàn)過的次數(shù),今天我沒有使用昨天的“=COUNTIF($A$2:A2,A2)”這個函數(shù),如過沒看過上一篇推文的讀者也沒有關系,在這里我再簡單講一下。 “$A$2”和“A2”都是對單元格地址的引用,其中“$A$2”是絕對引用,“A2”是相對引用,隨著公式單元格的向下拖動,“$A$2”一直不變,而“A2”則會變?yōu)锳3、A4、A5、A6…… 而這篇文章中我用到的“I:I”則是對整個I列計數(shù)這個數(shù)據(jù)出現(xiàn)了幾次,而用絕對引用于相對引用結合的話,則能更清楚的看到他是第幾次出現(xiàn)。 這樣編寫了函數(shù)之后,我們就能夠通過篩選功能對數(shù)據(jù)進行簡單處理了! |
|