※本ページにはプロモーション(広告)が含まれています
【2026年最新版】ExcelのSUMIFS関数の使い方と複数条件の集計方法完全ガイド
Excelで「特定の条件に合うデータだけを合計したい」という場面は日常業務でよくあります。たとえば「東京支店の4月の売上合計を出したい」「Aさんが担当した案件のうち、金額が10万円以上のものだけを集計したい」といった複数条件での集計には、SUMIFS関数が最適です。
このガイドでは、SUMIFS関数の基本書式から複数条件の組み合わせ方、日付範囲や以上・以下といった条件の書き方、SUMPRODUCT関数との比較、よくあるエラーの対処法まで、実務で使いこなせるレベルまで詳しく解説します。

SUMIFS関数とは?基本書式と引数の意味
SUMIFS関数は、複数の条件をすべて満たすセルの合計を求める関数です。Excel 2007以降で使用可能で、現在のExcel 365・2021・2019でも広く使われています。
SUMIFS関数の基本書式
SUMIFS関数の書式は次のとおりです。
=SUMIFS(合計範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)
各引数の意味を整理します。
| 引数 | 役割 | 例 |
|---|---|---|
| 合計範囲 | 合計したい数値が入っている列 | C2:C100(金額列) |
| 条件範囲1 | 最初の条件でチェックする列 | A2:A100(支店名列) |
| 条件1 | 条件範囲1に適用する条件 | “東京” |
| 条件範囲2 | 2番目の条件でチェックする列 | B2:B100(担当者列) |
| 条件2 | 条件範囲2に適用する条件 | “田中” |
条件は最大127ペアまで指定できます。ただし実務では3〜4条件以内に収めると数式が読みやすくなります。
具体的な使用例
次のようなデータがあるとします。A列に支店名、B列に担当者名、C列に売上金額が入っています。
「東京支店」かつ「田中」担当の売上合計を求める場合:
=SUMIFS(C2:C100, A2:A100, "東京", B2:B100, "田中")
この数式は「A列が東京 かつ B列が田中」の行だけをC列で合計します。
SUMIFとSUMIFSの違い
SUMIF関数は条件を1つしか指定できませんが、SUMIFS関数は複数の条件を同時に指定できます。書式の違いにも注意が必要です。
| 比較項目 | SUMIF | SUMIFS |
|---|---|---|
| 条件の数 | 1つのみ | 最大127つ |
| 引数の順序 | SUMIF(条件範囲, 条件, 合計範囲) | SUMIFS(合計範囲, 条件範囲, 条件…) |
| 合計範囲の位置 | 第3引数(省略可能) | 第1引数(必須) |
| 対応バージョン | Excel 2003以降 | Excel 2007以降 |
重要な注意点として、SUMIFとSUMIFSでは引数の順序が異なります。SUMIFは「条件範囲→条件→合計範囲」の順ですが、SUMIFSは「合計範囲→条件範囲→条件」の順です。混同しやすいため、意識して使い分けましょう。
今後の業務では、条件が1つでもSUMIFSに統一して使うことで、後から条件を追加する際に書き直しが不要になります。

