← Excel 公式課程

FIELD NOTES / Excel 公式教學

MAXIFS 找出符合條件的最大值

Excel 公式教學發布:作者:茂伯預估 5 分鐘閱讀

學會先限定同一列的區域與類別,再從符合的數值中找出最大值。

本文目錄

本教學由作者茂伯編寫,並由作者在 Windows 版 Microsoft 365 與 Excel 2021 實際操作驗證。

學會先限定同一列的區域與類別,再從符合的數值中找出最大值。你會區分篩選條件與數值範圍,能逐列說明哪些資料留下、哪些排除,並理解找不到符合項目時的零不能直接當成實際業績紀錄。

什麼時候會用到

  • 多個區域共用一份業績表時,只比較北區指定類別,避免其他區域或其他類別的數字混入結果,讓報表的比較對象一致。

  • 資料需要同時符合類別與數值門檻時,先把條件列清楚,再尋找其中最大的數字;取得結果後仍保留原始表以便追查是哪一筆。

適用版本

  • 官方列明本函數適用於Microsoft 365,以及Excel 2019、2021、2024的Windows或Mac版本。

  • Excel 2016永久授權版不支援本函數;本課在支援版本直接按Enter計算,不需特殊陣列輸入。

先準備範例資料

開啟空白活頁簿,依下表輸入對應儲存格。表中「(空白)」代表儲存格留空,請勿輸入括號內的文字。

列 A B C
1 區域 通路 業績
2 北區 門市 120
3 北區 網路 200
4 南區 門市 300
5 北區 門市 180
6 南區 網路 250
7 北區 門市 150
8 北區 網路 220
  • A1:C8是原始資料。A欄區域、B欄通路、C欄業績同一列配成一筆紀錄;C欄輸入純數字,不把單位一起打入。

  • 第2、5、7列同時是北區及門市,對應C欄為120、180、150。主結果只在這三個數字中比較,不是先找全表最大值。

  • 第3與第8列是北區,但類別是網路;第4與第6列則屬南區。它們都不能因數字更突出就被納入主結果。

  • 每個參照都從第2列到第8列,各有七格;除了長度相同,也要保持相同紀錄位置,不能只移動某一欄後仍期待原本配對成立。

輸入這個公式

在 E2 輸入以下公式,按 Enter。

=MAXIFS(C2:C8,A2:A8,"北區",B2:B8,"門市")

輸入位置:E2  正確結果:180

語法與引數

=MAXIFS(max_range,criteria_range1,criteria1,[criteria_range2,criteria2],...)

引數就是交給函數處理的資料或設定。語法中的 [ ] 表示可以省略,輸入公式時不要打出方括號或省略號。

max_range 必要。要找最大值的數字範圍,本例C2:C8,放在第一個參數。

criteria_range1 必要。第一個要檢查條件的範圍,本例A2:A8。各範圍的大小與形狀都要與數值範圍相同。

criteria1 必要。第一個條件,本例是"北區"。文字及含比較符號的條件要包半形雙引號,數字或條件儲存格也可使用。

[criteria_range2,criteria2],... 選填其他條件組。本例加入B2:B8,"門市";每組範圍後緊跟它的條件。最多再加126組,合計127組,所有條件須同時成立。

公式使用半形標點;部分地區設定以分號分隔引數,請依 Excel 的提示調整。

照著做並核對畫面

  1. 新增一張空白工作表,點選 A1,依資料表輸入到 C8。第一列是標題,第2至第8列才是七筆紀錄;數字欄只輸入數字,單位留在標題或說明中。
  2. 在公式列左側的名稱方塊輸入 A1:C8,按 Enter 檢查資料的位置。確認C2、C5、C7依序為120、180、150,它們是主題目的候選數字。 若貼上後擠在同一格,先重新分欄輸入,確認每個欄位各占一欄。
  3. 點選 E1,輸入「北區門市最高業績」。再點選 E2,確保結果放在原始資料右側,不覆蓋資料,也不把 E2 自己包含在計算範圍內。
  4. 切換半形英數輸入,在 E2 完整輸入 =MAXIFS(C2:C8,A2:A8,"北區",B2:B8,"門市")。輸入完成先核對函數拼字、冒號與左右括號,再按 Enter;請勿把語法說明中的方括號輸入公式。
  5. 確認 E2 顯示 180,再重新點選 E2。公式列應顯示 =MAXIFS(C2:C8,A2:A8,"北區",B2:B8,"門市"),儲存格則顯示答案;若答案不同,先核對資料與範圍,不要直接把答案數字覆寫進 E2。
MAXIFS 範例資料及公式結果的 Excel 網頁版實際操作畫面

圖 1 Excel 網頁版實際操作畫面。Windows 桌面版工具列外觀可能不同。

結果解讀

  1. 先看A欄,北區在第2、3、5、7、8列。南區兩列先排除,不拿它們的業績參加比較。

  2. 再看這五列B欄,只保留門市的第2、5、7列,取得120、180、150。

  3. 比較這三個數字,180大於120與150,所以E2回傳180。結果是數值,不會自動回傳所在列或名稱。

  • 多組條件之間是「而且」,不是任何一組符合都算。同一個範圍也能重複指定,分別設定上下限,但每組仍須寫出範圍與條件。

  • 完全沒有符合條件的紀錄時,函數會回傳0。看到0先核對條件是否找得到資料,再判斷業務上是否真的存在零值;不可直接宣稱有一筆零紀錄。

  • 同樣大小的範圍會依位置配對,不會按列標題或名稱自動找回正確紀錄。本課刻意統一第2至第8列,讓每組條件都對準同一筆。

常見錯誤

  1. 顯示#VALUE!

原因:數值範圍與某個條件範圍長度或形狀不同。 處理:重新點E2,在公式列把所有範圍核對為同一欄、第2列到第8列。

  1. 顯示0,與預期不同

原因:條件可能不存在,例如區域名稱打錯,導致沒有任何符合紀錄。 處理:核對A欄北區與B欄門市,確認第2、5、7列都符合;不要先把0當成真實業績。

  1. 顯示#NAME?或名稱前有_xlfn.

原因:可能函數名稱拼錯,或目前Excel版本不支援。 處理:檢查拼字並確認使用Microsoft 365或Excel 2019以上;舊版需在支援的版本開啟。

自己試一次

先遮住解答,試著自己輸入公式並預測結果。每題都從上方的原始資料重新開始,結果放在題目指定的儲存格。

練習 1 改看南區

先恢復本課原始資料。在E2求南區且門市的最大業績。

參考公式:

=MAXIFS(C2:C8,A2:A8,"南區",B2:B8,"門市")

正確結果:300

解答 1 第4列同時符合南區與門市,其餘列都排除。

解答 2 只有一個候選數值,因此答案是300,仍是合法結果。

練習 2 更新符合列

先恢復本課原始資料。只把C7改成240,在E2重新計算主題目。

參考公式:

=MAXIFS(C2:C8,A2:A8,"北區",B2:B8,"門市")

正確結果:240

解答 1 條件欄沒有改變,仍留下第2、5、7列,但第7列數值更新為240。

解答 2 重新比較後,240成為這三筆的最大值。

練習 3 找不到的區域

先恢復本課原始資料。在E2尋找東區且門市的最大業績,資料不修改。

參考公式:

=MAXIFS(C2:C8,A2:A8,"東區",B2:B8,"門市")

正確結果:0

解答 1 A2:A8沒有東區,所以沒有任何一列可通過全部條件。

解答 2 結果為0,意思是此次沒有符合紀錄,不能據此新增一筆零值。

官方參考

Microsoft Support:MAXIFS 函數