バラバラのデータから特定の条件に合致する数値だけを合計する作業、手作業でやっていませんか?
ExcelのSUMIF関数を複数条件で使いこなせば、これまで数十分かかっていたデータ集計作業が数秒で完了します。
この記事では、SUMIFの応用テクニック(SUMIFS関数)で業務効率を劇的に向上させる方法を解説します。複雑なデータ集計も、この関数一つでスマートに片付け、あなたの仕事の生産性を飛躍的に高めましょう。
SUMIFで複数条件を扱うには?(SUMIFS関数への導入)
「SUMIF関数で複数の条件を指定して合計したい」と思ったことはありませんか? 実は、SUMIF関数は「一つの条件」にしか対応していません。しかし、ご安心ください。ExcelにはSUMIFの進化形とも言えるSUMIFS関数があり、これこそが複数条件での合計を実現するための最適なツールです。
SUMIF関数の基本をおさらい
まずは、SUMIF関数の基本的な構文を確認しておきましょう。
=SUMIF(範囲, 検索条件, [合計範囲])
- 範囲: 検索条件を適用するセル範囲
- 検索条件: 検索する条件(数値、文字列、セル参照、論理式など)
- 合計範囲: 合計する数値が含まれるセル範囲(省略可能。省略した場合は「範囲」が合計される)
例えば、「営業部」の売上だけを合計する、といった単一条件の集計には非常に便利です。
複数条件の合計にはSUMIFS関数が最適
SUMIF関数が単一条件に特化しているのに対し、SUMIFS関数は最初から複数の条件(論理積、つまりAND条件)に対応するように設計されています。実務で「〇〇かつ△△のデータ」といった集計が必要な場合、SUMIFS関数が圧倒的に効率的です。
この先は、複数条件での合計に特化したSUMIFS関数をメインに解説していきます。
SUMIFS関数を使った複数条件合計の実践手順
それでは、実際にSUMIFS関数を使って複数条件での合計を実践してみましょう。
1. SUMIFS関数の構文を理解する
SUMIFS関数の構文は以下の通りです。
=SUMIFS(合計対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)
- 合計対象範囲: 合計する数値が含まれるセル範囲(
SUMIFと異なり、最初に指定します) - 条件範囲1: 1つ目の条件を適用するセル範囲
- 条件1: 1つ目の検索条件
- 条件範囲2, 条件2: 2つ目以降の条件とその範囲(最大127組まで指定可能)
注目すべきは、SUMIFと異なり「合計対象範囲」が一番最初にくる点です。慣れるまでは少し戸惑うかもしれませんが、この順番はCOUNTIFSやAVERAGEIFSなどの他の「IFS」関数と共通しています。
2. 具体的なデータを用意する
実務でよくある売上データを使って考えてみましょう。以下のようなデータがあるとします。
| 部門 | 担当者 | 商品名 | 売上金額 | 日付 |
|---|---|---|---|---|
| 営業部 | 佐藤 | A商品 | 10000 | 2023/10/01 |
| 営業部 | 田中 | B商品 | 15000 | 2023/10/02 |
| マーケティング部 | 鈴木 | A商品 | 8000 | 2023/10/01 |
| 営業部 | 佐藤 | C商品 | 20000 | 2023/10/03 |
| 営業部 | 佐藤 | A商品 | 12000 | 2023/10/04 |
(例:A列に部門、B列に担当者、C列に商品名、D列に売上金額、E列に日付が入力されていると仮定します。)

3. 条件設定と数式入力
上記のデータを使って、「営業部の佐藤さんが販売したA商品の売上合計」を求めたいとします。これは「部門が営業部」かつ「担当者が佐藤」かつ「商品がA商品」という3つの条件に合致するデータを合計する、というAND条件の集計です。
- まず、合計したい範囲(売上金額)を指定します。例ではD列(D2:D50など)。
- 次に、1つ目の条件「部門が営業部」を設定します。
条件範囲1:A列(A2:A50など)
条件1:"営業部" - 2つ目の条件「担当者が佐藤」を設定します。
条件範囲2:B列(B2:B50など)
条件2:"佐藤" - 3つ目の条件「商品がA商品」を設定します。
条件範囲3:C列(C2:C50など)
条件3:"A商品"
これらを組み合わせて数式を作成します。
具体的な数式例と応用テクニック
AND条件(複数の条件をすべて満たす場合)
SUMIFS関数は、複数の条件をAND条件として扱います。つまり、指定したすべての条件を満たすデータのみを合計します。
例1:特定の部門の特定担当者の特定商品の売上合計
「営業部の佐藤さんが販売したA商品の売上合計」を求める場合。
売上データがA列~D列にあり、データが2行目から100行目まであるとします。
=SUMIFS(D2:D100, A2:A100, "営業部", B2:B100, "佐藤", C2:C100, "A商品")