複数条件(AND条件)の設定方法
SUMIFS関数の複数条件は、すべての条件を同時に満たす行だけを集計する「AND条件」として動作します。
3条件を組み合わせた例
A列が「東京」かつB列が「田中」かつD列が「完了」の行を合計する場合:
=SUMIFS(C2:C100, A2:A100, "東京", B2:B100, "田中", D2:D100, "完了")
このように条件範囲と条件のペアをカンマで区切って追記するだけです。
セル参照で条件を指定する方法
条件を文字列直書きではなく、セル参照で指定すると管理しやすくなります。
F1セルに「東京」、G1セルに「田中」と入力してある場合:
=SUMIFS(C2:C100, A2:A100, F1, B2:B100, G1)
F1やG1の内容を変えると集計対象も自動で切り替わるため、複数の条件で切り替えながら確認したい場合に便利です。
数値の比較演算子を使った条件
数値の大小で絞り込む場合は、比較演算子と数値を組み合わせた文字列を使います。
| 条件の書き方 | 意味 | 例 |
|---|---|---|
| “>100000” | 100,000より大きい | 10万円超の行だけ |
| “>=100000” | 100,000以上 | 10万円以上の行 |
| “<50000” | 50,000未満 | 5万円未満の行 |
| “<>0” | 0以外 | 空欄や0を除く |
セル参照と比較演算子を組み合わせる場合は、文字列連結演算子「&」を使います。E1セルに100000と入力してある場合:
=SUMIFS(C2:C100, C2:C100, ">="&E1)
OR条件でSUMIFSを使う方法
SUMIFS関数自体はAND条件しか扱えません。「東京または大阪の売上合計」のようなOR条件を実現するには、複数のSUMIFSの結果を足し算します。
複数のSUMIFSを足し算する
=SUMIFS(C2:C100, A2:A100, "東京") + SUMIFS(C2:C100, A2:A100, "大阪")
この書き方はシンプルでわかりやすいですが、条件が増えると数式が長くなります。
配列を使ったOR条件(SUMPRODUCT活用)
条件が多い場合はSUMPRODUCTを使って簡潔に書けます。
=SUMPRODUCT(SUMIFS(C2:C100, A2:A100, {"東京","大阪","名古屋"}))
SUMIFS内で条件を配列`{“東京”,”大阪”,”名古屋”}`として渡すと、各条件の結果を配列で返します。それをSUMPRODUCTで合計することでOR条件を実現できます。
日付範囲・以上以下条件の書き方
日付範囲で集計する場合は、開始日と終了日を別々の条件として指定します。
日付範囲を指定する
B列に日付が入っていて、2026年4月1日から4月30日の範囲で集計する場合:
=SUMIFS(C2:C100, B2:B100, ">=2026/4/1", B2:B100, "<=2026/4/30")
日付を文字列で直書きする場合は地域設定によって動作が変わる可能性があります。DATE関数を使うと確実です。
=SUMIFS(C2:C100, B2:B100, ">="&DATE(2026,4,1), B2:B100, "<="&DATE(2026,4,30))
「今月」「先月」など動的な日付範囲
当月の集計を常に自動で行いたい場合は、TODAY関数やEOMONTH関数と組み合わせます。
当月1日以上かつ当月末日以下の条件:
=SUMIFS(C2:C100, B2:B100, ">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1), B2:B100, "<="&EOMONTH(TODAY(),0))
これにより、月が変わっても数式を変更せずに常に当月の合計が求まります。

ワイルドカード(*)を使った部分一致条件
条件に「*」(アスタリスク)を使うと、特定の文字列を含む・始まる・終わるといった部分一致の条件を指定できます。
| ワイルドカード | 意味 | 使用例 |
|---|---|---|
| *(アスタリスク) | 任意の文字列(0文字以上) | “東京*”(東京で始まる) |
| ?(クエスチョン) | 任意の1文字 | “東??部”(東+2文字+部) |
| ~*(チルダ+アスタリスク) | 文字としての「*」 | アスタリスク自体を検索 |
ワイルドカードを使った数式例
A列に「東京本社」「東京支店」「東京営業所」などが混在していて、「東京」から始まるすべての行を合計したい場合:
=SUMIFS(C2:C100, A2:A100, "東京*")
「株式会社」を含む取引先のみを合計したい場合:
=SUMIFS(C2:C100, B2:B100, "*株式会社*")
SUMPRODUCT関数との比較
SUMPRODUCT関数は配列演算を使って条件付き合計を実現できます。SUMIFS関数と使い分けを理解しておくと便利です。
| 比較項目 | SUMIFS | SUMPRODUCT |
|---|---|---|
| OR条件 | 直接は不可(複数SUMIFS合算が必要) | 論理演算で対応可能 |
| 計算速度 | 高速(大量データ向き) | データ量が多いと遅くなる |
| 数式の可読性 | 高い(引数がわかりやすい) | 複雑な条件では読みにくくなる |
| ワイルドカード | 使用可能 | 通常は不可(SEARCH関数等が必要) |
| 日付範囲 | 比較演算子で対応 | 同等の対応が可能 |
基本的にはSUMIFSを使い、OR条件が複雑になる場合にSUMPRODUCTを補助的に活用するのがおすすめです。
SUMPRODUCT + OR条件の例
「東京または大阪の支店で、かつ金額が5万円以上」という複合条件の場合:
=SUMPRODUCT(((A2:A100="東京")+(A2:A100="大阪")>0)*(C2:C100>=50000)*C2:C100)
この書き方では、OR条件を「+(論理和)」で、AND条件を「*(論理積)」で表現しています。
この記事に関連するおすすめ商品
Microsoft 365 Personal 1年版 公式ライセンス
約14,000円
SUMIFS・SUMPRODUCT・スピル関数をフル活用できる最新Excel
ロジクール ワイヤレスキーボード 静音 K295 テンキー付き
約3,000〜4,500円
ExcelのSUMIFS数値入力・関数入力に最適なテンキー付きキーボード
Dell 27インチ モニター フルHD IPS FHD
約25,000〜35,000円
複数条件のSUMIFS式と集計結果を並べて確認できる大画面モニター
※ 価格は変動する場合があります。最新価格はリンク先でご確認ください
よくあるエラーと対処法
SUMIFS関数を使っていると、期待した結果が返ってこないケースがあります。代表的な問題と解決方法を確認しておきましょう。
結果が0になる(合計されない)
最もよくあるトラブルです。原因と対処法は次のとおりです。
- 全角・半角の違い: 「東京」(全角)と「東京」(半角)は別の文字として認識されます。データ側を統一するか、SUBSTITUTE関数で変換してから比較します。
- 前後の空白: セルに「東京 」(末尾スペース)が入っていると一致しません。TRIM関数でデータを整理します。
- 数値が文字列として保存されている: 数値列が文字列扱いになっていると「>=100000」の条件が機能しません。セルの書式を「数値」に変更するか、VALUE関数を使います。
- 合計範囲と条件範囲のサイズが異なる: すべての範囲は同じ行数・列数である必要があります。
#VALUE! エラーが出る
引数のデータ型が不正な場合に発生します。特に日付条件で文字列と日付の型が混在していると起こりやすいです。DATE関数を使ってExcelが認識できる日付シリアル値に統一しましょう。
条件に不等号を含む場合の書き方ミス
条件を “>=100000” のように文字列で書く必要があるにもかかわらず、数式バー上で `>=100000` と書くとエラーになります。必ずダブルクォーテーションで囲んでください。
絶対参照を忘れてコピーするとズレる
数式を下方向にコピーする際、合計範囲や条件範囲が相対参照のままだと範囲がずれます。コピーして使う場合は `$C$2:$C$100` のように絶対参照($)をつけましょう。
実務での活用シーン
SUMIFS関数が実際の業務でどのように役立つか、具体的なシーンで確認します。
月次売上集計表の作成
A列に月、B列に商品カテゴリ、C列に売上金額が入っているデータから、月別・カテゴリ別の集計表を作る場合:
=SUMIFS($C$2:$C$1000, $A$2:$A$1000, $F2, $B$2:$B$1000, G$1)
行見出しをF列(月)、列見出しをG行(カテゴリ)として、この数式を表全体にコピーするだけで月別×カテゴリ別の集計表が完成します。
担当者別・ステータス別の案件集計
CRMのデータ管理で、担当者名と案件ステータス(商談中・受注済み・失注)で分けて集計する場合もSUMIFSが有効です。
=SUMIFS(金額列, 担当者列, "山田", ステータス列, "受注済み")
在庫管理での条件付き数量計算
倉庫コードと商品カテゴリで絞り込んだ在庫数量の合計など、データ管理業務でも広く活用できます。
SUMIFS関数を使いこなすためのコツ
以下のポイントを意識することで、SUMIFS関数の活用がさらに効率的になります。
- 条件に名前付き範囲を使う: 頻繁に使う範囲に名前をつけておくと、数式が読みやすくなります。「数式」タブ→「名前の定義」から設定できます。
- テーブル形式のデータと組み合わせる: Excelテーブル(Ctrl+T)でデータを管理すると、行が追加されても自動で範囲が拡張されます。
- IFERROR関数で囲む: エラー時に空白や0を表示させたい場合は `=IFERROR(SUMIFS(…), 0)` のように書きます。
- 条件の文字列は統一する: 全角・半角・スペースの混在がエラーの最大原因です。データ入力時から統一するルールを作りましょう。
SUMIFS関数 まとめ
SUMIFS関数は、複数条件を同時に満たすデータを合計する強力な関数です。今回のガイドで解説した内容を振り返ります。
- SUMIFS関数は「合計範囲→条件範囲→条件」の順で引数を指定する
- SUMIFとは引数の順序が異なるため注意が必要
- 複数条件はすべてAND条件(すべての条件を満たす行だけ集計)
- OR条件はSUMIFSを複数足し算するか、SUMPRODUCTを活用する
- 日付範囲は「>=開始日」「<=終了日」を2つの条件として指定
- ワイルドカード「*」で部分一致条件が書ける
- 結果が0になる場合は全角・半角・スペースの混在を疑う
SUMIFS関数をマスターすることで、Excelでの集計作業が大幅に効率化されます。まずは自分の業務データで試してみて、少しずつ複雑な条件に挑戦してみてください。
よくある質問(FAQ)
Q. SUMIFS関数で空白セルを条件にするには?
空白セルを条件にする場合は ""(空の文字列)を条件として使います。例: =SUMIFS(C2:C100, B2:B100, "") でB列が空白の行のC列を合計できます。逆に「空白でない」場合は "<>" を使います。
Q. SUMIFS関数で「以上かつ以下」の範囲を指定するには?
同じ列に対して2つの条件を指定します。例えばC列が50以上かつ100以下の場合:=SUMIFS(D2:D100, C2:C100, ">=50", C2:C100, "<=100") のように書きます。
Q. SUMIFS関数は大文字・小文字を区別しますか?
区別しません。「Tokyo」「TOKYO」「tokyo」はすべて同じ文字列として扱われます。大文字・小文字を区別して集計したい場合は、EXACT関数とSUMPRODUCT関数を組み合わせた数式が必要です。
Q. 列全体(A:A)を範囲として指定しても動作しますか?
動作しますが、処理が遅くなる場合があります。データが実際に入っている範囲(例:A2:A10000)を指定する方が効率的です。特に大量のデータを扱う場合は明示的な範囲指定を推奨します。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!