SUMIFSで複数条件の合計を出す方法!2条件・3条件・比較条件・ワイルドカードまで解説!

SUMIFSで複数条件の合計を出す方法!2条件・3条件・比較条件・ワイルドカードまで解説!
Excelで複数条件の合計を出したいときはないでしょうか。

けど、そんな中で悩むことは、

・条件が2つ以上になると数式の書き方がわからない
・SUMIF関数では条件を1つしか指定できない
・「以上」「以下」やワイルドカードの指定方法がわからない

ですよね。

今回はそんなお悩みを解決する

・SUMIFSで複数条件の合計を出す方法(SUMIFS関数)

についてまとめます!

完成イメージ

売上明細から「支店」と「商品」のような複数の条件をすべて満たす行だけを合計したいとき、条件を1つしか指定できないSUMIF関数では対応できません。
今回は
・複数条件をすべて満たす行だけを合計する方法(=SUMIFS(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …))
をゴールにします。
条件が増えても、引数を続けて書くだけで合計できるようになります。

なお、毎回数式を組み立てるのが手間な方向けにVBAで条件を指定して一括集計する方法と、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!
完成イメージ
上の画像が完成形です。2条件・3条件・比較条件・ワイルドカードの4パターンの合計が、SUMIFSで一発で求められています。

STEP1. 元データを用意する

まずは集計したい売上明細を用意します。
1行目が見出しで、A列が支店、B列が商品、C列が月、D列が金額です。
2行目以降に12件のデータが入っています。
金額はすでに計算済みの数値なので、そのまま合計に使えます。
下の表をコピーして貼り付ければ、同じデータをすぐに用意できます。
サンプルの売上明細

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。

支店 商品 月 金額
東京 ノートPC 4月 128000
大阪 モニター 4月 32000
東京 キーボード 4月 48000
名古屋 ノートPC 5月 128000
東京 ノートPC 5月 256000
大阪 キーボード 5月 24000
東京 モニター 6月 64000
福岡 プリンタ 5月 29800
東京 ノートPC 6月 128000
名古屋 キーボード 6月 36000
大阪 ノートPC 6月 128000
東京 プリンタ 4月 59600

※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。

STEP2. 集計エリアを用意する

合計を出す場所を、データの下に用意します。
今回は「2条件」「3条件」「比較条件」「ワイルドカード」の4パターンを並べて確認します。
あわせてSUMIF関数との違いを見る行も用意しておきます。
15行目が見出し、16行目以降が各パターンの条件欄です。
条件はB列・C列・D列に入力し、E列の合計金額にSUMIFSの数式を入れていきます。
集計エリアの準備

STEP3. 2つの条件で合計する

まずは「支店=東京」かつ「商品=ノートPC」の合計を出します。
合計を入れるセルはE16です。
数式バーに次のように入力します。

=SUMIFS($D$2:$D$13, $A$2:$A$13, B16, $B$2:$B$13, C16)
POINT

SUMIFSは合計したい範囲を最初に書きます。
そのあとに「条件範囲, 条件」のペアを、条件の数だけ続けます。

1つめの条件が「支店=東京」(A列とB16)、2つめが「商品=ノートPC」(B列とC16)です。
条件の値は直接書かずセルを参照しておくと、あとから条件を変えるだけで使い回せます。
2条件のSUMIFSの数式
E16セルに合計が表示されました。
「東京」かつ「ノートPC」の3件が合計され、512,000になりました。
条件に合わない行は合計に含まれていません。
カンタンですね。
2条件の合計結果

STEP4. 条件を3つに増やす

条件はいくつでも増やせます。
「支店=東京」「商品=ノートPC」に加えて「月=4月」も指定してみましょう。
合計を入れるセルはE17です。

=SUMIFS($D$2:$D$13, $A$2:$A$13, B17, $B$2:$B$13, C17, $C$2:$C$13, D17)

3つめの条件「月=4月」は、C列の条件範囲とD17をペアで追加しただけです。
条件を増やすときは、この「条件範囲, 条件」のペアを足すだけでOKです。
最大127個まで指定できます。
3条件のSUMIFSの数式
3条件の合計は128,000になりました。
条件が3つになっても、数式の考え方は2条件のときと同じです。
3条件の合計結果

STEP5. 「以上」「以下」の比較条件で絞る

数値の大小で絞りたいときは、条件に比較演算子を付けます。
ここではB18セルに「>=50000」と入力し、金額が50,000以上の合計をE18に出します。

=SUMIFS($D$2:$D$13, $D$2:$D$13, B18)

比較条件は半角のダブルクォーテーションで囲むのがポイントです。
今回は条件セルに「>=50000」と直接書いているので、数式側はセルを参照するだけです。
「50,000以上」の合計は891,600になりました。
「<=」で以下、「>」「<」で大小の絞り込みもできます。
比較条件の合計結果

