スプレッドシートのSUMIFS関数の使い方|複数条件付き合計
「営業部の4月の売上だけ合計したい」「担当者ごと・商品カテゴリごとに集計したい」。条件が2つ以上になると、どう数式を組めばいいか迷いますよね。
SUMIF関数なら条件を1つ指定して合計できます。でも、部署と月のように条件が2つ以上になると対応できません。フィルタで手作業するのは非効率です。
そんなときに使うのがSUMIFS関数です。この記事では基本の書き方から日付条件・ワイルドカード・OR条件の対処法まで紹介します。
SUMIFS関数とは?
SUMIFS関数(読み方: サムイフエス関数)は、複数の条件をすべて満たすデータだけを合計する関数です。「SUM(合計)」+「IF(もし)」+「S(複数形)」で、「複数の”もし”で合計する」という意味になっています。
たとえば売上表で「営業部の、4月の売上だけを合計したい」場合を考えてみましょう。A列に日付、B列に部署名、C列に金額が並んでいるとします。SUMIFS関数を使えば、B列が「営業部」かつA列が4月の行だけを合計してくれます。
SUMIFS関数にできることをまとめると、次のとおりです。
- 2つ以上の条件を同時に指定して合計する(AND条件)
- 比較演算子で「以上・以下」「等しくない」を条件にできる
- ワイルドカードで部分一致の合計ができる
- 日付の期間を区切って集計できる
- 条件のペアは最大127組まで追加できる
「条件を2つ以上つけて合計してね」とお願いする関数です。
NOTE
SUMIFS関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
SUMIFS関数の書き方(構文と引数)
基本構文
=SUMIFS(合計範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)
カッコの中に、合計する範囲・条件範囲・条件をセットで指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 合計範囲 | 必須 | 合計したい数値が入っているセル範囲 |
| 条件範囲1 | 必須 | 1つ目の条件を判定するセル範囲 |
| 条件1 | 必須 | 1つ目の条件(例: “営業部”) |
| 条件範囲2 | 任意 | 2つ目の条件を判定するセル範囲 |
| 条件2 | 任意 | 2つ目の条件 |
条件のペア(条件範囲と条件)は最大127組まで追加できます。
SUMIF関数との引数順の違い(最重要ポイント)
SUMIFS関数を使い始めるとき、一番つまずきやすいのが引数の順番です。SUMIF関数とSUMIFS関数を並べて比較してみましょう。
=SUMIF(条件範囲, 条件, 合計範囲)
=SUMIFS(合計範囲, 条件範囲1, 条件1, ...)
| 比較項目 | SUMIF | SUMIFS |
|---|---|---|
| 合計範囲の位置 | 最後(第3引数) | 最初(第1引数) |
| 条件の数 | 1つだけ | 複数(最大127組) |
| 合計範囲の省略 | 省略可 | 省略不可 |
SUMIF関数は「合計範囲」が最後です。SUMIFS関数は「合計範囲」が最初に来ます。逆なので混同しやすいポイントです。
覚え方のコツは「SUMIFS関数は合計範囲が先頭」です。条件を何組でも追加できるよう、合計範囲を先に固定して、残りを条件ペアの繰り返しにしたわけですね。
TIP
SUMIFS関数は条件が1つでも使えます。引数の順番を混乱したくない方は、最初からSUMIFS関数に統一するのもおすすめです。
SUMIFS関数の基本的な使い方
ここからは、次の売上データを使って具体的な使い方を見ていきます。
| A列(日付) | B列(部署) | C列(担当者) | D列(商品) | E列(金額) | |
|---|---|---|---|---|---|
| 2行目 | 2026/4/1 | 営業部 | 田中 | プランA | 50000 |
| 3行目 | 2026/4/3 | 総務部 | 鈴木 | プランB | 30000 |
| 4行目 | 2026/4/5 | 営業部 | 佐藤 | プランA | 80000 |
| 5行目 | 2026/4/10 | 営業部 | 田中 | プランC | 45000 |
| 6行目 | 2026/5/2 | 総務部 | 鈴木 | プランA | 60000 |
| 7行目 | 2026/5/8 | 営業部 | 佐藤 | プランB | 35000 |
条件が1つの場合(SUMIFS関数の基本形)
まずは条件が1つのシンプルな例からです。「営業部」の売上合計を求めてみましょう。
=SUMIFS(E2:E7, B2:B7, "営業部")
- E2:E7(合計範囲): ここの数値を合計する
- B2:B7(条件範囲1): ここから「営業部」を探す
- “営業部”(条件1): この文字列と一致するものが対象
B列が「営業部」の行だけを合計します。結果は 210,000(50000+80000+45000+35000)です。
複数条件(AND条件)で合計する
SUMIFS関数の本領は、複数条件の指定です。「営業部」かつ「プランA」の売上合計を求めてみましょう。
=SUMIFS(E2:E7, B2:B7, "営業部", D2:D7, "プランA")
B列が「営業部」で、D列が「プランA」の行だけを合計します。結果は 130,000(50000+80000)です。
条件をさらに追加することもできます。「営業部」「プランA」「田中」の3条件なら次のとおりです。
=SUMIFS(E2:E7, B2:B7, "営業部", D2:D7, "プランA", C2:C7, "田中")
結果は 50,000 です。条件範囲と条件のペアを増やしていくだけなので、仕組みはシンプルですよ。
セル参照で条件を指定する
条件をセル参照にすると便利です。G1セルに部署名、G2セルに商品名を入力し、数式で参照します。
=SUMIFS(E2:E7, B2:B7, G1, D2:D7, G2)
セルの値を変えるだけで集計条件を切り替えられます。集計用ダッシュボードを作るときに活用してみてください。
SUMIFS関数の条件指定パターン
SUMIFS関数ではさまざまな条件を使えます。実務でよく使うパターンをまとめました。
比較演算子を使う(以上・以下・不一致)
数値の大小で絞り込むには比較演算子を使います。演算子はダブルクォーテーションで囲んでください。
| 演算子 | 意味 | 書き方の例 |
|---|---|---|
>= | 以上 | ">=50000" |
<= | 以下 | "<=100000" |
> | より大きい | ">50000" |
< | より小さい | "<50000" |
<> | 等しくない | "<>営業部" |
「営業部」かつ金額が50,000以上のデータを合計するにはこう書きます。
=SUMIFS(E2:E7, B2:B7, "営業部", E2:E7, ">=50000")
結果は 130,000(50000+80000)です。条件範囲と合計範囲に同じ範囲を指定するのがポイントです。
セル参照と組み合わせる場合は & で連結します。
=SUMIFS(E2:E7, B2:B7, "営業部", E2:E7, ">="&G1)
ワイルドカードで部分一致を指定する
SUMIFS関数ではワイルドカードも使えます。部分一致で条件を指定したいときに便利です。
| 記号 | 意味 | 使用例 | マッチする値 |
|---|---|---|---|
* | 任意の文字列(0文字以上) | "プラン*" | プランA、プランB |
? | 任意の1文字 | "プラン?" | プランA(1文字のみ) |
~* | *そのものを検索 | "~*印" | *印 |
「プラン」で始まる商品の営業部の売上合計を求める例です。
=SUMIFS(E2:E7, B2:B7, "営業部", D2:D7, "プラン*")
日付を条件に使う
日付で絞り込む場合はDATE関数と比較演算子を組み合わせます。
2026年4月の営業部の売上合計を求める数式がこちらです。
=SUMIFS(E2:E7, B2:B7, "営業部", A2:A7, ">="&DATE(2026,4,1), A2:A7, "<="&DATE(2026,4,30))
同じ条件範囲(A2:A7)に「4/1以上」と「4/30以下」の2条件を指定しています。結果は 175,000(50000+80000+45000)です。
セルに開始日と終了日を入力しておくと柔軟に使えます。
=SUMIFS(E2:E7, B2:B7, "営業部", A2:A7, ">="&G1, A2:A7, "<="&G2)
G1に開始日、G2に終了日を入れるだけで集計期間を変更できますよ。
NOTE
日付を文字列で直接指定すること(例:
">=2026/4/1")もできます。ただし地域設定によっては正しく認識されない場合があるため、DATE関数を使うほうが確実です。
OR条件(「または」)で合計したい場合
SUMIFS関数の条件はすべてAND条件(かつ)で評価されます。「営業部または総務部」のようなOR条件を直接は指定できません。
OR条件を実現するには、複数のSUMIFS関数を足し算します。
=SUMIFS(E2:E7, B2:B7, "営業部") + SUMIFS(E2:E7, B2:B7, "総務部")
条件が3つ以上になるとこの方法は数式が長くなります。その場合はSUMPRODUCT関数が便利です。
=SUMPRODUCT((B2:B7="営業部")+(B2:B7="総務部"), E2:E7)
SUMPRODUCT関数は配列を直接扱えるため、OR条件の集計がスッキリ書けます。
SUMIFS関数の実務活用パターン
基本がわかったところで、仕事でよく使うパターンを紹介します。
パターン1: 部署×月別の売上集計表
部署と月の2軸で集計するクロス集計表を作るパターンです。
=SUMIFS($E$2:$E$100, $B$2:$B$100, $F2, $A$2:$A$100, ">="&G$1, $A$2:$A$100, "<="&G$2)
行に部署名、列に月の開始日・終了日を配置します。範囲を絶対参照にしておけば、数式を縦横にコピーするだけで集計表が完成します。
パターン2: 担当者×商品カテゴリの集計
担当者ごとに商品カテゴリ別の売上を出す例です。
=SUMIFS($E$2:$E$100, $C$2:$C$100, $F2, $D$2:$D$100, G$1)
F列に担当者名、G1行にカテゴリ名を並べます。コピーするだけで全員分の集計が完成しますよ。
パターン3: 目標金額以上かつ特定商品の売上
数値条件と文字列条件を組み合わせるパターンです。
=SUMIFS(E2:E100, D2:D100, "プランA", E2:E100, ">="&H1)
H1セルに目標金額を入力すれば、プランAの中で目標以上の売上だけを合計できます。
パターン4: 空白以外のデータだけを集計
データに空白セルが混在している場合の対処法です。
=SUMIFS(E2:E100, B2:B100, "<>", D2:D100, "<>")
"<>" は「空白でない」を意味します。部署名・商品名がどちらも入力されている行だけを集計したい場合に使えます。
よくあるエラーと対処法
SUMIFS関数で思った結果にならないときの原因と対策をまとめました。
SUMIFS関数が0になる原因
最も多いトラブルは「結果が0になる」ケースです。
| 原因 | 具体例 | 対処法 |
|---|---|---|
| 全角・半角の不一致 | 「営業部」と全角混じりの「営業部」 | ASC関数(半角化)またはJIS関数(全角化)で統一 |
| 余分なスペース | 「営業部 」と「営業部」が不一致 | TRIM関数でスペースを除去 |
| 数値がテキスト形式 | 数値に見えるが左揃え表示 | VALUE関数で数値に変換 |
| 比較演算子の引用符忘れ | >=50000 を "" で囲んでいない | 必ず ">=50000" と引用符で囲む |
| 日付がテキスト形式 | 日付に見えるが文字列 | DATEVALUE関数で日付に変換 |
NOTE
SUMIFS関数は大文字・小文字を区別しません。「Tokyo」と「tokyo」は同じ条件として扱われます。
#VALUE!エラーが出る場合
| 原因 | 対処法 |
|---|---|
| 条件範囲のサイズが合計範囲と異なる | すべての範囲を同じ行数・列数に揃える |
| 条件の文字数が255文字を超えている | 条件を短くするか、セル参照に変更 |
条件範囲と合計範囲のサイズ不一致は#VALUE!エラーになります。0が返るのではなくエラーになるので注意してください。
デバッグの手順
0になったときは、次の手順で原因を切り分けましょう。
1. 条件を1つだけにして試す
まず条件を1つだけにして合計されるか確認します。
=SUMIFS(E2:E7, B2:B7, "営業部")
これで値が返れば、2つ目以降の条件に問題があります。
2. COUNTIFS関数で件数を確認する
該当するデータが何件あるか確認します。
=COUNTIFS(B2:B7, "営業部", D2:D7, "プランA")
0件なら条件に合うデータがありません。スペースや全角半角を確認しましょう。
3. データクリーンアップを使う
メニューの「データ」→「データクリーンアップ」を選択します。文字列になっている数値をまとめて変換できますよ。
似た関数との違い・使い分け
条件付きの集計関数はSUMIFS以外にもあります。「どの関数を使えばいいの?」と迷ったら次の表を参考にしてください。
| 関数名 | 用途 | 条件の扱い | |
|---|---|---|---|
| [[2026-03-17-spreadsheet-sum-function | SUM]] | 無条件で合計 | 条件なし |
| [[2026-03-17-spreadsheet-sumif-function | SUMIF]] | 1条件で合計 | 1つだけ |
| SUMIFS | 複数条件で合計 | AND(すべて満たす) | |
| [[2026-03-17-spreadsheet-sumproduct-function | SUMPRODUCT]] | 配列の積を合計 | OR条件にも対応 |
SUM → SUMIF → SUMIFS の段階的な使い分け
集計関数は段階的に使い分けるのがおすすめです。
- 条件なしの合計 → SUM関数
- 条件が1つ → SUMIF関数
- 条件が2つ以上(AND) → SUMIFS関数
- OR条件や複雑な計算 → SUMPRODUCT関数
条件の数が増えるにつれて、上位の関数に切り替えていくイメージです。
SUMIFS関数とSUMPRODUCT関数の使い分け
SUMIFS関数とSUMPRODUCT関数は、どちらも複数条件で合計できる関数です。使い分けのポイントを整理します。
| 比較項目 | SUMIFS | SUMPRODUCT |
|---|---|---|
| AND条件 | 得意(標準機能) | 得意(条件を*で連結) |
| OR条件 | 苦手(足し算が必要) | 得意(条件を+で連結) |
| 数式の読みやすさ | シンプル | 慣れが必要 |
| 処理速度 | 速い | やや遅い |
AND条件だけならSUMIFS関数がシンプルで高速です。OR条件が混在する場合はSUMPRODUCT関数を検討しましょう。
Excelとの違い
SUMIFS関数の基本的な動作はExcelと同じです。ほぼ同じ感覚で使えますが、細かい違いがあります。
| 項目 | Googleスプレッドシート | Excel |
|---|---|---|
| 基本動作 | 同じ | 同じ |
| 条件ペアの上限 | 最大127組 | 最大127組 |
| ワイルドカード | * ? 使用可 | * ? 使用可 |
| 比較演算子 | 同じ書き方 | 同じ書き方 |
| 大文字小文字の区別 | 区別しない | 区別しない |
| 日付条件 | DATE関数推奨 | DATE関数推奨 |
大きな違いはありません。ExcelのSUMIFS関数に慣れている方は、同じ書き方で使えますよ。
まとめ
SUMIFS関数のポイントをおさらいしましょう。
- SUMIFS関数は「複数の条件を同時に指定して合計する」関数
- 書き方:
=SUMIFS(合計範囲, 条件範囲1, 条件1, ...) - 合計範囲が先頭に来る(SUMIF関数とは逆)
- 比較演算子やワイルドカードも使える
- OR条件はSUMIFS関数の足し算またはSUMPRODUCTで対応
- 0になったらスペース・全角半角・文字列型を確認
- 条件範囲と合計範囲のサイズ不一致は#VALUE!エラー
まずは =SUMIFS(合計範囲, 条件範囲, "条件") の基本形から試してみてください。条件が増えても、条件範囲と条件のペアを追加するだけです。
