手機如何做表格:點選檢視
用你的EXCEL、PPT、WORD等技能在業餘時間來兼職賺錢::點選入駐
相關學習推薦:
如下圖所示,要提取C列不重複的名單。
曾經的高能公式為:
=INDEX(C:C,1+MATCH(,COUNTIF(E$1:E1,C$2:C$15),))&""
登入後複製
注意是陣列公式,編輯完成後,要按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 2021,就可以一腳踢飛COUNTIF,下面這個公式更簡單:
=UNIQUE(C2:C14)
登入後複製
如下圖所示,要計算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函數求和,得出不重複的人員總數。
如果你使用的是Excel 2021,就可以一掌拍死COUNTIF,下面這個公式更簡單:
=COUNTA(UNIQUE(A2:A12))
登入後複製
先使用UNIQUE提取出A列的不重複名單,然後用COUNTA計算個數。
相關學習推薦:
以上就是Excel中COUNTIF的兩種高能用法更新的詳細內容,更多請關注TW511.COM其它相關文章!