ExcelのSUMIFS関数の使い方:複数条件で合計を計算する実例解説
ExcelのSUMIFS関数を分かりやすく解説。複数条件での合計計算から、日付範囲の指定、数値範囲の絞り込み、複合参照を活用した集計表の作成まで実践的なテクニックを紹介します。実務やスキルテスト対策に最適です。
著者 Ayoub Farid · · 5 分で読めます
SUMIFS関数は、指定したすべての条件を満たす数値のみを合計するExcel関数です。「3月のコーヒーの売上」「担当者ごとのプロジェクト工数」「特定期間内の経費」などを集計する際に活躍します。単一の条件にも対応できるため、条件付きの集計関数を1つだけ覚えるなら、まずはこのSUMIFS関数をマスターするのがおすすめです。
構文
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
注意点として、SUMIFS関数では合計対象のセル範囲(sum_range)を最初に指定します(SUMIF関数とは引数の順番が逆になります)。
具体的な使用例
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 日付 | 地域 | 商品 | 売上 |
| 2 | 03/01/2026 | North | Coffee | 120 |
| 3 | 03/01/2026 | South | Coffee | 90 |
| 4 | 03/02/2026 | North | Tea | 60 |
| 5 | 03/02/2026 | North | Coffee | 140 |
「地域がNorth」かつ「商品がCoffee」の売上を合計する場合:
=SUMIFS(D2:D5,B2:B5,"North",C2:C5,"Coffee") → 260
日付範囲を指定する場合
開始日をセルG1、終了日をセルG2に入力している場合は、次のように数式を記述します。
=SUMIFS(D2:D500,A2:A500,">="&G1,A2:A500,"<="&G2)
2つの数値の間を条件にする場合
=SUMIFS(D2:D500,D2:D500,">=100",D2:D500,"<200")
縦横にオートフィルできる集計表の作成
地域を行方向(セルF2:F4)に、商品を列方向(セルG1:I1)に並べたクロス集計表を作る場合、セルG2に次の数式を入力します。
=SUMIFS($D$2:$D$500,$B$2:$B$500,$F2,$C$2:$C$500,G$1)
- データ範囲は完全に固定します(絶対参照:
$D$2:$D$500) $F2は列を固定します(地域名は常にF列にあるため)G$1は行を固定します(商品名は常に1行目にあるため)
右方向と下方向にオートフィル(数式をコピー)するだけで、すべてのセルの集計が正しく完了します。このパターンは就職・転職のExcelスキルテストでも頻出のテクニックです。詳細については複合参照の使い方も確認してみてください。
OR条件(いずれかを満たす場合)の指定方法
SUMIFS関数は基本的にAND条件専用です。「North」または「South」のようにどちらかを満たす合計を求めるには、配列定数とSUM関数を組み合わせます。
=SUM(SUMIFS(D2:D500,B2:B500,{"North","South"}))
よくあるミス
- 合計対象範囲の指定位置の間違い(SUMIF関数の順番と混同してしまうケース)
- 範囲のサイズが不一致 →
#VALUE!エラーが発生します - 日付が文字列として入力されている(日付条件と正しく一致しません)
- **セル参照時の
&の抜け漏れ**:">=G1"ではなく、正しくは">="&G1と記述します
実際に練習してみましょう
条件に応じたカウントや合計処理は、Cellioに今後追加される学習ユニットの1つです。当サイトのExcelスキルテスト問題集でも、今すぐ挑戦できるSUMIFS関数の練習課題を用意しています。
よくある質問
Excelで複数条件を指定して合計を計算するにはどうすればよいですか?
SUMIFS関数を使用します。構文は =SUMIFS(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2) です。
SUMIFS関数は1つの条件だけでも使用できますか?
はい、問題なく使用できます。=SUMIFS(D:D,B:B,"North") のように記述すれば、SUMIF関数とまったく同じように動作します。
日付を条件にしてSUMIFS関数を使うにはどう書きますか?
日付の列に対して2つの条件を指定します。具体的には ">="&開始日のセル および "<="&終了日のセル と記述します。
SUMIFS関数の結果が0になってしまう原因は何ですか?
文字列の不一致(不要なスペースが含まれているなど)、数値や日付が「文字列形式」で保存されているケースが主な原因です。