全部練習題 / 數學

一條公式算出兩個區域(SUMIF 的 OR 寫法)

中等 數學
題目說明
提示 0/4
官方解法 2
–
測試案例
1
2
3
重設
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在載入互動式試算表...
正在準備儲存格資料與公式求解引擎
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。

題目

題目說明

訂單記錄 A2:C11 混了四個區域,而覆盤簡報要的是 North 與 East 合計——一個數字,不是兩個。請把這兩個區域的合計放進 North + East total 儲存格 E2。

SUMIF 每給一個條件只回一個數字,所以丟兩個區域給它時只做了一半——外面那層 SUM 才是把結果加回來的地方。

題目資料

用表格檢視整份資料(可選取、可複製)
這道題的資料表
ABCE
1RegionOrderSalesNorth + East total
2NorthORD-20011250
3SouthORD-2002800
4NorthORD-2003960
5EastORD-2004600
6WestORD-2005700
7NorthORD-2006330
8EastORD-2007480
9SouthORD-20081200
10WestORD-2009250
11EastORD-201090

觀念解析

條件可以是陣列常數:SUMIF(A2:A11, {"North","East"}, C2:C11) 會回傳「兩個」合計(每個區域一個),形成一個值陣列。外層的 SUM 把這個陣列收成報表要的單一數字。改寫成兩個 SUMIF 相加也得到同樣答案——兩個區域還行,六個區域就很痛苦。同樣的陣列常數也能放進 SUMIFS,等之後多一個條件時,這才是該留下的習慣。

解題思路

答案寫在 E2。送出時我們會換 3 組輸入重跑你的公式,寫死數字一定過不了 —— 公式必須跟著儲存格走。

  1. 目標儲存格是 E2
  2. 區域在 A2:A11,金額在 C2:C11
  3. 條件可以寫成陣列常數 {"North","East"},SUMIF 就會一次回傳每個區域各一個合計
  4. 形狀:=SUM(SUMIF(?, {?,?}, ?)) 或 =SUMIF(?,?,?) + SUMIF(?,?,?)

官方解法

展開 2 種解法(建議先自己試一次)

解法 1:陣列常數條件 + 外層 SUM

=SUM(SUMIF(A2:A11, {"North","East"}, C2:C11))

陣列常數讓 SUMIF 拿到兩個條件,於是它算兩次、回傳兩個數字的陣列。少了外層 SUM,你只會看到第一個區域的合計——這是這條公式最常見的壞法。要再加第三個區域,只要往常數裡多寫一個值,SUM 不必改。

解法 2:兩個 SUMIF 相加

=SUMIF(A2:A11,"North",C2:C11)+SUMIF(A2:A11,"East",C2:C11)

總和一樣,只是攤開來寫。每個區域都有自己的標籤欄時比較好讀,但寫法會線性增長:六個區域就是六次 SUMIF,也多六個打錯字的機會。

函數指南

相關練習

常見問題

同一欄裡要多加幾個指定值,該怎麼寫?

=SUM(SUMIF(A2:A11, {"North","East"}, C2:C11):陣列常數放你想加總的值,SUMIF 每個值各回一個合計,最外層 SUM 再加起來。這是單欄版本的「在這份名單裡」。

為什麼我的 OR 公式只回傳第一個區域?

因為帶陣列常數的 SUMIF 回傳的是陣列,不是單一值。外面沒有 SUM 時,Excel 只顯示陣列的第一項——公式看起來能跑,卻默默把其他區域丟掉了。

陣列常數也能用在 SUMIFS 嗎?

可以。=SUM(SUMIFS(C2:C11, A2:A11, {"North","East"})) 得到同樣的合計,而且之後再加第二個條件也不必改寫法——這是 SUMIF 做不到的。