「売上データから特定の商品だけを合計したい」「部署ごとの経費を集計したい」。こんな場面、仕事でよくありますよね。
SUM関数で全体を合計することはできますよね。でも、条件で絞り込んだ合計は手作業になりがちです。データが増えるたびに足し直すのは非効率ですよね。
そんなときに使うのがスプレッドシートのSUMIF関数です。この記事ではSUMIF関数の使い方を、基本の書き方から比較演算子・ワイルドカードの活用、よくあるエラーの切り分けまで紹介します。
スプレッドシートのSUMIF関数とは?
スプレッドシートのSUMIF関数(読み方: サムイフ関数)は、指定した条件に一致するセルの値だけを合計する関数です。「SUM(合計)」+「IF(もし)」が名前の由来です。「もし条件に合えば合計する」という意味になっています。
たとえば売上表で「りんごの売上だけを合計したい」場面を考えてみましょう。A列に商品名、B列に売上金額が並んでいるとします。SUMIF関数を使えば、A列から「りんご」を探して該当行のB列を自動で合計してくれます。
SUMIF関数にできることをまとめると、次のとおりです。
- 文字列が一致するセルの値を合計する
- 数値の大小(100以上、500未満など)で絞り込んで合計する
- ワイルドカードで部分一致の合計ができる
- 「〇〇以外」の合計も1つの数式で求められる
「条件に合うものだけ足してね」とお願いする関数、というイメージですよ。
NOTE
SUMIF関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心ですよ。
SUMIF関数の書き方(構文と引数)
基本構文
=SUMIF(範囲, 条件, [合計範囲])
カッコの中に、検索する範囲・条件・合計する範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 範囲 | 必須 | 条件を検索するセル範囲(例: A2:A20) |
| 条件 | 必須 | 合計対象を絞り込む条件(文字列・数値・セル参照など) |
| 合計範囲 | 任意 | 実際に合計するセル範囲(省略時は「範囲」を合計) |
第3引数の「合計範囲」は省略できます。省略すると「範囲」そのものが合計対象になります。ただし実務では「範囲」と「合計範囲」を分けて使うのが一般的ですよ。
TIP
合計範囲は範囲と同じサイズにするのが基本です。ただし、合計範囲の先頭セルの位置を基準に範囲と同じサイズで自動展開されます。たとえば範囲がA2:A10なら、合計範囲にB2だけ指定してもB2:B10として処理されますよ。
SUMIF関数の基本的な使い方
売上データを例にSUMIF関数を使ってみましょう。A列に商品名、B列に金額が入っています。

| A列(商品名) | B列(金額) | |
|---|---|---|
| 2行目 | りんご | 100 |
| 3行目 | みかん | 200 |
| 4行目 | りんご | 150 |
| 5行目 | バナナ | 300 |
| 6行目 | りんご | 250 |
文字列で条件を指定する
「りんご」の売上合計を求めるには、次のように入力します。
=SUMIF(A2:A6,"りんご",B2:B6)

- A2:A6(範囲): ここから「りんご」を探す
- “りんご”(条件): この文字列と一致するものが対象
- B2:B6(合計範囲): 一致した行のB列を合計する
A2・A4・A6が「りんご」なので、100 + 150 + 250 = 500 が結果ですね。

セル参照で条件を指定する
条件をセル参照にすると便利です。D2セルに商品名を入力し、数式で参照します。
=SUMIF(A2:A6,D2,B2:B6)

