首頁>科技>

小夥伴們好啊,今天老祝和大家分享COUNTIF函式幾個高能的應用,一起領略COUNTIF函式的魅力。

特別說明一下,本期的內容難度係數高了一些,有小夥伴看到最後估計會騰雲駕霧了,哈哈。不過看不懂也沒關係,一口吃不成胖子,一天也減不成瘦子,先收藏一下備用,循序漸進慢慢學~~

一、不一樣的序號

如下圖所示,要在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(,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列對應位置上的資料。

PS:這個函式從最後開始往上看,比較容易理解一些哦。

好了,今天的分享就是這些吧,堅持看完的小夥伴,請閉目養神五分鐘,哈哈~~

1309

數學

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 劉強東年輕時的照片,和現在奶茶妹妹相比,網友感嘆:真讓人心酸