SUMIF関数の使い方|条件に合うものだけ合計する

執筆者:

カテゴリ:

SUMIFは、条件に合う行だけを合計する関数です。「東京の売上だけ足したい」「A商品の数量だけ数えたい」といった集計で使います。

Excel・Googleスプレッドシートの両方でまったく同じ書き方で動きます。

書式

=SUMIF(条件の範囲, 条件, [合計する範囲])
引数 内容
条件の範囲 条件を判定する列
条件 判定の内容。文字列や比較式は " で囲む
合計する範囲 実際に足す列。省略すると条件の範囲を合計

引数の順番に注意してください。 条件の範囲が先、合計する範囲が後です。SUMIFS は逆順(合計する範囲が先)なので、混同しやすいところです。

基本の使い方

A B C
1 支店 商品 売上
2 東京 A 1200
3 大阪 A 800
4 東京 B 1500
5 大阪 B 950

東京の売上だけを合計します。

=SUMIF(A2:A5, "東京", C2:C5)

結果:2700(1200 + 1500)

A列から「東京」を探し、その行のC列を足しています。

条件をセル参照にすれば、入力で切り替えられます。

=SUMIF(A:A, E1, C:C)

E1に支店名を入れると、その支店の合計が出ます。列全体で指定すれば、行が増えても数式を直す必要がありません。

条件の書き方

条件はただの一致だけでなく、比較や部分一致も書けます。

条件 意味
"東京" 東京と完全一致
">1000" 1000より大きい
">=1000" 1000以上
"<>東京" 東京以外
"東*" 「東」で始まる(前方一致)
"*店" 「店」で終わる(後方一致)
"*営業*" 「営業」を含む
"?京" 2文字で2文字目が「京」

比較演算子は必ず " の中に入れます。 =SUMIF(C2:C5, >1000) はエラーになります。">1000" と書いてください。

セルの値と比較したいとき

比較演算子とセル参照を組み合わせるには、& で連結します。

=SUMIF(C2:C5, ">"&E1)

E1に1000が入っていれば「1000より大きい」の意味になります。">E1" と書くと、文字列の「E1」を探しに行ってしまうので注意してください。ここは最も間違えやすい箇所です。

ワイルドカード

* は任意の文字列、? は任意の1文字です。

=SUMIF(B2:B5, "A*", C2:C5)

商品名が「A」で始まるものだけ合計します。

*? そのものを検索したい場合は、前に ~ を付けます("~*")。

日付を条件にする

日付は文字列として書くと期待通りに動かないことがあります。DATE 関数か、セル参照を使うのが確実です。

=SUMIF(A2:A100, ">="&DATE(2026,4,1), C2:C100)

「特定の月だけ」を出したい場合は、範囲の上限と下限が要ります。SUMIFは条件を1つしか取れないので、引き算で表現します。

=SUMIF(A:A, ">="&DATE(2026,4,1), C:C) - SUMIF(A:A, ">="&DATE(2026,5,1), C:C)

4月以降の合計から5月以降の合計を引く=4月分。動きますが読みにくいので、素直に SUMIFS を使うほうがいいです。

=SUMIFS(C:C, A:A, ">="&DATE(2026,4,1), A:A, "<"&DATE(2026,5,1))

条件が2つ以上あるとき

SUMIFは条件を1つしか取れません。「東京」かつ「商品A」のような集計には SUMIFS を使います。

=SUMIFS(C2:C5, A2:A5, "東京", B2:B5, "A")

条件が1つでもSUMIFSで書いてしまうという方針もあります。後から条件を足すときに書き直さずに済むためです。

よくある失敗

合計が合わない・0になる

1. 引数の順番が逆

=SUMIF(合計範囲, 条件, 条件範囲) と書いてしまうケース。SUMIFは条件の範囲が先です。

2. 範囲の行数がずれている

条件の範囲が A2:A100、合計する範囲が C2:C50 のように長さが違うと、正しく対応しません。両方の開始行と行数を揃えてください。 列全体(A:AC:C)で指定するのが最も安全です。

3. 余分なスペース

"東京 ""東京" は別物です。見た目では分かりません。疑わしいときは元データを TRIM で整えます。

4. 数値が文字列になっている

他システムから貼り付けたデータでよく起きます。セルが左寄せになっていたら文字列です。合計対象が文字列だと0になります。

5. 比較演算子とセル参照を & でつないでいない

">"&E1 が正解です。">E1" は文字列の「E1」を探します。

#VALUE! が出る

範囲の指定が不正です。別ファイルへの参照が閉じている場合にも出ます。

Excelとの違い

書式・挙動ともにExcelと同じです。 ワイルドカード、比較演算子、& での連結もすべて共通です。

違いは次の点だけです。

  • – Excelには SUMIF の代わりに使える SUMPRODUCT の高速版がありますが、実務では差を感じません
  • – Googleスプレッドシートでは、QUERYFILTER という強力な代替手段が使えます

条件が複雑になってきたら、スプレッドシートでは QUERY を検討する価値があります。SQLに近い書き方で、集計とグループ化を一度に書けます。

まとめ

  • – 書式は =SUMIF(条件の範囲, 条件, 合計する範囲)
  • 条件の範囲が先SUMIFS とは順番が逆
  • – 比較演算子は ">1000" のように " で囲む
  • – セル参照と組み合わせるときは ">"&E1
  • – 条件が2つ以上なら SUMIFS
  • – 合わないときは範囲のずれ・スペース・文字列化を疑う

関連する関数

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です