Excel SUMIF・SUMIFS 関数の使い方
SUMIF(サムイフ)は、条件に合うセルだけを合計する Excel(エクセル)の関数です。地域別の売上、カテゴリ別の小計、「100 より大きい金額だけ合計」といった集計を1つの数式で行えます。3つの引数、条件の書き方、条件が複数あるときの SUMIFS(引数の順番が逆になります)を、例題と練習問題で身につけましょう。
SUMIF 関数の構文と3つの引数
SUMIF は、範囲の中から検索条件に合うセルを探し、合計範囲の同じ位置にある数値を足します。「条件で絞り込む」と「合計する」を1つの数式で行えます。
条件を調べるセル範囲です(地域の列 A2:A7 など)。SUMIF はこの範囲のセルを1つずつ検索条件と比べます。
合計するセルの条件です。文字列はダブルクォーテーションで囲み("東京")、数値は囲みません(100)。比較演算子も全体を文字列にします(">100")。セルとは & でつなげます(">"&D1)。ワイルドカード("東京*")も使えます。
実際に足す数値のセル範囲です(売上の列 B2:B7 など)。省略すると、範囲そのものが合計されます(B2:B20 の 100 より大きい数だけを合計する場合など)。
SUMIF の基本例題:地域ごとの売上を合計
A 列が地域、B 列が売上です。この SUMIF の基本例題では、「東京」の行だけを合計します。
| 地域 | 売上 |
|---|---|
| 東京 | 1200 |
| 大阪 | 800 |
| 東京 | 950 |
| 福岡 | 600 |
| 東京 | 400 |
SUMIF は A2:A6 から「東京」の行を探し、B2:B6 の同じ行の売上を足します:1200 + 950 + 400 = 2550。文字列の条件は、必ず半角のダブルクォーテーション(")で囲みます。
SUMIFS の例題:地域と商品の2つの条件で合計
同じ表に商品の列を足しました。この SUMIFS の例題では、「東京」で「ノート」の売上だけを合計します。条件が2つなので SUMIFS を使い、合計する範囲を最初に書きます。
| 地域 | 商品 | 売上 |
|---|---|---|
| 東京 | ノート | 1200 |
| 大阪 | ノート | 800 |
| 東京 | ペン | 950 |
| 東京 | ノート | 400 |
SUMIFS は、地域が「東京」かつ商品が「ノート」の行だけを合計します:1200 + 400 = 1600。合計する範囲(C2:C5)は最初の引数です。SUMIF と同じ順番で書くと、エラーにならずに 0 などの間違った値が返ります。
Excel で合計を出す関数の使い分け(SUM・SUMIF・SUMIFS・SUBTOTAL)
Excel の合計の出し方は、「何を合計したいか」で関数が変わります。条件なしなら SUM、条件が1つなら SUMIF、条件が2つ以上なら SUMIFS を選びます。
| やりたいこと | 使う関数 | 数式の例 |
|---|---|---|
| 範囲をそのまま合計する | SUM | =SUM(B2:B6) |
| 条件が1つのセルだけ合計する | SUMIF | =SUMIF(A2:A6, "東京", B2:B6) |
| 条件が2つ以上のセルだけ合計する | SUMIFS | =SUMIFS(C2:C5, A2:A5, "東京", B2:B5, "ノート") |
| フィルターで表示中の行だけ合計する | SUBTOTAL | =SUBTOTAL(109, B2:B6) |
オートフィルターで絞り込んだ結果だけを合計したいときは、SUM ではなく SUBTOTAL の 109 を使います。SUM は非表示の行も含めて合計してしまいます。
SUMIF の条件の書き方(以上・未満・ワイルドカード・セル参照)
条件(検索条件)には、文字列・数値・比較演算子・ワイルドカードを指定できます。比較演算子は、数式の中では文字列として扱うため、必ず " で囲みます。
| 条件 | 書き方 | 意味 |
|---|---|---|
| ちょうど 100 のセル | 100 | 数値はそのまま書く |
| 100 以上のセル | ">=100" | 比較演算子は " で囲む |
| 「東京」以外のセル | "<>東京" | <> は「等しくない」 |
| 「東京」で始まるセル | "東京*" | * は任意の文字列(0文字以上) |
| 「東京」を含むセル | "*東京*" | 前後に * を付ける |
| D1 のしきい値より大きいセル | ">"&D1 | 演算子とセルを & でつなぐ |
D1 の金額より大きい売上だけを合計する(合計範囲を省略)
第3引数(合計範囲)を省略すると、第1引数の範囲そのものが合計されます。条件の範囲と合計する範囲が同じとき(「100 より大きい数だけ合計」など)に便利です。
SUMIFS で複数条件の合計を出す(AND と OR)
SUMIFS に並べた条件は、すべてに当てはまる行だけが合計される AND 条件です。たとえば期間を指定するときは、「以上」と「以下」の条件を同じ範囲に2つ書きます。
日付が 2026/4/1 以上 2026/4/30 以下の売上を合計する
「東京または大阪」のような OR 条件は、SUMIFS を足し算するか、配列定数と SUM を組み合わせます。
地域が「東京」または「大阪」の売上を合計する
条件に合うセルの「個数」を数えたいときは、COUNTIF と COUNTIFS を使います。
SUMIF でつまずきやすい4つの落とし穴
1. SUMIFS は引数の順番が逆(試験でもよく問われる)
SUMIF は「条件が先、合計範囲が後」ですが、SUMIFS は「合計範囲が先、条件が後」です:=SUMIFS(合計範囲, 範囲1, 条件1, …)。順番を間違えてもエラーにならず、0 などの間違った値が返るので、気づきにくいミスです。
2. 検索条件のダブルクォーテーション
文字列の条件は "東京" のように囲みます。数値だけの条件(100)は囲みません。比較演算子は全体が1つの文字列で、">=100" と書きます。>100 をそのまま書くと構文エラーです。
3. 大文字・小文字の区別なし、ワイルドカードで多く合計してしまう
SUMIF は大文字と小文字を区別しません(north と North は同じ)。また "東京*" は、東京都や東京支店のような「東京」で始まる値すべてに一致します。意図しない値が混ざるときは、完全一致の条件にするか、SUMPRODUCT で検算してください。
4. 合計が 0 になる3つの原因
条件の前後に見えないスペースがある(TRIM で除去)、合計範囲の数値が文字列になっている(VALUE で変換)、範囲と合計範囲の開始位置がずれている。どれもエラーにならず、0 が返るだけです。
条件付き合計の比較:SUMIF・SUMIFS・SUMPRODUCT
SUMIF
条件が1つの合計の基本です。書き方が最も短く、読みやすい関数です。「地域別」「カテゴリ別」の集計は、まず SUMIF を考えます。
SUMIFS
条件が2つ以上のときの正解です。「先に合計範囲、後に条件」と覚えましょう。SUMIF とは逆の順番です。Excel 2003 以前のファイルでは使えません。
SUMPRODUCT
どんな条件にも対応できる万能の関数です。=SUMPRODUCT((A2:A7="東京")*B2:B7) のように、条件を掛け算で表します。複雑な条件や、加重平均の計算にも使えます。
Excel と Google スプレッドシートの違い・応用
Microsoft Excel (365 / Desktop)
Excel の SUMIF は、別のシートも参照できます:=SUMIF(Sheet2!A:A, "東京", Sheet2!B:B)。範囲の引数には配列定数を指定できません。複数条件の集計は、SUMIFS か SUMPRODUCT を使ってください。
Google スプレッドシート
Google スプレッドシートでも書式は同じで、=ARRAYFORMULA(SUMIF(...)) で複数の条件をまとめて集計することもできます。=QUERY() でグループごとの集計も1つの数式でできますが、一般的な集計は SUMIF・SUMIFS が基本です。
ほかの条件付き合計の練習問題
SUMIF、SUMIFS による複数条件の合計など、実務に近い場面で練習できます。
よくある質問
SUMIF とは何ですか?
SUMIF(サムイフ)は、条件に合うセルだけを合計する Excel(エクセル)の関数です。書式は =SUMIF(範囲, 検索条件, [合計範囲]) で、「地域が東京の売上だけ合計する」といった集計に使います。
SUMIF の使い方を教えてください。
=SUMIF(A2:A7, "東京", B2:B7) のように、条件を調べる範囲(A2:A7)、条件("東京")、合計する範囲(B2:B7)の順に指定します。条件が文字列や比較演算子のときは、ダブルクォーテーションで囲みます。
SUMIF と SUMIFS の違いは何ですか?
SUMIF は条件を1つしか指定できませんが、SUMIFS は2つ以上指定できます。引数の順番も逆で、SUMIF は「範囲, 条件, 合計範囲」、SUMIFS は「合計範囲, 範囲1, 条件1, 範囲2, 条件2」です。順番を間違えてもエラーにならず、0 などの間違った値が返ります。
SUMIF で複数条件を指定するにはどうしますか?
SUMIFS 関数を使います。=SUMIFS(C2:C5, A2:A5, "東京", B2:B5, "ノート") のように、合計範囲の後ろに「範囲, 条件」の組を必要な数だけ並べます。すべての条件に当てはまる行だけが合計されます。「または」の条件は、SUMIFS を足し算してください。
SUMIF で「〜以上」「〜より大きい」の条件を指定するには?
比較演算子を含めて、ダブルクォーテーションで囲みます。=SUMIF(B2:B20, ">100") は 100 より大きい数だけを合計します。しきい値がセルに入っているときは、=SUMIF(B2:B20, ">"&D1) のようにセル参照とつなぎます。
SUMIF の合計が 0 になるのはなぜですか?
条件の文字列にダブルクォーテーションがない、合計範囲の数値が文字列になっている、条件の前後に余分なスペースがある(TRIM 関数で除去できます)、範囲と合計範囲の大きさや開始位置がずれている、のどれかであることがほとんどです。SUMIF は一致するセルがなくてもエラーにならず、0 を返します。
SUMIF にワイルドカードは使えますか?
使えます。* は任意の文字列、? は任意の1文字を表します。たとえば =SUMIF(A2:A20, "東京*") は「東京」で始まる地域の売上を合計します。ワイルドカードは半角で入力し、英字の大文字と小文字は区別されません。
Google スプレッドシートでも SUMIF は使えますか?
使えます。書式は Excel と同じです。=ARRAYFORMULA(SUMIF(...)) で複数の条件をまとめて集計することもできます。