LEVEL 4 計算の基礎を固める 中級
Lesson 041

SUMIF関数について

練習用Excelファイル lesson041-practice.xlsx

練習用ファイルは、パソコンからダウンロードしてください。

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でも、引数ダイアログを使ってみてみましょう。

関数ライブラリ
関数ライブラリ

SUMIF関数の引数ダイアログ
SUMIF関数の引数ダイアログ

引数ダイアログ拡大
引数ダイアログ拡大

引数の意味を読み解くと、

  • 範囲: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は次のレッスンで扱います。


ショートカット

※このレッスンに対応するショートカットはありません。

次のLessonへ Lesson 042 SUMIFS関数について