「りんごの売上だけ合計したい」「営業部の経費だけ集計したい」。Excelで条件付きの合計をしたい場面、よくありますよね。
SUM関数で手作業で足していくのは現実的ではありません。データが増えるたびに数式を直すのも手間です。
そんなときはSUMIF関数を使いましょう。この記事では基本の書き方から条件パターン4種、0になるときの対処法まで解説します。
SUMIF関数とは?何ができる関数か
SUMIF関数は、条件に一致するセルだけを合計する関数です。
読み方は「サムイフ」です。SUM(合計)とIF(もし)を組み合わせた名前になっています。「もし条件に合えば合計する」という意味ですね。
たとえば売上表で「りんご」の金額だけを合計したい場合を考えてみましょう。商品名の列から「りんご」を探し、該当する行の金額を自動で合計してくれます。
対応バージョン
Excel 2003以降すべてのバージョンで使えます。Microsoft 365やGoogleスプレッドシートでも同じ書き方で動作します。
SUMIF関数の書き方(構文と引数)
基本構文
=SUMIF(範囲, 検索条件, [合計範囲])
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 範囲 | 必須 | 条件を検索するセル範囲(例: A2:A7) |
| 検索条件 | 必須 | 合計対象を絞り込む条件(文字列・数値・セル参照) |
| 合計範囲 | 任意 | 実際に合計するセル範囲(省略時は「範囲」を合計) |
第3引数の「合計範囲」は省略できます。省略すると「範囲」そのものが合計対象になります。ただし実務では範囲と合計範囲を分けるのが一般的です。
合計範囲は先頭セルだけ合わせればOK
合計範囲は範囲と同じサイズにするのが基本です。Excelの仕様では、合計範囲の先頭セルを基準に範囲と同じサイズで自動展開されます。たとえば範囲がA2:A7なら、合計範囲にC2だけ指定してもC2:C7として処理されますよ。
SUMIF関数の基本的な使い方
この記事では以下の売上データを使って解説します。
| A列(商品名) | B列(数量) | C列(金額) | |
|---|---|---|---|
| 2行目 | りんご | 5 | 500 |
| 3行目 | みかん | 8 | 400 |
| 4行目 | りんご | 3 | 300 |
| 5行目 | バナナ | 10 | 600 |
| 6行目 | みかん | 6 | 360 |
| 7行目 | りんご | 4 | 400 |
文字列で条件を指定する(完全一致)
「りんご」の売上金額を合計するには次のように入力します。
=SUMIF(A2:A7,"りんご",C2:C7)
- A2:A7(範囲): 商品名から「りんご」を探す
- “りんご”(検索条件): 完全一致で絞り込む
- C2:C7(合計範囲): 一致した行の金額を合計する
A2・A4・A7が「りんご」なので、500 + 300 + 400 = 1,200 が結果です。
セル参照で条件を指定する
条件をセル参照にすると、集計の切り替えが簡単です。E2セルに商品名を入力して数式で参照しましょう。
=SUMIF(A2:A7,E2,C2:C7)
E2を「みかん」にすれば760、「バナナ」にすれば600に自動で切り替わります。ドロップダウンリストと組み合わせると便利ですよ。
条件パターン別の書き方早見表
SUMIF関数で使える条件パターンを一覧にまとめました。
| パターン | 書き方の例 | 意味 |
|---|---|---|
| 完全一致 | “りんご” | 「りんご」と一致 |
| セル参照 | E2 | E2の値と一致 |
| 以上 | “>=500” | 500以上 |
| より大きい | “>500” | 500より大きい |
| 以下 | “<=300" | 300以下 |
| 未満 | “<300" | 300未満 |
| 不一致 | “<>りんご” | りんご以外 |
| 前方一致 | “り*” | 「り」で始まる |
| 後方一致 | “*ご” | 「ご」で終わる |
| 部分一致 | “かん“ | 「かん」を含む |
| 任意の1文字 | “?かん” | 2文字目以降が「かん」 |
| 空白以外 | “<>“ | 空白でないセル |
文字列や比較演算子はダブルクォーテーションで囲むのがポイントです。
SUMIF関数の条件指定テクニック
比較演算子で数値条件を指定する(以上・以下)
金額が500以上の合計を求めてみましょう。
=SUMIF(C2:C7,">=500",C2:C7)
500・600・400のうち500以上は500と600です。結果は 1,100 になります。
セル参照と演算子を組み合わせることもできます。E2セルに基準値が入っている場合は次のように書きます。
=SUMIF(C2:C7,">="&E2,C2:C7)
演算子を “” で囲み、& でセル参照と連結するのがポイントです。
ワイルドカードで部分一致検索する
部分一致で検索するにはワイルドカードを使います。
| 記号 | 意味 | 使用例 | マッチする値 |
|---|---|---|---|
| * | 任意の文字列(0文字以上) | “り*” | りんご |
| ? | 任意の1文字 | “?かん” | みかん |
| ~* | *そのものを検索 | “~*付き” | *付き |
| ~? | ?そのものを検索 | “~?マーク” | ?マーク |
「り」で始まる商品の金額合計を求める例です。
=SUMIF(A2:A7,"り*",C2:C7)
「りんご」が該当するので、結果は500 + 300 + 400 = 1,200 です。データに * や ? そのものが含まれる場合は、チルダ ~ でエスケープしてください。
日付を条件にする
日付で絞り込む場合は、DATE関数と比較演算子を組み合わせます。
=SUMIF(A2:A100,">="&DATE(2026,4,1),B2:B100)
日付を直接文字列で指定すると環境によって解釈が変わります。DATE関数を使うのが確実ですよ。
不一致(○○以外)で絞り込む
「りんご以外」の金額合計を出すには <> を使います。
=SUMIF(A2:A7,"<>りんご",C2:C7)
みかん400 + バナナ600 + みかん360 = 1,360 が結果です。
空白セルを除外したい場合は “<>” を指定します。
=SUMIF(A2:A7,"<>",C2:C7)
SUMIF関数の実務活用パターン
パターン1: 部署別の経費集計
A列に部署名、C列に金額が入ったデータから、特定の部署だけ合計できます。
=SUMIF(A2:A100,"営業部",C2:C100)
ドロップダウンでセル参照にすれば切り替えも簡単です。IF関数と組み合わせて予算超過の判定を加えることもできますよ。
パターン2: ワイルドカードでカテゴリ集計
カテゴリ名にサブカテゴリが含まれる場合、ワイルドカードが便利です。
=SUMIF(A2:A100,"飲料*",C2:C100)
「飲料・炭酸」「飲料・お茶」など、「飲料」で始まるすべての行を合計できます。
パターン3: 基準値以上の売上を集計
数量が一定以上のデータだけを集計したい場合です。
=SUMIF(B2:B7,">="&E1,C2:C7)
E1セルに基準値を入れておけば、条件を柔軟に変更できます。達成件数を知りたいときはCOUNTIF関数を使ってみてください。
パターン4: 空白以外のセルだけを合計
データに空白行が混在している場合の対処法です。
=SUMIF(A2:A100,"<>",C2:C100)
商品名が入力されている行の金額だけを合計できます。SUM関数は空白を自動スキップしますが、「条件列が空白でない行だけ合計」にはSUMIFが必要です。
SUMIF関数の結果が0になる原因と対処法
SUMIF関数で最も多いトラブルが「結果が0になる」ケースです。原因と対処法をまとめました。
| 原因 | 症状 | 対処法 |
|---|---|---|
| 余分なスペース | 「りんご 」と「りんご」が不一致 | TRIM関数でスペースを除去 |
| 全角・半角の不一致 | 「ABC」と「ABC」が不一致 | ASC関数で半角に統一 |
| 文字列型の数値 | 数値に見えるが左揃え | VALUE関数で数値に変換 |
| 範囲の先頭行ずれ | 検索範囲と合計範囲の行が不一致 | 両方の先頭行を揃える |
| ダブルクォート忘れ | =SUMIF(A:A,りんご,C:C) | “りんご” と囲む |
| ワイルドカードを数値列に使用 | 数値にはワイルドカード不可 | 比較演算子に変更 |
結果がおかしいと感じたら、次の手順で確認してみてください。
- セルをダブルクリックして前後のスペースを確認
- セルの表示形式を確認(左揃え=文字列の可能性)
- COUNTIF関数で一致件数を調べる
=COUNTIF(A2:A7,"りんご")
この結果が0なら、条件ではなくデータ側に問題があります。
SUMIF関数は大文字・小文字を区別しません
「Apple」と「apple」は同じ条件として扱われます。区別して集計したい場合はSUMPRODUCT関数とEXACT関数の組み合わせが必要です。
SUMIF関数とSUMIFS関数の違い
SUMIF関数とよく混同されるのがSUMIFS関数です。
| 比較項目 | SUMIF | SUMIFS |
|---|---|---|
| 条件の数 | 1つだけ | 複数(最大127個) |
| 引数の順番 | 範囲 → 条件 → 合計範囲 | 合計範囲 → 条件範囲1 → 条件1 → … |
| ワイルドカード | 使える | 使える |
| 比較演算子 | 使える | 使える |
| 対応バージョン | Excel 2003以降 | Excel 2007以降 |
最大のポイントは引数の順番が違うことです。
=SUMIF(A2:A7,"りんご",C2:C7)
=SUMIFS(C2:C7,A2:A7,"りんご")
SUMIF関数は「範囲→条件→合計範囲」の順です。SUMIFS関数は「合計範囲」が先頭に来ます。
条件が1つならSUMIF関数のほうがシンプルです。条件が2つ以上になったらSUMIFS関数に切り替えましょう。
たとえば「りんご」かつ「数量5以上」で絞り込む場合です。
=SUMIFS(C2:C7,A2:A7,"りんご",B2:B7,">=5")
りんごかつ数量5以上は2行目(数量5、金額500)のみ該当します。結果は 500 になります。詳しくはSUMIF・SUMIFS・SUMPRODUCT比較記事も参考にしてみてください。
似た関数との違い・使い分け
条件付きの集計関数はSUMIF以外にもあります。目的に応じて使い分けましょう。
| 関数 | 用途 | 条件数 |
|---|---|---|
| SUMIF | 条件に合う数値を合計 | 1つ |
| SUMIFS | 複数条件で数値を合計 | 複数 |
| COUNTIF | 条件に合うセルの個数 | 1つ |
| COUNTIFS | 複数条件でセルの個数 | 複数 |
| AVERAGEIF | 条件に合う数値の平均 | 1つ |
| AVERAGEIFS | 複数条件で数値の平均 | 複数 |
「数える」のがCOUNTIF関数、「足す」のがSUMIF関数です。「平均する」ならAVERAGEIF関数を使います。
OR条件(いずれかに一致)で合計したい場合は、SUMIF関数を足し算するかSUMPRODUCT関数を使いましょう。
=SUMIF(A2:A7,"りんご",C2:C7)+SUMIF(A2:A7,"みかん",C2:C7)
りんご1,200 + みかん760 = 1,960 が結果です。
まとめ
SUMIF関数のポイントをおさらいしましょう。
- SUMIF関数は「条件を1つ指定して合計する」関数
- 書き方: =SUMIF(範囲, 検索条件, [合計範囲])
- 比較演算子(>= / <> など)で以上・以下の条件を指定できる
- ワイルドカード(* / ?)で部分一致の合計ができる
- 結果が0になったらスペース・全角半角・文字列型を確認
- 条件が2つ以上ならSUMIFS関数に切り替え
SUMIF関数を使いこなせば、大量データから必要な数値だけを取り出せます。集計作業の効率が大幅にアップするので、ぜひ活用してみてください。
