本教學由作者茂伯編寫,並由作者在 Windows 版 Microsoft 365 與 Excel 2021 實際操作驗證。
學會同時檢查分店與完成狀態,只平均兩個條件都符合的金額。你會把平均範圍放在第一個參數,再依序加入條件範圍與條件,理解條件之間是而且的關係,最後用符合的三筆金額驗證平均結果。
什麼時候會用到
訂單清單包含多家分店與不同進度時,計算某家店已完成訂單的平均金額,讓尚未完成的訂單不影響這次報告。
同一張數值表需要落在特定上下限內的平均時,把同一數值範圍指定兩次,各自提供下限及上限,避免只設一邊門檻。
適用版本
本課可在 Microsoft 365、Excel 2024、Excel 2021、Excel 2019 與 Excel 2016 使用,官方函數頁列有這些版本。
本課使用一般儲存格參照,輸入完成按 Enter 即可;不需額外增益集,也不用特殊陣列按鍵。
先準備範例資料
開啟空白活頁簿,依下表輸入對應儲存格。表中「(空白)」代表儲存格留空,請勿輸入括號內的文字。
| 列 | A | B | C |
|---|---|---|---|
| 1 | 分店 | 狀態 | 金額 |
| 2 | 北店 | 完成 | 100 |
| 3 | 北店 | 待處理 | 80 |
| 4 | 南店 | 完成 | 200 |
| 5 | 北店 | 完成 | 160 |
| 6 | 南店 | 待處理 | 120 |
| 7 | 北店 | 完成 | 220 |
| 8 | 北店 | 待處理 | 140 |
A1:C8放完整原始表。A欄是分店、B欄是狀態、C欄才是金額;三欄的同一列必須始終對應同一張訂單。
北店且完成的紀錄是第2、5、7列,金額為100、160、220。第4列雖完成,卻是南店,所以不能算進北店報告。
第3、8列雖是北店,狀態仍為待處理,主公式會排除。完成與待處理請用一致文字,不要另加空格或標點。
金額都是合成的純數字,不含貨幣符號。主公式所有範圍都從第2列到第8列,長度相同才能正確逐筆比較。
輸入這個公式
在 E2 輸入以下公式,按 Enter。
=AVERAGEIFS(C2:C8,A2:A8,"北店",B2:B8,"完成")
輸入位置:E2 正確結果:160
語法與引數
=AVERAGEIFS(average_range,criteria_range1,criteria1,[criteria_range2,criteria2],...)
引數就是交給函數處理的資料或設定。語法中的 [ ] 表示可以省略,輸入公式時不要打出方括號或省略號。
average_range 必要。真正要平均的範圍,本例C2:C8。請特別記住它放最前面,不是放在條件之後。
criteria_range1 必要。第一組條件要檢查的範圍,本例A2:A8;其大小、形狀必須與平均範圍一致。
criteria1 必要。第一組判斷條件,本例文字"北店";它只套用到緊接在前面的A2:A8。
[criteria_range2,criteria2],... 選填的其他條件組,每次必須成對加入範圍與條件。本例用B2:B8及"完成"作第二組;含第一組最多127組,全部成立才平均該列。
公式使用半形標點;部分地區設定以分號分隔引數,請依 Excel 的提示調整。
照著做並核對畫面
- 新增一張空白工作表,點選 A1,依資料表輸入到 C8。第一列是標題,第2至第8列才是七筆紀錄;數字欄只輸入數字,單位留在標題或說明中。
- 在公式列左側的名稱方塊輸入 A1:C8,按 Enter 檢查資料的位置。核對C3是80、C5是160,並確認每列分店與狀態沒有錯位。 若貼上後擠在同一格,先重新分欄輸入,確認每個欄位各占一欄。
- 點選 E1,輸入「北店已完成平均金額」。再點選 E2,確保結果放在原始資料右側,不覆蓋資料,也不把 E2 自己包含在計算範圍內。
- 切換半形英數輸入,在 E2 完整輸入 =AVERAGEIFS(C2:C8,A2:A8,"北店",B2:B8,"完成")。輸入完成先核對函數拼字、冒號與左右括號,再按 Enter;請勿把語法說明中的方括號輸入公式。
- 確認 E2 顯示 160,再重新點選 E2。公式列應顯示 =AVERAGEIFS(C2:C8,A2:A8,"北店",B2:B8,"完成"),儲存格則顯示答案;若答案不同,先核對資料與範圍,不要直接把答案數字覆寫進 E2。

