※本ページにはプロモーション(広告)が含まれています
ExcelでSUMIFS関数を使いたいけれど、複数の条件を組み合わせた合計計算に苦労していませんか?「なぜか正しい値が出ない」「日付範囲を指定する方法がわからない」「SUMIF(単一条件)との違いがわからない」という悩みは非常によく聞かれます。この記事では、SUMIFS関数の基本構文から応用テクニックまでを体系的に解説します。コピー&ペーストで使えるサンプル式も多数紹介するので、初心者から中級者まで役立つ内容です。
- SUMIFS関数の基本構文と引数の意味
- 複数条件を組み合わせた合計計算の方法
- 日付範囲・文字列・ワイルドカードを使った条件指定
- SUMIF(単一条件)との違いと使い分け
- COUNTIFS・AVERAGEIFSとの比較と選び方

SUMIFS関数とは?基本を理解しよう
SUMIFS関数は、Excel 2007以降で使える関数で、複数の条件をすべて満たすセルの合計値を求めます。ビジネスの集計作業で非常に活躍する関数であり、売上データの分析や経費集計、在庫管理など幅広いシーンで使われています。
基本構文
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
引数の意味
| 引数 | 意味 | 必須/省略 |
|---|---|---|
| 合計範囲 | 合計を出したい数値の範囲(例:売上金額列) | 必須 |
| 条件範囲1 | 最初の条件を判定するためのデータ範囲 | 必須 |
| 条件1 | 条件範囲1に対する絞り込み条件 | 必須 |
| 条件範囲2以降 | 2つ目以降の条件を判定するデータ範囲 | 省略可(最大127ペア) |
たとえば、以下のような売上表があるとします。
| 担当者 | 商品 | 売上 |
|---|---|---|
| 田中 | A | 30,000 |
| 田中 | B | 25,000 |
| 鈴木 | A | 40,000 |
| 田中 | A | 20,000 |
「担当者が田中、かつ商品がA」の売上合計を求めたい場合:
=SUMIFS(C2:C5, A2:A5, "田中", B2:B5, "A") → 結果: 50,000(30,000 + 20,000)
SUMIFS関数の具体的な使い方ステップ
ステップ1: データを整理して範囲を確認する
SUMIFS関数を正しく動かすために、最初にデータの整理状態を確認します。以下の点に注意してください。
- 各列のヘッダーを明確にする(例:日付・担当者・商品名・金額など)
- データに空白行が混在しないようにする
- 数値列に文字が混ざっていないか確認する(混ざると合計がゼロになる)
- 日付はExcelの日付形式(シリアル値)になっているかを確認する
データが整理できたら、合計範囲・条件範囲それぞれのセル参照(例:A2:A100、B2:B100)を把握しておきましょう。
ステップ2: 基本的な2条件の合計を求める
最もシンプルな使い方は「2つの列に対して条件を指定する」パターンです。以下の式は「部署が”営業部”、かつ売上が50,000以上」という条件で合計を出す例です。
=SUMIFS(D2:D100, B2:B100, "営業部", D2:D100, ">=50000")
ポイントは条件を文字列として指定する場合はダブルクォーテーション(”)で囲むこと。比較演算子(>=、<=、<>など)も文字列の中に入れます。

ステップ3: 日付範囲を条件に使う
実務では「特定の期間の売上を集計したい」というシーンが多くあります。SUMIFS関数では日付の範囲指定も可能です。
=SUMIFS(D2:D100, A2:A100, ">=2026/1/1", A2:A100, "<=2026/3/31")
この式は「A列の日付が2026年1月1日以上かつ2026年3月31日以下」の行を合計します。ただし、日付を直接文字列として記述すると地域設定によって誤動作する場合があります。より安全なのはDATEVALUE関数やDATE関数を組み合わせる方法です。
=SUMIFS(D2:D100, A2:A100, ">="&DATE(2026,1,1), A2:A100, "<="&DATE(2026,3,31))
セルに日付を入力して参照する方法も実用的です(例:E1に開始日、F1に終了日を入力)。
=SUMIFS(D2:D100, A2:A100, ">="&E1, A2:A100, "<="&F1)
ステップ4: ワイルドカードを使った部分一致条件
文字列条件では、ワイルドカード文字を使った部分一致検索も可能です。Excelのワイルドカードは次の2種類です。
| 記号 | 意味 | 例 |
|---|---|---|
*(アスタリスク) |
任意の文字列(0文字以上) | "東京*"→東京都・東京駅など前方一致 |
?(疑問符) |
任意の1文字 | "田?"→田中・田村など2文字の田から始まる名前 |
商品名に「スマホ」を含む行だけを合計する例:
=SUMIFS(D2:D100, C2:C100, "*スマホ*")
ステップ5: セル参照を使って条件を動的に変える
条件をセルから参照すると、ドロップダウンリストやフォームと組み合わせてインタラクティブな集計表を作成できます。条件セルを参照する場合は「&」で結合します。
' セルG1に部署名、G2に金額下限が入力されているとき =SUMIFS(D2:D100, B2:B100, G1, D2:D100, ">="&G2)
G1の部署名を変えるだけで合計が自動更新される動的な集計フォームが完成します。
SUMIF(単一条件)との違い
SUMIFとSUMIFSは似ていますが、構文と機能に重要な違いがあります。
| 項目 | SUMIF | SUMIFS |
|---|---|---|
| 条件数 | 1つ | 最大127個 |
| 引数の順序 | =SUMIF(条件範囲, 条件, 合計範囲) | =SUMIFS(合計範囲, 条件範囲, 条件…) |
| 合計範囲の省略 | 省略可(条件範囲がそのまま合計に) | 省略不可 |
| 対応バージョン | 全バージョン | Excel 2007以降 |
| 推奨用途 | シンプルな1条件集計 | 複数条件が必要な実務集計 |
注意:SUMIFとSUMIFSは引数の順序が逆です。SUMIFは「条件範囲→条件→合計範囲」ですが、SUMIFSは「合計範囲→条件範囲→条件」の順です。この違いが混乱の原因になりやすいので注意してください。
COUNTIFS・AVERAGEIFSとの使い分け
Excelには複数条件を使える類似関数が3つあります。それぞれの用途を理解して使い分けましょう。
| 関数名 | 目的 | 具体的な使用シーン |
|---|---|---|
| SUMIFS | 条件に合う合計値を求める | 部署別・期間別の売上合計 |
| COUNTIFS | 条件に合う件数を数える | 部署別の案件数・欠勤回数集計 |
| AVERAGEIFS | 条件に合う平均値を求める | カテゴリ別の平均単価・評価点 |
COUNTIFSの構文はSUMIFSと同じパターンで、合計範囲が不要なだけです。
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2) =AVERAGEIFS(平均範囲, 条件範囲1, 条件1, 条件範囲2, 条件2)
この記事に関連するおすすめ商品
Microsoft 365 Personal 1年版 公式ライセンス
約14,000円
SUMIFS・COUNTIFS・AVERAGEIFSをフル活用できる最新Excel
Dell 27インチ モニター フルHD IPS FHD
約25,000〜35,000円
Excelの複数条件集計シートを広く確認できる大画面モニター
ロジクール MX Keys S ワイヤレスキーボード 静音
約12,000〜16,000円
ExcelのSUMIFS関数・数式入力が快適な高精度ワイヤレスキーボード
※ 価格は変動する場合があります。最新価格はリンク先でご確認ください
よくあるエラーと対処法

