這是「按條件算OO」系列文的第三篇教學!今天會來聊聊 COUNTIF
、COUNTIFS
和 COUNTUNIQUEIFS
。
前些日子我們把「聚集函式御五家」都搜集在一起了,有 SUM
、AVERAGE
、COUNT
/ COUNTA
、MAX
和 MIN
。這些都是常見又好上手的新手函式,接下來我們要試著把它們和條件的 IF
跟 IFS
結合,讓你可以按照自己定義的條件來算總和、平均、數量、最大值與最小值喔!
COUNTIF
可以讓你按照定義的條件,計算儲存格的數量。
=COUNTIF(範圍, 條件)
官方文件給了一些範例:
"=文字"
、"=1"
; "文字"
、1
如果是直接指定文字的話,要記得在文字外加上一組雙引號,數字的話就不要(1
)。">1"
">=1"
"<1"
"<=1"
"<>1"
、"<>文字"
另外,如果你的條件有不確定的文字,可以搭配半形「?
」或是半形「*
」這兩個萬用字元來幫忙,做出模糊搜尋。記得:
?
」表示不確定的文字只有一個*
」表示不確定的文字有零個、或很多個舉例來說,來看看不確定文字只有一個的「?
」怎麼寫:
=MAXIFS(A:A, "蘋果?茶", B:B)
試算表會在 A 欄裡面搜尋符合「蘋果O茶」條件的文字後找最大值。
那麼「蘋果紅茶」、「蘋果青茶」、「蘋果綠茶」就會符合,但「蘋果茶」卻不會符合,「蘋果烏龍茶」、「蘋果普洱茶」也不符合。
再來看看不確定的文字有零個、或很多個的「*
」:
=MAXIFS(A:A, "蘋果*茶", B:B)
在 A 欄裡面搜尋符合「蘋果*茶」的文字。所以「蘋果紅茶」、「蘋果青茶」、「蘋果綠茶」會符合條件,「蘋果茶」也會,「蘋果烏龍茶」、「蘋果普洱茶」也會。
你也可以把「?
」跟「*
」放一起,做複雜的條件搜尋。舉例來說:
=MAXIFS(A:A, "?蘋果*茶", B:B)
在 A 欄裡面搜尋符合「O蘋果*茶」的文字,「青蘋果紅茶」、「青蘋果青茶」、「紅蘋果烏龍茶」就會符合條件,但「蘋果茶」、「蘋果烏龍茶」、「蘋果普洱茶」就會不符。
如果你想找的關鍵字恰好是「?
」或是「*
」的話,可以在前面加個波浪號「~
」:
=MAXIFS(A:A, "~?", B:B)
這樣就可以在 A 欄裡面尋找「?
」這個文字。
=MAXIFS(A:A, "~*", B:B)
同理,這樣就可以在 A 欄找「*
」這個文字。
不過,這類「按條件找 OO」的函式無法直接以函式結果作為條件使用,只能指定靜態的值、利用輔助欄或其他的替代方案來做,要小心一下。
COUNTIFS
也可以讓你按照定義的條件,計算儲存格的數量,跟剛剛的 COUNTIF
不同的地方是它可以處理多個條件。
=COUNTIFS(範圍 A, 條件 A, [範圍 B, 條件 B], [範圍 C, 條件 C] ...)
這邊範圍和條件的定義都和上方的 COUNTIF
相同,就只差在你可以寫多個條件在這。它的概念和 IFS
類似,範圍和條件要成雙成對地出現,小心別漏囉!
至於條件的寫法也和 COUNTIF
提到的一樣,這邊就不贅述了。
COUNTUNIQUEIFS
可以讓你按照定義的多個條件,計算不重複的儲存格的數量。
=COUNTUNIQUEIFS(範圍, 條件範圍 A, 條件 A, [條件範圍 B, 條件 B, ...])
最後一個看起來很長的 COUNTUNIQUEIFS
,是由 COUNTUNIQUE
跟 COUNTIFS
兩個功能加起來的函式,可以傳回範圍中的不重複、且符合多個條件的值的個數。條件的寫法也和剛剛一樣唷!
歡迎來這邊複製一份練習用的試算表,一起來練習!
我們來試試 COUNTIF
跟 COUNTIFS
怎麼操作吧。打開「COUNTIF / COUNTIFS」工作表:
左手邊你會看到一份成績單,A 欄是學生的姓名、B 到 F 欄是各科目、G 欄是總分,是 B 到 F 欄的總和。右手邊我準備了兩個題目,讓我們練習 COUNTIF
跟 COUNTIFS
。
首先,我們在 I2 用 COUNTIF
來算第一個題目:「總分高於 350 分的學生有幾位?」
高於 350 分就是「">350"
」,然後我們要條件判斷的範圍在 G2 到 G 欄,所以就會得到這串算式:
=COUNTIF(G2:G, ">350")
爽快按下 Enter,來看看結果:
就得到 7 位了。
我們來看看第二個題目:「總分超過 350 分、且國文超過 80 分的學生有幾位?」
這邊就有兩個條件:
那我們把這些條件拼湊起來,就可以在 I6 寫成這樣的算式:
=COUNTIFS(G2:G, ">350", B2:B, ">80")
(寫 COUNTIFS
時要注意範圍和條件要成雙成對地出現喔!)
輕鬆按下 Enter,看看結果:
就得到 5 位囉。
我們換到下一份工作表「COUNTUNIQUEIFS」:
這是一份某家具行在 2015 年的進貨紀錄。
我們來試著找「在 C 分店超過 5 件且不重複的家具品項有幾個」。
比如說,C 分店在這一年進了這些家具:
我們先看這以上 5 筆紀錄。
進貨超過 5 件的紀錄有 3 件,有:
而這之中不重複的品項有書櫃和扶手椅,所以就會得到 2。這就是 COUNTUNIQUEIFS
的運作方式了!
那麼,來看看算式要怎麼寫吧:
所以我們在 F2,把它們全部放在一起,就會得到:
=COUNTUNIQUEIFS(B2:B, C2:C, "=C", D2:D, ">5")
勇敢按下 Enter,來看看結果:
總共有 3 個不重複品項!
如果你喜歡這次的文章,歡迎你透過這些方法支持我:
想要看更多文章的話,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!