這篇文章為大家帶來了關於excel的相關知識,其中主要介紹了關於COUNTIF函數的相關問題,包括了怎麼輸入不一樣的序號、怎麼計算不重複的人數等等內容,下面一起來看一下,希望對大家有幫助。
相關學習推薦:excel教學
如下圖所示,要在A列按部門輸入序號,不同部門的序號從1開始。
在A2儲存格輸入公式,向下複製:
#=COUNTIF(B$2:B2,B2)
COUNTIF函數的統計區域是B$2:B2,第一個B2是行絕對引用,第二個B2,是相對引用。當公式向下複製時,就會變成B$2:B3、B$2:B4…一個不斷擴展的區域,從這個動態區域中統計B列部門的數量。
如下圖所示,要計算C列不重複的人數。
公式為:
=SUMPRODUCT(1/COUNTIF(A2:A14,A2:A14))
這是十分常用的統計不重複資料個數的公式,其中包含了一個簡單的數學邏輯:
任一個資料重複出現N次,N個1/N的和值為1。
公式中「COUNTIF(A2:A14,A2:A14)」部分是陣列計算,作用是分別統計A2:A14單元格區域中每個元素出現的次數。
運算過程相當於:
=COUNTIF(A2:A14,A2)
=COUNTIF(A2:A14,A3)
…
=COUNTIF(A2:A14,A14)
傳回記憶體陣列結果為:
{2;2;2;2;2;2;2;2;2 ;2;1;1;1}
再使用1除以回傳的記憶體數組,得到以下結果:
{0.5;0.5;0.5…;1;1;1}
用1除,即相當於計算COUNTIF函數所傳回記憶體數組的倒數。
為便於理解,把這一步的結果中的小數部分用分數代替,結果為:
{1/2;1/2;1/2;1/2;… …;1;1;1}
如果單元格的值在區域中是唯一值,這一步的結果是1。
如果重複出現兩次,這一步的結果就有兩個1/2。
如果單元格的值在區域中重複出現3次,結果就有3個1/3…
即每個元素對應的倒數合計起來結果仍是1。
最後用SUMPRODUCT函數求和,得到不重複的人員總數。
如下圖所示,要提取C列不重複的名單。
公式為:
=INDEX(C:C,1 MATCH(0,COUNTIF(E$1:E1,C$2:C$15),0))&””
注意是陣列公式,編輯完成後,要按Ctrl Shift 回車。
首先利用COUNTIF函數,在公式所在位置上方的儲存格區域中,分別找出C$2:C$15儲存格區域每個資料的個數。傳回一個由0和1構成的數組,如果C$2:C$15單元格區域的元素在公式上方出現過,結果就是1;如果沒出現,結果就是0。
和第一個例子裡一樣,COUNTIF函數的第一個參數是一個擴展的區域,公式的提取結果會被重複使用。
再利用MATCH函數,在COUNTIF函數傳回的陣列中找出第一個0的位置,也就是找出首次出現的資料所在的位置。
由於資料表的標題行佔了1行,將這個數字加1,就是需要擷取的不重複資料在資料表中列的位置。
再利用INDEX函數,以MATCH函數的計算結果作為索引值,擷取C列對應位置上的資料。
這個函數從最後開始往上看,比較容易理解一些哦。
相關學習推薦:excel教學
以上是Excel中COUNTIF函數的用法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!