Excel如何統(tǒng)計單元格中不重復(fù)的數(shù)字個數(shù)?
Excel技巧:Excel如何統(tǒng)計單元格中不重復(fù)的數(shù)字個數(shù)?
看看下面這個問題,一看就是一個高難度的問題,一個彩票號碼中不重復(fù)的個數(shù),B2為啥是5?A1單元格的彩票號9376343,除了3重復(fù)之外,9,7,6,4都不重復(fù),在加上3,一共是五個數(shù)字。
場景:彩票分析,重復(fù)項統(tǒng)計、數(shù)據(jù)分析等的辦公人士。
問題:Excel如何統(tǒng)計單元格中不重復(fù)的數(shù)字個數(shù)?
解答:利用count+find函數(shù)嵌套搞定
具體操作如下:直接在下圖C4單元格,輸入如下公式:=COUNT(FIND(ROW($A$1:$A$11)-1,B4))注意公式中A1:A11的范圍正好是1-11這個數(shù)值范圍。為什么呢?過會給大家解釋。
輸入該公式后,需要按住Ctrl+Shift,然后在敲擊“Enter回車鍵”即可。(Ctrl+Shift+enter是數(shù)組公式的錄入按鍵),敲擊完成后,注意公式會前后兩段加上大括號{}。(下圖箭頭處)大括號是說明該公式為數(shù)組公式。
輸入完畢后,雙擊C4單元格右下角的數(shù)據(jù)填充柄(上圖箭頭1所示),即可完成公式復(fù)制,算出每行B列彩票的不重復(fù)的數(shù)字個數(shù)。大家可以驗證一下這個數(shù)值是否正確。
我們需要搞清楚這個公式的用意,才能做到舉一反三。
=COUNT(FIND(ROW($A$1:$A$11)-1,B4))
上面這個公式用了三個函數(shù),先來看看ROW函數(shù)。ROW返回單元格所在的行數(shù),舉例如下,求B25單元格所在的行數(shù),那肯定是25。
那ROW($A$1:$A$11)是什么鬼?如果你輸入進去試試,你會發(fā)現(xiàn)行數(shù)為1.效果如下圖:
也就是說ROW正常情況下只取第一個單元格的行數(shù),那為什么要選擇區(qū)域呢?主要為了數(shù)組公式配合。那是數(shù)值公式,簡單的講就是按數(shù)據(jù)區(qū)域(面)來進行統(tǒng)計的方式。如果按照數(shù)組的思路,那么ROW(A1:A11),就能統(tǒng)計出A1到A11單元格每一行的行數(shù),即1,2,3,4,5,6,7,8,9,10,11。
那ROW($A$1:$A$11)-1,是什么就是每一行都減去1行,就變成0,1,2,3,4,5,6,7,8,9,10。其實這個函數(shù)主要為了產(chǎn)生1-10的一個數(shù)字。接下來學(xué)習(xí)一下FIND函數(shù)。FIND函數(shù)主要是取得某個數(shù)在某個單元格的開始位置。舉例如下:比如要找6這個數(shù)字在B4單元格中數(shù)值的位置,返回是4。表明6在9376343這個數(shù)字的從左往右數(shù)是第四個。
FIND(ROW($A$1:$A$11)-1,B4)那么把ROW嵌套到FIND里面,無非就是為了告訴FIND,要找0,1,2,3,4,5,6,7,8,9,10在單元格中的位置。如果這個數(shù)字有,就會返回一個位置數(shù)字。
=COUNT(FIND(ROW($A$1:$A$11)-1,B4))而在外面在套一個count函數(shù),就是對有位置的數(shù)字進行計數(shù)統(tǒng)計,從而算出不重復(fù)的數(shù)字的個數(shù)。牛閃閃用“公式求值功”能來追蹤一下,選中下圖C4單元格,點擊“公式—公式求值”,在新彈窗口中點擊“求值”,就可以進行逐步運算。
看,分別尋找0-10,在B4中的位置,分別返回位置數(shù)。
在繼續(xù)點求值,就會出下下圖效果,可以看到0,1,2在9376343中沒有,所以是#value!(錯誤值)。3在9376343中為第二位,所以返回是2,4在在9376343中為第六位,所以是6,以此類推算出能在9376343找到的數(shù)字的位數(shù)。
最后利用count函數(shù)的特性,只統(tǒng)計數(shù)字的個數(shù),自動忽略錯誤值,所以算出不重復(fù)的數(shù)字的個數(shù)。如下圖所示:
如果你理解的話,你會發(fā)現(xiàn)上面的公式寫得不是那么完美,其實只要判斷0-9的數(shù)字就可以了,干嘛要到10呢。所以把公式改改:把A1:A11改成A1:A10也是可以的,記住將光標(biāo)停在編輯欄,在按Ctrl+Shift+enter鍵進行公式錄入,才有效。
甚至可以直接改成數(shù)組的寫法,記得用大括號括起來,這樣直接敲回車enter就可以錄入公式。
總結(jié):這個案例是不是有點小難度,但如果你理解數(shù)組其實按區(qū)域面積進行統(tǒng)計后,你就會發(fā)現(xiàn)其實想象中那么難。通常簡單函數(shù)的“高端”用法就是數(shù)組思路解決問題。希望對大家有所幫助。
該技巧Excel2007版本及以上有效。