結果が0になる場合
SUMIFS関数の結果がなぜか0になるとき、原因のほとんどは次のいずれかです。
- 条件の書き方のミス:文字列条件をダブルクォーテーションで囲んでいない、半角と全角が混在している
- 範囲サイズの不一致:合計範囲と条件範囲の行数が異なる(例:合計範囲D2:D100、条件範囲A2:A50)
- 数値が文字列として保存されている:セルの左上に緑の三角マークが表示されていたら数値扱いになっていない証拠
- スペースや見えない文字の混入:条件の文字列に半角スペースが入っていて一致しない
#VALUE!エラーが出る場合
各範囲のサイズ(行数・列数)が一致していない場合に発生します。合計範囲と条件範囲はすべて同じ行数にそろえてください。
条件に空白セルを指定したい場合
=SUMIFS(D2:D100, C2:C100, "") ' 空白セルのみ =SUMIFS(D2:D100, C2:C100, "<>") ' 空白でないセルのみ
よくある質問(FAQ)
Q1. SUMIFS関数で「または」条件(OR条件)を使う方法はありますか?
SUMIFS関数はすべての条件を「AND(かつ)」で評価するため、ORには対応していません。OR条件を使いたい場合は、複数のSUMIFSを加算する方法が一般的です。
例:=SUMIFS(D2:D100,B2:B100,"営業部")+SUMIFS(D2:D100,B2:B100,"開発部")
Q2. 日付条件で「今月分だけ」を自動集計するには?
EOMONTH関数とDATE関数を組み合わせて当月の開始日と終了日を動的に計算できます。
=SUMIFS(D2:D100,A2:A100,">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1),A2:A100,"<="&EOMONTH(TODAY(),0))
Q3. 条件範囲と合計範囲の行数がずれているとどうなりますか?
#VALUE!エラーが発生します。すべての条件範囲と合計範囲は、同じ行数・サイズに揃えることが必須です。例えば合計範囲がD2:D100なら、条件範囲もA2:A100のように同じ行数にしてください。
Q4. ワイルドカードが数値列で使えないのはなぜですか?
Excelのワイルドカード(*と?)はテキスト文字列に対してのみ機能します。数値の範囲指定には比較演算子(>=、<=)を使用してください。数値をテキストとして扱いたい場合はTEXT関数で変換する必要があります。
Q5. SUMIFS関数は何条件まで指定できますか?
SUMIFS関数は最大127組の条件範囲と条件のペアを指定できます。ただし、あまり多くの条件を設定するとファイルが重くなる場合もあるため、現実的には10条件以内に収めるのが推奨です。
まとめ
SUMIFS関数は、複数条件を組み合わせた集計作業に欠かせないExcelの定番関数です。本記事の内容をまとめると次のとおりです。
- 構文は「=SUMIFS(合計範囲, 条件範囲1, 条件1, …)」で、合計範囲が先にくる
- 日付範囲はDATE関数またはセル参照と「&」結合で指定する
- ワイルドカード(*・?)を使えば部分一致条件が実現できる
- SUMIF(単一条件版)とは引数の順序が逆であることに注意
- COUNTIFS(件数)・AVERAGEIFS(平均)と使い分けることで多角的な集計が可能
最初は式の書き方に戸惑うこともありますが、一度マスターすれば業務の集計効率が大幅に改善されます。まずは簡単な2条件の式から実際に試してみてください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!