SUMIF関数について
SUM関数は範囲内の数値を すべて 合計しましたが、実務では「特定の条件に合うものだけ合計したい」というシーンが頻発します。
- 「営業部」の人だけの給与合計
- 「東京」の店舗だけの売上合計
- 「お客様A」との取引金額合計
このような 条件付きの合計 ができるのが、SUMIF関数(サムイフ関数) です。
「IF」が付くと、Excelの世界では「条件付き」という意味になります。
これからの関数で何度も出てくる、超重要パターンです。ここで「IF=条件付き」を体に入れておきましょう。
SUMIF関数の構文
=SUMIF(範囲, 条件, 合計範囲)
3つの引数(括弧の中身)があります。
- 範囲:条件をチェックする範囲
- 条件:どんなものを集計したいか
- 合計範囲:合計したい数値の範囲
SUMは引数1つ(範囲だけ)でしたが、SUMIFは「どこを見て」「何を探し」「どこを足すか」の3点セットになります。
具体例で見てみる
社員データがあるとします。B列が部署、C列が給与です。
:::excel
A1=社員名
B1=部署
C1=給与
A2=田中
B2=営業部
C2=300000
A3=鈴木
B3=人事部
C3=280000
A4=佐藤
B4=営業部
C4=350000
A5=山田
B5=経理部
C5=320000
A6=高橋
B6=営業部
C6=330000
:::
ここから「営業部の給与合計」を出したいとき、こう書きます。
:::excel
A1=社員名
B1=部署
C1=給与
A2=田中
B2=営業部
C2=300000
A3=鈴木
B3=人事部
C3=280000
A4=佐藤
B4=営業部
C4=350000
A5=山田
B5=経理部
C5=320000
A6=高橋
B6=営業部
C6=330000
B8=営業部の給与合計
C8==SUMIF(B2:B6,"営業部",C2:C6) -> 980000 *
:::
営業部の3人(田中・佐藤・高橋)の給与、300000+350000+330000=980000 が返りました。
実際のExcelでも、引数ダイアログを使ってみてみましょう。



引数の意味を読み解くと、
- 範囲:B2:B6(部署列)をチェックして、
- 条件:「営業部」のものを探し、
- 合計範囲:その対応する C2:C6(給与列)を合計
という流れです。「部署列を見て、営業部の行だけ、給与を足す」と日本語で読むと分かりやすいです。
条件の書き方
SUMIF関数の 条件 は、「ダブルクォート」で囲むのがルールです。
=SUMIF(B2:B6, "営業部", C2:C6)
「営業部」のように、文字列で条件を指定するときは、必ず " で囲む。
これは Excel関数の お約束 です。最初は忘れがちなので、「文字の条件はクォートで包む」と覚えてください。
比較演算子も使える
「等しい」だけでなく、「以上」「以下」のような比較条件も指定できます。
たとえば、さきほどの給与データで「320000円以上の給与合計」を出したいとき。
:::excel
B2=300000
B3=280000
B4=350000
B5=320000
B6=330000
A1=320000以上の合計
B1==SUMIF(B2:B6,">=320000") -> 1000000 *
:::
350000(佐藤)+320000(山田)+330000(高橋)=1000000。3人分が合計されました。
主な比較演算子は次の通りです。すべてダブルクォートで囲みます。
| 書き方 | 意味 |
|---|---|
">100" | 100より大きい |
">=100" | 100以上 |
"<100" | 100より小さい |
"<=100" | 100以下 |
"<>100" | 100ではない |
ワイルドカードも使える
部分一致の検索ができる ワイルドカード(特殊な記号)も使えます。
*:何文字でもOKの代わり?:1文字だけの代わり
たとえば、社員名で「田で始まる人の給与合計」。
:::excel
A2=田中
A3=田村
A4=佐藤
A5=田所
A6=鈴木
B2=300000
B3=250000
B4=350000
B5=280000
B6=320000
B1==SUMIF(A2:A6,"田",B2:B6) -> 830000
:::
「田中」「田村」「田所」が対象になり、300000+250000+280000=830000。佐藤・鈴木は「田」で始まらないので除外されます。
「部で終わる部署の集計」のように、"*部" と書けば「○○部」で終わるすべてが対象になります。* は「ここに何文字あってもいい」という意味だと覚えてください。
セル参照を条件にする
条件を、別のセルに書いておくこともできます。
たとえば、B1 セルに「営業部」と入力しておいて、それを条件として参照します。
:::excel
A2=田中
A3=田村
A4=佐藤
A5=田所
A6=鈴木
B2=営業部
B3=人事部
B4=営業部
B5=経理部
B6=営業部
C2=300000
C3=280000
C4=350000
C5=320000
C6=330000
B1=営業部
C1==SUMIF(B2:B6,B1,C2:C6) -> 980000 *
:::
このとき、ダブルクォートは不要 です。「B1」というセル参照そのものが条件として使われます。
文字列を直接書くときは "営業部"、セルを参照するときは B1(クォートなし)。ここは混同しやすいので注意してください。
これは便利な書き方で、B1 の中身を変えるだけで集計対象が変わります。「B1を人事部に変える → すぐ人事部の合計に再計算」という、ちょっとした シミュレーション ができます。
レッスン036の絶対参照で学んだ「1か所変えれば全部変わる」発想と同じですね。
「範囲」と「合計範囲」が同じこともある
先ほどの「320000円以上の給与合計」のように、条件をチェックする範囲 と 合計する範囲 が同じ列になることがあります。
=SUMIF(C2:C6, ">=320000", C2:C6)
実は、範囲と合計範囲が同じ場合は、3つ目の引数を省略できます。
=SUMIF(C2:C6, ">=320000")
この書き方でも、同じ結果になります。
給与列を見て、給与列を合計するので、わざわざ2回書かなくてよい、ということです。覚えておくと、シンプルに書けます。
実務での登場シーンは少なめですけれどもね。
まとめ
- SUMIF関数で、条件に合うデータだけ合計
- 構文:=SUMIF(範囲, 条件, 合計範囲)
- 条件は ダブルクォートで囲む(文字列・比較演算子)
- ワイルドカード(
*、?)で部分一致もOK - セル参照を条件にするときはダブルクォート不要
- 範囲と合計範囲が同じなら、3つ目の引数を省略可能
これでSUM関数の世界が、ぐっと広がります。「IF=条件付き」の感覚は、これから登場する条件付き関数すべての土台になるので、ここでしっかりつかんでおいてください。
なお、「営業部 かつ 東京」のように 複数の条件 で合計したいときは、SUMIFS関数(エスが付く)という発展形があります。実務ではこちらもよく使いますが、まずは基礎であるSUMIFを確実に。SUMIFSは次のレッスンで扱います。
ショートカット
※このレッスンに対応するショートカットはありません。