1つの数式で2つの地域を合計する(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 には4つの地域が混ざっていますが、振り返り資料に必要なのは North と East を合わせた1つの数字です。この2地域の合計を North + East total のセル E2 に入力してください。

SUMIF は条件1つにつき1つの数字しか返しません。2つの地域を渡すだけでは半分で、外側の 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) は地域ごとに1つ、つまり2つの合計を値の配列として返します。外側の SUM がその配列を資料に載せられる1つの数値にまとめます。SUMIF を2つ足す書き方でも同じ答えになりますが、地域が6つになると6回書くことになります。同じ配列定数は SUMIFS でも使えるので、条件が増えたときに残すべき書き方です。

解き方のヒント

回答は E2 に入力します。送信時は 3 通りの入力で数式を再実行するので、数値を直接書くと必ず失敗します。数式はセルを参照してください。

  1. 回答セルは E2 です
  2. 地域は A2:A11、金額は C2:C11 にあります
  3. 検索条件は {"North","East"} のような配列定数にできます。SUMIF は地域ごとに1つずつ合計を返します
  4. 形:=SUM(SUMIF(?, {?,?}, ?)) または =SUMIF(?,?,?) + SUMIF(?,?,?)

模範解答

模範解答を表示(2 通り・まずは自分で試してみましょう)

解法1:配列定数の条件を SUM で包む

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

配列定数で SUMIF は条件を2つ受け取り、2回計算して2つの値の配列を返します。外側の SUM を外すと最初の地域の合計しか表示されません——この数式が壊れる一番の原因です。3つ目の地域を足すときは定数に値を1つ増やすだけで、SUM はそのまま使えます。

解法2:SUMIF を2つ足す

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

合計は同じで、書き下した形です。地域ごとにラベルの列があるときは読みやすいですが、地域の数だけ数式が増え、打ち間違いの機会も増えます。

関数ガイド

関連する練習問題

よくある質問

同じ列から複数の指定した値を合計するには?

=SUM(SUMIF(A2:A11, {"North","East"}, C2:C11) と書きます。配列定数に合計したい値を並べると SUMIF が値ごとに合計を返し、外側の SUM がそれらを足します。1列版の「このリストのどれか」です。

OR の数式が最初の地域しか返さないのはなぜですか?

配列定数を渡した SUMIF は単一の値ではなく配列を返すからです。外側に SUM がないと Excel は配列の1つ目だけを表示します。動いているように見えて、他の地域を黙って捨てている状態です。

配列定数は SUMIFS でも使えますか?

使えます。=SUM(SUMIFS(C2:C11, A2:A11, {"North","East"})) は同じ合計になり、あとで条件を1つ増やしても書き方を変えずに済みます。SUMIF ではできない使い方です。