圖 1 Excel 網頁版實際操作畫面。Windows 桌面版工具列外觀可能不同。
結果解讀
先圈出北店的第2、3、5、7、8列;這是第一道條件,尚不能直接平均五筆金額。
再檢查這五列的狀態,只剩第2、5、7列是完成,取得C2、C5、C7的100、160、220。
相加為480,共三筆符合全部條件的數字;480÷3=160。因此不是把北店所有訂單都平均。
AVERAGEIFS先放平均範圍,再放條件組;AVERAGEIF則是條件範圍、條件、平均範圍。轉寫時要重新排列,不能只替名稱加上S。本題先寫C2:C8,接著才檢查分店與狀態,這個順序要能用自己的話讀出來。
條件組之間代表「而且」。本例不會把南店完成的訂單與北店待處理的訂單混在一起,也不會對兩組各算一次平均後再平均。
沒有符合全部條件的可用數字會顯示#DIV/0!。若範圍長度不同,先修正起訖列,不要把錯誤解讀成平均金額為零。核對多條件時,可先在紙上列出第一組通過的列號,再劃掉第二組未通過的列號。兩次篩選留下的是同一批列,並非兩組平均答案。所有範圍即使大小相同,也要確認從同一筆紀錄起算;錯開一列可能不報錯,卻會把別張訂單的金額誤配到條件。
常見錯誤
- 得到170或其他不符結果
原因:只保留完成條件,忘了限制北店。 處理:檢查公式是否完整包含A2:A8,"北店"這一組;逐列排除南店。
- 出現#VALUE!
原因:其中一個範圍只到第7列,與C2:C8大小不同。 處理:把平均與條件範圍全部恢復為第2至第8列,並確認都是一欄。
- 出現#DIV/0!
原因:條件拼字不同、前後有空格,或兩個條件沒有共同符合的紀錄。 處理:先查看A2、B2是否精確為北店、完成,再檢查其餘符合列的金額。
自己試一次
先遮住解答,試著自己輸入公式並預測結果。每題都從上方的原始資料重新開始,結果放在題目指定的儲存格。
練習 1 南店已完成
先恢復本課原始資料。在E2計算南店且完成的平均金額。
參考公式:
=AVERAGEIFS(C2:C8,A2:A8,"南店",B2:B8,"完成")
正確結果:200
解答 1 只有第4列同時符合南店與完成。
解答 2 一筆金額200除以1,平均仍為200。
練習 2 完成訂單再設門檻
先恢復本課原始資料。在E2計算狀態完成且金額至少160的平均。
參考公式:
=AVERAGEIFS(C2:C8,B2:B8,"完成",C2:C8,">=160")
正確結果:約 193.333333;Excel 顯示的小數位數取決於儲存格格式。
解答 1 符合第4、5、7列,金額200、160、220。
解答 2 580除以3為193.333333…,不把第2列的100納入。
練習 3 訂單完成狀態更新
先恢復本課原始資料。只把B3改成完成,在E2重新計算北店完成平均。
參考公式:
=AVERAGEIFS(C2:C8,A2:A8,"北店",B2:B8,"完成")
正確結果:140
解答 1 北店完成變成第2、3、5、7列,多了80這一筆。
解答 2 100+80+160+220=560,560÷4=140。