STEP6. ワイルドカードで部分一致にする

文字の一部だけを条件にしたいときは、ワイルドカードの「*」を使います。
B19セルに「*PC」と入力すると、「PC」で終わる商品が対象になります。

=SUMIFS($D$2:$D$13, $B$2:$B$13, B19)

「*」は0文字以上の任意の文字を表します。
そのため「ノートPC」のようにPCで終わる商品がまとめて合計され、結果は768,000になりました。
ワイルドカードは半角で入力しましょう。
全角の「*」では正しく動きませんので注意してください。
ワイルドカードの合計結果

STEP7. SUMIF関数との違いを押さえる

似た関数にSUMIF関数がありますが、引数の順番と条件の数が違います。
SUMIFは合計範囲が最後、SUMIFSは合計範囲が最初です。
またSUMIFは条件を1つしか指定できませんが、SUMIFSは複数指定できます。
参考として、E20にはSUMIFで「支店=東京」を合計した結果を入れてあります。

=SUMIF($A$2:$A$13, "東京", $D$2:$D$13)
項目 SUMIF関数 SUMIFS関数
書式 =SUMIF(条件範囲, 条件, 合計範囲) =SUMIFS(合計範囲, 条件範囲1, 条件1, …)
合計範囲の位置 最後 最初
指定できる条件 1つだけ 最大127個
複数条件 できない できる(すべて満たす=AND条件)
使いどころ 条件が1つのとき 条件が2つ以上のとき

SUMIFの結果は683,600で、SUMIFSで「支店=東京」だけを条件にしたときと同じ値です。

VBAで条件を指定して一括集計する

条件を変えながら何度も集計するときは、VBAでボタン化しておくとラクです。
下のコードは「東京」かつ「ノートPC」の合計をE16に書き出す例です。

Sub SumIfsDemo()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    ws.Range("E16").Value = Application.WorksheetFunction.SumIfs( _
        ws.Range("D2:D13"), ws.Range("A2:A13"), "東京", ws.Range("B2:B13"), "ノートPC")
End Sub

タカヒロ

タカヒロ
WorksheetFunction.SumIfs を使うと、セルに数式を残さず結果の値だけを書き出せます。
毎月の集計など、決まった条件で繰り返し集計するときに向いています。

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったとおりの結果にならないこともあります。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
合計が0になる 条件範囲と合計範囲の行数がズレている すべての範囲を$D$2:$D$13のように行数を揃える
#VALUE!になる 合計範囲と条件範囲のサイズが違う 各範囲の開始行・終了行を同じにする
比較条件が効かない 数値をそのまま >50000 と書いている 「>=50000」のようにダブルクォーテーションで囲む
ワイルドカードが効かない 全角の「*」を使っている 半角の * で入力する
条件を増やしたら0件になった SUMIFSはAND条件のため 条件の組み合わせを見直す(OR条件は別々に集計して合算)
合計が二重になる 参照範囲に合計行まで含めている データ行だけを指定する(例:$D$2:$D$13)

関数の説明

今回使う2つの関数の概要です。
引数の順番の違いを押さえておきましょう。

SUMIFS関数(サムイフズ)

書式 =SUMIFS(合計対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …)
できること 複数の条件をすべて満たす行の数値を合計します。
戻り値 合計値(数値)
こんなときに 「支店」と「商品」など、2つ以上の条件で合計したいとき。
注意 合計対象範囲が最初の引数です。条件範囲と合計範囲の行数は揃えてください。
=SUMIFS($D$2:$D$13, $A$2:$A$13, "東京", $B$2:$B$13, "ノートPC")

SUMIF関数(サムイフ)

書式 =SUMIF(条件範囲, 条件, [合計範囲])
できること 1つの条件を満たす行の数値を合計します。
戻り値 合計値(数値)
こんなときに 条件が1つだけのとき。
注意 合計範囲が最後の引数です。条件を2つ以上にしたいときはSUMIFSを使います。
=SUMIF($A$2:$A$13, "東京", $D$2:$D$13)

完成

4つのパターンの合計がすべて求まりました。
「東京×ノートPC」が512,000、そこに「4月」を加えると128,000です。
金額50,000以上は891,600、商品「*PC」は768,000になりました。
条件を変えるときは、条件欄のセルを書き換えるだけです。
数式はそのまま使い回せるので、集計作業がぐっとラクになります。
完成した集計表

さいごに

いかがでしょうか。

今回は、

・SUMIFSで複数条件の合計を出す方法(SUMIFS関数)

についてまとめました。

まずは今回のサンプル表で、ぜひ一度試してみてください。
条件をセル参照にしておくと、条件を差し替えるだけで何度でも集計できます。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。

ぜひ試してみてください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image