按條件算總和:SUMIF / SUMIFS

2024/01/20閱讀時間約 8 分鐘

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

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




簡單來說,SUMIFSUMIFS 都是用條件來篩選值、再做加總的函式,你可以看成是 SUMIF / IFS 的結合。比如說我們有張清單,想要算出「蘋果紅茶」的總銷量(售出數量的加總):

raw-image

如果要手動算,要去 A 欄,找「蘋果紅茶」在哪、再去相對應的 C 欄位加總,有點太麻煩了吧!這時候就可以把 SUMIF 派上場,就會輕鬆得到結果囉:


raw-image

比起手動一個個把「蘋果紅茶」的銷量挑出來算,這樣是不是很方便呢?如果還不太確定 SUMIFIFS 是什麼,歡迎回來這邊複習:

這次練習的試算表在這邊,歡迎複製一份來練習喔!




SUMIF

SUMIF 可以讓你按照定義的條件,把某範圍裡的值加總起來。

語法

=SUMIF(搜尋條件範圍, 條件, [加總範圍])
  • 搜尋條件範圍:要做條件篩選的範圍。等等 SUMIF 就會用你指定的條件,在這個範圍搜尋符合條件的儲存格。
  • 條件:要篩選的條件。
  • 加總範圍:選填,如果你想要的加總範圍和第一個參數的範圍(搜尋條件範圍)不同,這邊就可以再指定一個你希望 SUMIF 加總的範圍在哪。


條件要怎麼寫?

官方文件給了一些範例:

  • 等於,用等號開頭或是直接指定:"=文字""=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」的函式無法直接以函式結果作為條件使用,只能指定靜態的值、利用輔助欄或其他的替代方案來做,要小心一下。


練習

我們來看看剛剛蘋果紅茶的例子:

raw-image

我們想得到「蘋果紅茶」的售出數量總共有多少個,也就是:

raw-image
= 10 + 90 + 1 + 20
= 121


如果要用 SUMIF 來寫的話,就是:

=SUMIF(A2:A14, "蘋果紅茶", B2:B14)
  • 搜尋條件範圍:A 欄。
  • 條件:搜尋「蘋果紅茶」。
  • 加總範圍:B 欄。

這樣就會得到一樣的結果「121」了:

raw-image


再來,假如我們想找「蘋果?茶」的售出總件數好了。這邊的「蘋果?茶」包含蘋果紅茶、蘋果青茶、蘋果奶茶等等各種「蘋果?茶」的茶類,但不含蘋果烏龍茶跟蘋果普洱茶,因為「烏龍」跟「普洱」有兩個字:

raw-image

這邊就可以下:

=SUMIF(A2:A14, "蘋果?茶", B2:B14)


範圍和加總範圍和剛剛一樣,只是條件改成了「蘋果?茶」。來看看結果:

raw-image


最後,來看看「蘋果*茶」的總銷量,也就是只要是蘋果調味的茶(蘋果綠茶、蘋果紅茶、蘋果烏龍茶...)都算進去:

raw-image

寫成 SUMIF 的話,就是:

=SUMIF(A2:A14, "蘋果*茶", B2:B14)


就會得到:

raw-image

就這麼簡單!




SUMIFS

SUMIFS 則是可以指定多個條件進行加總。來看看另外一張工作表:

raw-image

假設我想找「已售出的蘋果紅茶的總銷量」好了,這邊就有兩個條件:

  • C 欄「已售出」必須是「是」
  • A 欄「品項」必須是「蘋果紅茶」

SUMIFS 就可以利用這兩個條件,來幫你加總:

raw-image

OK,來看看怎麼做!


語法

=SUMIFS(加總範圍, 第一組條件範圍, 第一組條件, [第二組條件範圍], [第二組條件], ...)

語法跟剛剛的 SUMIF 有一點點不一樣,加總範圍要先寫:

  • 加總範圍:你想要加總的範圍。
  • 第一組條件範圍:要 SUMIFS 判斷的第一組條件範圍。
  • 第一組條件:要 SUMIFS 判斷的第一組條件。
  • 第二組條件範圍:選填,要 SUMIFS 判斷的第二組條件範圍。
  • 第二組條件:選填,要 SUMIFS 判斷的第二組條件。

當然你還可以往後寫第三組、第四組、第N組,看你的條件有多少。

條件的寫法和剛剛 SUMIF 的寫法一樣,文字要用雙引號、可以用大於、小於、等於,也可以用萬用字元(?*)。要記得條件範圍和條件必須要成雙成對地出現,不可以只寫其中一個喔!


練習

我們就來解決上面的問題,找到「已售出的蘋果紅茶的總銷量」。售出數量在 B 欄,然後我們要滿足的條件有:

  • C 欄「已售出」必須是「是」
  • A 欄「品項」必須是「蘋果紅茶」

把這些條件拼湊起來,寫在 SUMIFS 上,我們就會得到:

=SUMIFS(B2:B14, C2:C14, "是", A2:A14, "蘋果紅茶")
  • 加總範圍:B2B14
  • 第一組條件範圍:C2C14
  • 第一組條件:「是」,SUMIFS 會在 C2C14 尋找是「是」的儲存格。
  • 第二組條件範圍:A2A14
  • 第二組條件:「蘋果紅茶」,SUMIFS 會在 A2A14 尋找「蘋果紅茶」的儲存格。
Image

Image

就會得到剛剛的 31 了!


我出兩個題目給你試試看,可以想想看 SUMIFS 怎麼寫:

  • 未售出的蘋果綠茶的總銷量?
  • 未售出的各種蘋果茶的總銷量?


⋯⋯⋯⋯第一題答案:95。

=SUMIFS(B2:B14, C2:C14, "否", A2:A14, "蘋果綠茶")


⋯⋯⋯⋯第二題答案:217。

=SUMIFS(B2:B14, C2:C14, "否", A2:A14, "蘋果*茶")


SUMIFS 就是這麼簡單,試著用用看吧!




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

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

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

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



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