スプレッドシートのSUMIF関数の使い方|条件付き合計をマスターしよう
「売上データから特定の商品だけを合計したい」「部署ごとの経費を集計したい」。こんな場面、仕事でよくありますよね。
SUM関数で全体を合計することはできますよね。でも、条件で絞り込んだ合計は手作業になりがちです。データが増えるたびに足し直すのは非効率です。
そんなときに使うのが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)
演算子を "" で囲み、& でセル参照を連結するのがポイントです。
ワイルドカードを使う
部分一致で検索したい場合はワイルドカードが使えます。
| 記号 | 意味 | 使用例 | マッチする値 |
|---|---|---|---|
* | 任意の文字列(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関数の実務活用パターン
基本がわかったところで、仕事でよく使うパターンを紹介します。
パターン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になる」ケースです。
| 原因 | 症状 | 対処法 |
|---|---|---|
| 余分なスペース | 「りんご 」と「りんご」が不一致 | TRIM関数でスペースを除去 |
| 全角・半角の不一致 | 「ABC」と「ABC」が不一致 | ASC関数(半角化)またはJIS関数(全角化)で統一 |
| 文字列型の数値 | 数値に見えるが左揃え表示 | VALUE関数で数値に変換 |
| 範囲指定のずれ | 検索範囲と合計範囲の行がずれている | 範囲の先頭行を揃える |
| 検索条件の引用符忘れ | =SUMIF(A:A,りんご,B:B) | 文字列は "りんご" と囲む |
NOTE
SUMIF関数は大文字・小文字を区別しません。「Apple」と「apple」は同じ条件として扱われます。
#VALUE! エラーが出る場合
| 原因 | 対処法 |
|---|---|
| 条件の文字数が255文字を超えている | 条件を短くするか、セル参照に変更 |
| 範囲と合計範囲のサイズが大きく異なる | 同じ行数・列数に揃える |
結果がおかしいと感じたら
期待した値にならない場合は以下を確認してみてください。
- 検索範囲のセルをダブルクリック: 前後にスペースが入っていないか
- セルの表示形式を確認: 数値が文字列として保存されていないか(左揃え=文字列の可能性大)
- COUNTIF関数で件数を確認:
=COUNTIF(A2:A100,"りんご")が0ならデータ側に問題あり
TIP
Googleスプレッドシートでは、メニューの「データ」→「データクリーンアップ」を使うと、文字列になっている数値をまとめて変換できます。
似た関数との違い・使い分け
条件付きの集計関数はSUMIF以外にもあります。目的に応じて使い分けましょう。
| 関数名 | 用途 | 条件数 | 使用例 |
|---|---|---|---|
| SUM | 無条件で合計 | なし | =SUM(A1:A10) |
| SUMIF | 1条件で合計 | 1つ | =SUMIF(B:B,"東京",A:A) |
| SUMIFS | 複数条件で合計 | 複数 | =SUMIFS(A:A,B:B,"東京",C:C,">=100") |
| SUMPRODUCT | 配列の積を合計 | 配列式 | =SUMPRODUCT(A1:A10,B1:B10) |
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関数に切り替えましょう。
Excelとの違い
SUMIF関数の基本的な動作はExcelと同じです。ほぼ同じ感覚で使えますが、細かい違いがあります。
| 項目 | Googleスプレッドシート | Excel |
|---|---|---|
| 基本動作 | 同じ | 同じ |
| ワイルドカード | * ? 使用可 | * ? 使用可 |
| 比較演算子 | 同じ書き方 | 同じ書き方 |
| 引数の上限 | 同じ(3つ) | 同じ(3つ) |
| 大文字小文字の区別 | 区別しない | 区別しない |
| 正規表現 | 使用不可(REGEXMATCHで代替) | 使用不可 |
大きな違いはありません。ExcelのSUMIF関数に慣れている方は、同じ書き方でそのまま使えますよ。
まとめ
SUMIF関数のポイントをおさらいしましょう。
- SUMIF関数は「条件を1つ指定して合計する」関数
- 書き方:
=SUMIF(範囲, 条件, [合計範囲]) - 比較演算子(
>=/<>など)で数値条件を指定できる - ワイルドカード(
*/?)で部分一致の合計ができる - 結果が0になったらスペース・全角半角・文字列型を確認
- 条件が2つ以上ならSUMIFS関数に切り替え
まずは基本の =SUMIF(範囲, "条件", 合計範囲) から試してみてください。条件付き集計ができると、レポート作成がグッと速くなりますよ。
