按條件算最大值:MAXIFS

2024/02/25閱讀時間約 6 分鐘

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

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

快來這邊複製一份試算表,我們來練習看看吧!




MAXIFS

MAXIFS 可以讓你按照定義的條件,找範圍裡的最大值。雖然是 MAXIFS 看起來是 MAXIFS 的結合,但 MAXIFS 也當然可以處理單一條件。


語法

MAXIFS(資料欄, 條件核對欄_1, 條件_1, [條件核對欄_2, 條件_2,])
  • 範圍:要找最大值的範圍。
  • 第一組條件範圍:要 MAXIFS 判斷的第一組條件範圍。
  • 第一組條件:要 MAXIFS 判斷的第一組條件。
  • 第二組條件範圍:選填,要 MAXIFS 判斷的第二組條件範圍。
  • 第二組條件:選填,要 MAXIFS 判斷的第二組條件。

當然你還可以往後寫第三組、第四組、第 N 組,看你的條件有多少。另外,要注意如果 MAXIFS 裡沒有符合任合條件,結果會是 0。


條件要怎麼寫?

官方文件給了一些範例:

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




練習

我們有一份 2024 年的銷售資料表:

raw-image

A 欄有銷售的日期、B 欄有產品,C 欄有銷售量。

這邊準備了兩個題目:

  • 產品「牙膏」最高的銷售量是多少?
  • 2 月份牙膏最高的銷售量又是多少?

我們來試著用 MAXIFS 來解決這些問題。


產品「牙膏」最高的銷售量是多少?

看一下表格、釐清一下我們要怎麼寫吧!我們要找最大值的銷售量在 C 欄、產品在 B 欄,條件是「產品=牙膏」。

好!有了這些,我們就可以寫 MAXIFS 了。我們在 E3 這邊寫:

=MAXIFS(C2:C, B2:B, "=牙膏")
  • 找最大值的範圍C2:C
  • 條件範圍B2:B
  • 條件"=牙膏"
raw-image

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

raw-image

這樣就完成囉!




2 月份牙膏最高的銷售量又是多少?

再來我們來試著用 MAXIFS 解決第二個問題吧!我們等等在 E7MAXIFS 的算式。

我們要找最大值的範圍在 C 欄(C2:C),然後一樣釐清這邊的兩個條件:

  • A 欄日期是 2 月份。
  • B 欄產品是牙膏。

先來看看第一個條件怎麼解。因為函式本身的限制,我們不能直接用 MONTH 函式來取 A 欄的月份,所以得直接指定日期、並搭配大於等於、小於等於來達成「2024 年 2 月」的條件:

=MAXIFS(C2:C, A2:A, ">=2024-02-01", A2:A, "<=2024-02-29"

再來是第二個條件的「牙膏」,跟剛剛相同,所以在後面繼續接著寫一下即可:

=MAXIFS(C2:C, A2:A, ">=2024-02-01", A2:A, "<=2024-02-29", B2:B, "牙膏")


輕鬆按下 Enter,就會得到:

raw-image

這樣就完成囉!




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

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

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

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



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