按條件算數量:COUNTIF / COUNTIFS / COUNTUNIQUEIFS

2024/02/18閱讀時間約 7 分鐘

這是「按條件算OO」系列文的第三篇教學!今天會來聊聊 COUNTIFCOUNTIFSCOUNTUNIQUEIFS

前些日子我們把「聚集函式御五家」都搜集在一起了,有 SUMAVERAGECOUNT / COUNTAMAXMIN。這些都是常見又好上手的新手函式,接下來我們要試著把它們和條件的 IFIFS 結合,讓你可以按照自己定義的條件來算總和、平均、數量、最大值與最小值喔!




COUNTIF

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

COUNTIFS 也可以讓你按照定義的條件,計算儲存格的數量,跟剛剛的 COUNTIF 不同的地方是它可以處理多個條件。

語法

=COUNTIFS(範圍 A, 條件 A, [範圍 B, 條件 B], [範圍 C, 條件 C] ...)

這邊範圍和條件的定義都和上方的 COUNTIF 相同,就只差在你可以寫多個條件在這。它的概念和 IFS 類似,範圍和條件要成雙成對地出現,小心別漏囉!

至於條件的寫法也和 COUNTIF 提到的一樣,這邊就不贅述了。


COUNTUNIQUEIFS

COUNTUNIQUEIFS 可以讓你按照定義的多個條件,計算不重複的儲存格的數量。

語法

=COUNTUNIQUEIFS(範圍, 條件範圍 A, 條件 A, [條件範圍 B, 條件 B, ...])
  • 範圍:計算不重複值的範圍
  • 條件範圍 A、條件 A:要判斷的第一組條件與其範圍。
  • 條件範圍 B、條件 B:要判斷的第二組條件與其範圍,選填。

最後一個看起來很長的 COUNTUNIQUEIFS,是由 COUNTUNIQUECOUNTIFS 兩個功能加起來的函式,可以傳回範圍中的不重複、且符合多個條件的值的個數。條件的寫法也和剛剛一樣唷!


練習時間

歡迎來這邊複製一份練習用的試算表,一起來練習!


COUNTIF / COUNTIFS

我們來試試 COUNTIFCOUNTIFS 怎麼操作吧。打開「COUNTIF / COUNTIFS」工作表:

raw-image

左手邊你會看到一份成績單,A 欄是學生的姓名、B 到 F 欄是各科目、G 欄是總分,是 B 到 F 欄的總和。右手邊我準備了兩個題目,讓我們練習 COUNTIFCOUNTIFS

首先,我們在 I2 用 COUNTIF 來算第一個題目:「總分高於 350 分的學生有幾位?

高於 350 分就是「">350"」,然後我們要條件判斷的範圍在 G2 到 G 欄,所以就會得到這串算式:

=COUNTIF(G2:G, ">350")

爽快按下 Enter,來看看結果:

raw-image

就得到 7 位了。


我們來看看第二個題目:「總分超過 350 分、且國文超過 80 分的學生有幾位?

這邊就有兩個條件:

  1. G 欄(總分)高於 350
  2. B 欄(國文)高於 80

那我們把這些條件拼湊起來,就可以在 I6 寫成這樣的算式:

=COUNTIFS(G2:G, ">350", B2:B, ">80")

(寫 COUNTIFS 時要注意範圍和條件要成雙成對地出現喔!)

輕鬆按下 Enter,看看結果:

raw-image

就得到 5 位囉。


COUNTUNIQUEIFS

我們換到下一份工作表「COUNTUNIQUEIFS」:

raw-image

這是一份某家具行在 2015 年的進貨紀錄。

我們來試著找「在 C 分店超過 5 件且不重複的家具品項有幾個」。

比如說,C 分店在這一年進了這些家具:

  • 5 月 19 日:4 張餐桌
  • 5 月 27 日:2 張咖啡桌
  • 7 月 1 日: 9 個書櫃
  • 7 月 15 日:7 張扶手椅
  • 7 月 19 日:7 張扶手椅

我們先看這以上 5 筆紀錄。

進貨超過 5 件的紀錄有 3 件,有:

  • 7 月 1 日: 9 個書櫃
  • 7 月 15 日: 7 張扶手椅
  • 7 月 19 日: 7 張扶手椅

而這之中不重複的品項有書櫃和扶手椅,所以就會得到 2。這就是 COUNTUNIQUEIFS 的運作方式了!

那麼,來看看算式要怎麼寫吧:

  • 計算不重複值的範圍:B2:B
  • 第一組條件與範圍:C2:C、且條件為 "=C"
  • 第二組條件與範圍:D2:D、且條件為 ">5"

所以我們在 F2,把它們全部放在一起,就會得到:

=COUNTUNIQUEIFS(B2:B, C2:C, "=C", D2:D, ">5")

勇敢按下 Enter,來看看結果:

raw-image

總共有 3 個不重複品項!




如果你喜歡這次的文章,歡迎你透過這些方法支持我:

  • 按下愛心、按下儲存
  • 留言告訴我你的想法
  • 加入喜特先生的官方沙龍,即時看到我發布的教學
  • 付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
  • 追蹤喜特先生的 Facebook
  • 這邊小額贊助我的創作!

想要看更多文章的話,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!

我是喜特先生,Mr. Sheet,我們下個教學見!



4.8K會員
139內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
發表第一個留言支持創作者!