この数式では、D列の売上金額を、A列が「営業部」かつB列が「佐藤」かつC列が「A商品」である行について合計します。
例2:日付範囲と部門による売上合計
「2023年10月1日から2023年10月15日までの間に、営業部が上げた売上合計」を求める場合。
=SUMIFS(D2:D100, E2:E100, ">=2023/10/1", E2:E100, "<=2023/10/15", A2:A100, "営業部")
日付条件は、">="や"<="といった比較演算子と日付を組み合わせて指定します。複数の日付条件は、それぞれ別の「条件範囲」「条件」として記述します。
OR条件(いずれかの条件を満たす場合)
SUMIFS関数単体ではOR条件(「〇〇または△△」)を直接扱うことはできません。しかし、複数のSUMIFS関数をSUM関数で合計することで実現できます。
例3:複数の部門の売上合計
「営業部またはマーケティング部の売上合計」を求める場合。
=SUM(SUMIFS(D2:D100, A2:A100, "営業部"), SUMIFS(D2:D100, A2:A100, "マーケティング部"))
この数式では、「営業部の売上合計」と「マーケティング部の売上合計」をそれぞれSUMIFSで計算し、それらをSUM関数で合計しています。
SUMIFS複数条件の注意点と補足
注意点・補足
- 範囲の整合性:
合計対象範囲と各条件範囲は、行数が同じである必要があります。異なるサイズの範囲を指定すると、エラーになるか、予期せぬ結果を返します。例えば、D2:D100とA2:A50のように指定すると正しく計算されません。 - Excelのバージョン:
SUMIFS関数はExcel 2007以降で利用可能です。もし古いバージョンのExcelを使用している場合、この関数は使えません。その場合は、SUMPRODUCT関数や配列数式(SUMとIFの組み合わせ)を検討する必要があります。 - 条件の記述: 文字列は必ずダブルクォーテーション(
" ")で囲みます。セル参照を使う場合は">="&B1のように、比較演算子とセル参照を結合して記述します。 - ワイルドカード: 文字列条件では、アスタリスク(
*)や疑問符(?)などのワイルドカードを使用できます。例えば、"A*"は「A」で始まる文字列に一致します。
よくある質問(FAQ)
- Q1: SUMIFS関数とSUMPRODUCT関数のどちらを使うべきですか?
- A1: 基本的には
SUMIFS関数を使うことをお勧めします。SUMIFSは特定の目的(複数条件での合計)のために設計されており、構文が直感的で理解しやすく、処理速度も一般的にSUMPRODUCTより高速です。SUMPRODUCT関数は、より複雑な計算(例えば、配列数式のような柔軟な条件設定や、計算結果の集計)が必要な場合に強力な選択肢となりますが、慣れるまでに学習コストがかかることもあります。 - Q2: 複数条件で「AND」と「OR」を組み合わせたい場合はどうすればいいですか?
- A2: 「(部門が営業部 AND 担当者が佐藤) OR (部門がマーケティング部 AND 担当者が鈴木)」のような複雑な条件は、
SUMIFS関数を複数回使用し、それらをSUM関数で合計する方法が一般的です。=SUM( SUMIFS(D2:D100, A2:A100, "営業部", B2:B100, "佐藤"), SUMIFS(D2:D100, A2:A100, "マーケティング部", B2:B100, "鈴木") )このように、それぞれのAND条件の組み合わせを個別の
SUMIFSで計算し、最終的にSUMで合算します。 - Q3: セル参照で条件を指定するにはどう書けばいいですか?
- A3: 比較演算子とセル参照を「&」でつなげて記述します。たとえばB1セルに入力した値以上を条件にする場合は
">="&B1と書きます。条件をセルで管理すると、数式を変えずに集計条件だけ変更できて便利です。
まとめ
- SUMIF(条件1つ)とSUMIFS(条件複数)は別関数。複数条件ならSUMIFSを使う
- 引数の順番は
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2...)の順 - OR条件は
=SUM(SUMIFS(...), SUMIFS(...))で対応できる - 各条件範囲の行数は必ず合計対象範囲と揃える

コメント