D2を「みかん」に変えれば200、「バナナ」に変えれば300と自動で切り替わります。集計用ダッシュボードに便利ですよ。
合計範囲を省略する
数値だけの列で「200以上の合計」を求めたい場合、合計範囲を省略できます。
=SUMIF(B2:B6,">=200")
範囲と合計範囲が同じ列なので第3引数は不要ですね。結果は 200 + 300 + 250 = 750 です。
SUMIF関数の条件指定パターン
SUMIF関数ではさまざまな条件を使えます。実務でよく使うパターンをまとめました。
比較演算子を使う
数値の大小で絞り込むには比較演算子を使います。演算子はダブルクォーテーションで囲んでください。
| 書き方 | 意味 | 使用例 |
|---|---|---|
">=200" | 200以上 | =SUMIF(B2:B6,">=200",B2:B6) |
">200" | 200より大きい | =SUMIF(B2:B6,">200",B2:B6) |
"<=100" | 100以下 | =SUMIF(B2:B6,"<=100",B2:B6) |
"<>0" | 0以外 | =SUMIF(B2:B6,"<>0",B2:B6) |
セル参照と演算子を組み合わせることもできます。E2セルに基準値が入っている場合は次のように書きます。
=SUMIF(B2:B6,">="&E2,B2:B6)
!_images/spreadsheet-sumif-function/05_formula_sumif-operator.png
演算子を "" で囲み、& でセル参照を連結するのがポイントですよ。
ワイルドカードを使う
部分一致で検索したい場合はワイルドカードが使えます。
| 記号 | 意味 | 使用例 | マッチする値 |
|---|---|---|---|
* | 任意の文字列(0文字以上) | "りんご*" | りんご、りんごジュース |
? | 任意の1文字 | "?かん" | みかん、ゆかん |
~* | *そのものを検索 | "~*印" | *印 |
~? | ?そのものを検索 | "~?マーク" | ?マーク |
たとえば「り」で始まる商品の売上を合計するには次のように書きます。
=SUMIF(A2:A6,"り*",B2:B6)
TIP
データに
*や?が含まれる場合、チルダ~を前に付けると記号そのものを検索できますよ。
不一致(〇〇以外)で絞り込む
「りんご以外」の合計を出すには <> を使います。
=SUMIF(A2:A6,"<>りんご",B2:B6)
結果は 200 + 300 = 500 です。空白セルがあると合計に影響する場合があるので注意してくださいね。
日付を条件にする
日付で絞り込む場合は、比較演算子とDATE関数を組み合わせます。
=SUMIF(A2:A20,">="&DATE(2026,4,1),B2:B20)
DATE関数と & で連結するのが確実な方法です。日付を直接文字列で指定すると、環境(ロケール設定)によって解釈が変わる場合がありますよ。
SUMIF関数の実務活用パターン5選
基本がわかったところで、仕事でよく使うパターンを紹介します。
パターン1: 部署別の経費集計
A列に部署名、B列に経費金額が入った経費データから「営業部」の合計を出します。
=SUMIF(A2:A100,"営業部",B2:B100)
プルダウンリストで部署を選べるようにしておけば、セル参照で切り替えられます。報告用の集計表を作るときに便利ですよ。
パターン2: 商品カテゴリ別の売上集計
カテゴリ名が「飲料」「食品」「日用品」のように分かれている表で、ワイルドカードを活用します。
=SUMIF(A2:A100,"飲料*",C2:C100)
「飲料」で始まるすべての商品の売上を合計できます。サブカテゴリまで含めた集計に便利ですよ。
パターン3: 目標金額以上の売上だけを集計
売上が目標金額(例: 10,000円)以上のデータだけを集計したい場合です。
=SUMIF(B2:B100,">="&D1,B2:B100)
D1セルに目標金額を入れておけば、値を変えるだけで集計条件を調整できますよ。
パターン4: 空白以外のセルだけを合計
データに空白セルが混在している場合、空白以外のセルだけを合計します。
=SUMIF(A2:A100,"<>",B2:B100)
"<>" は「空白でない」という意味です。商品名が入力されている行だけの売上を合計したいケースで活用できますよ。
パターン5: 特定の担当者の売上合計を一気にコピー
担当者名をセル参照にして、複数人分の集計表を一気に作成するパターンです。
=SUMIF($A$2:$A$100,E2,$C$2:$C$100)
範囲と合計範囲を絶対参照($付き)にしておけば、数式を下にコピーするだけで全員分の集計が完成しますよ。
よくあるエラーと対処法
SUMIF関数で思った結果にならないケースをまとめました。
SUMIF関数の結果が0になる原因
SUMIF関数で最も多いトラブルは「結果が0になる」ケースです。原因は次の5パターンに分類できます。
| 原因 | 症状 | 対処法 |
|---|---|---|
| 余分なスペース | 「りんご 」と「りんご」が不一致 | TRIM関数でスペースを除去 |
| 全角・半角の不一致 | 「ABC」と「ABC」が不一致 | ASC関数(半角化)またはJIS関数(全角化)で統一 |
| 文字列型の数値 | 数値に見えるが左揃え表示 | VALUE関数で数値に変換 |
| 範囲指定のずれ | 検索範囲と合計範囲の行がずれている | 範囲の先頭行を揃える |
| 検索条件の引用符忘れ | =SUMIF(A:A,りんご,B:B) | 文字列は "りんご" と囲む |
NOTE
SUMIF関数は大文字・小文字を区別しません。「Apple」と「apple」は同じ条件として扱われますよ。
#VALUE! エラーが出る場合
| 原因 | 対処法 |
|---|---|
| 条件の文字数が255文字を超えている | 条件を短くするか、セル参照に変更 |
| 範囲と合計範囲のサイズが大きく異なる | 同じ行数・列数に揃える |
結果がおかしいと感じたときの切り分けフロー
期待した値にならない場合は以下を順番に確認してみてください。
- 検索範囲のセルをダブルクリック: 前後にスペースが入っていないか確認します
- セルの表示形式を確認: 数値が文字列として保存されていないか確認します(左揃え=文字列の可能性大)
- COUNTIF関数で件数を確認:
=COUNTIF(A2:A100,"りんご")が0ならデータ側に問題ありです - データクリーンアップを試す: メニューの「データ」→「データクリーンアップ」で文字列数値を一括変換できます
このフローで原因の8〜9割は特定できますよ。
TIP
COUNTIF関数で件数が0なら「データ側の不一致」、件数が出るのに合計が0なら「合計範囲の型違い」の可能性が高いです。切り分けの目安にしてくださいね。
似た関数との違い・使い分け
条件付きの集計関数はSUMIF以外にもあります。目的に応じて使い分けましょう。
| 関数名 | 用途 | 条件数 | 配列対応 | 使用例 |
|---|---|---|---|---|
| SUM | 無条件で合計 | なし | × | =SUM(A1:A10) |
| SUMIF | 1条件で合計 | 1つ | × | =SUMIF(B:B,"東京",A:A) |
| SUMIFS | 複数条件で合計 | 複数(最大127) | × | =SUMIFS(A:A,B:B,"東京",C:C,">=100") |
| SUMPRODUCT | 配列の積を合計 | 配列式 | ○ | =SUMPRODUCT(A1:A10,B1:B10) |
| FILTER+SUM | 抽出して別途集計 | 複数(AND/OR) | ○ | =SUM(FILTER(A:A,B:B="東京")) |
SUM関数とSUMIF関数の使い分け
SUM関数は「全部足す」、SUMIF関数は「条件に合うものだけ足す」関数です。
たとえば売上一覧から東京支店の売上だけを合計したいならSUMIF関数の出番です。条件なしの全体合計ならSUM関数を使いましょう。
SUMIF関数とSUMIFS関数の使い分け
SUMIF関数とよく混同されるのがSUMIFS関数です。最大の違いは条件の数と引数の順番です。
| 比較項目 | SUMIF | SUMIFS |
|---|---|---|
| 条件の数 | 1つだけ | 複数(最大127個) |
| 引数の順番 | 範囲 → 条件 → 合計範囲 | 合計範囲 → 条件範囲1 → 条件1 → ... |
| ワイルドカード | 使える | 使える |
| 比較演算子 | 使える | 使える |
=SUMIF(A2:A10, "りんご", B2:B10)
=SUMIFS(B2:B10, A2:A10, "りんご")
SUMIF関数は「範囲 → 条件 → 合計範囲」の順です。一方、SUMIFS関数は「合計範囲」が先頭に来ます。条件が1つだけならSUMIF関数がシンプルですよ。条件が2つ以上ならSUMIFS関数に切り替えましょう。
SUMPRODUCT・FILTER との使い分け
SUMPRODUCT関数は配列の積を合計する関数で、OR条件や複雑な計算に強いのが特徴です。「単価×数量の合計」のような積和の集計や、複数条件をOR結合したい場合に便利ですよ。
一方、FILTER関数で抽出した結果をSUMで合計する方法もあります。途中の抽出結果を別セルに表示したいときや、可読性を重視したい場合はFILTER+SUMがおすすめです。
シンプルな1条件ならSUMIF、複数条件ならSUMIFS、配列計算ならSUMPRODUCT、抽出を見せたいならFILTER+SUM、と覚えておくと迷いませんよ。
Excelとの違い
SUMIF関数の基本的な動作はExcelと同じです。ほぼ同じ感覚で使えますが、細かい違いがあります。
| 項目 | Googleスプレッドシート | Excel |
|---|---|---|
| 基本動作 | 同じ | 同じ |
| ワイルドカード | * ? 使用可 | * ? 使用可 |
| 比較演算子 | 同じ書き方 | 同じ書き方 |
| 引数の上限 | 同じ(3つ) | 同じ(3つ) |
| 大文字小文字の区別 | 区別しない | 区別しない |
| 正規表現 | 使用不可(REGEXMATCHで代替) | 使用不可 |
大きな違いはありません。ExcelのSUMIF関数に慣れている方は、同じ書き方でそのまま使えますよ。
まとめ
SUMIF関数のポイントをおさらいしましょう。
- SUMIF関数は「条件を1つ指定して合計する」関数
- 書き方:
=SUMIF(範囲, 条件, [合計範囲]) - 比較演算子(
>=/<>など)で数値条件を指定できる - ワイルドカード(
*/?)で部分一致の合計ができる - 結果が0になったら「スペース・全角半角・文字列型・範囲ずれ・引用符忘れ」の5原因をチェック
- COUNTIF関数で件数を確認すれば原因の切り分けが速い
- 条件が2つ以上ならSUMIFS関数、配列計算ならSUMPRODUCT、抽出ならFILTERに切り替え
まずは基本の =SUMIF(範囲, "条件", 合計範囲) から試してみてください。条件付き集計ができると、レポート作成がグッと速くなりますよ。