「SUM」の関数を使いこなそう

数値の合計ができるSUM関数については、[Excel活用術 第3回]でお伝えしました。ただ実際の業務においては「○○のデータだけを合計したい」など、条件付きの合計を求めたい場面が多くあるかと思います。そんな処理もサクサクこなしてくれる、便利な関数をご紹介します。

・SUMIF関数:条件を指定して数値を合計する
・SUMIFS関数:複数の条件を指定して数値を合計する

SUMIF関数

=SUMIF(範囲,検索条件,合計範囲)

SUMIF関数は、指定した条件に一致するセル範囲の数値を合計できます。関数の分類は「数学/三角」です。

範囲:「条件」に合うデータを検索する範囲を指定します
条件:「範囲」で合致するデータを決定するための条件式を、文字列や数値で指定します
合計範囲:合計する数値データがある範囲を指定します。省略した場合には、「範囲」と同じ範囲が選択されます

では、具体例をあげながら解説します!

売上データの例:商品の売上金額を合計する

例えば、以下のような売上データがあり、商品Aの売上金額の合計を求めたい、という場合を考えてみましょう。

SUMIF関数を使い合計金額を出している

「範囲」は《商品名》を検索する範囲であるB2:B7、「条件」は"商品A"、「合計範囲」は合計する《売上金額》の範囲であるE2:E7となります。合計額を表示させたいE9セルに次のように記述すると、商品Aの売上金額の合計が算出されます。

=SUMIF(B2:B7,"商品A",E2:E7)

「範囲」と「合計範囲」の範囲の広さは一致していないとエラーになることがあるので、気をつけましょう。

集客管理データの例:幅のある条件にあてはまる売上金額を合計する

SUMIF関数の条件には、比較演算子を使って幅のある条件を設定することもできます。

例えば、以下のような集客管理データがあり、来場者数が1,500人を越えた日の売上金額の合計を求めるとします。

SUMIF関数を使い、一定条件を超えるセルの合計を出してる

「範囲」は《来場者数》を検索する範囲であるC2:C11、「条件」は">=1500"、「合計範囲」は合計する《売上金額》の範囲であるD2:D11となります。合計額を表示させたいD13セルに次のように記述すると、来場者数が1,500人を越えた日の売上金額だけが合計されます。

=SUMIF(C2:C11,">=1500",D2:D11)

売上管理データの例:日付の範囲を指定して売上金額を合計する

SUMIF関数の条件には日付を指定することができます。

例えば、以下のような集客管理データにおいて、日付を条件として、次のようなパターンで売上金額を合計します。

(1)条件に日付のセル番地を指定して入力する
=SUMIF(日付範囲,"<="&指定日付セル,合計範囲)

(例)A6セルの日付(2023/5/5)以前の売上金額を合計する場合
=SUMIF(A2:A11,"<="&A6,B2:B11)

(2)条件に「yyyy/mm/dd」の形式で日付を入力する
=SUMIF(日付範囲,">=yyyy/mm/dd",合計範囲)

(例)2023年5月6日以降の売上金額を合計する場合
=SUMIF(A2:A11,">=2023/5/6",B2:B11)

SUMIF関数を使い日付の範囲を指定して合計を算出

また、今日の日付以前の売上金額を合計したい場合にはTODAY関数が使えます。
(3)条件にTODAY関数を入力する
=SUMIF(日付範囲,"<="&TODAY(),合計範囲)

応用編!SUMIF関数の「条件」に使える「ワイルドカード」

SUMIF関数の条件には、「*」や「?」などの「ワイルドカード」と呼ばれる文字を使うことができます。

例えば、以下のような売上管理データがあり、商品コードがMで始まる商品の売上金額の合計を求めたい場合、条件に「*」を使います。

SUMIF関数を使い条件に「*」を用いて合計を算出

「*」は0文字以上の任意の文字列を表します。例えば条件に「M*」と入力した場合、文字列が「M」+「任意の文字列」であるデータを検索します。
上の表の場合、B2・B4・B5・B7の商品コードの売上金額が抽出・合計されています。

SUMIF関数を使い条件に「?」を用いて合計を算出

「?」は任意の1文字を表します。例えば条件に「M???」と入力した場合、文字列が「M」+「任意の3文字」であるデータだけを検索します。
上の表の場合、B2・B5の商品コードの売上金額が抽出・合計されています。

SUMIFS関数

=SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2,…)

SUMIFS関数は、複数の条件を指定して、数値を合計する関数です。関数の分類は「数学/三角」です。

合計範囲:合計する数値データがある範囲を指定します
条件範囲1:「条件1」に合うデータを検索する範囲を指定します
条件1:「条件範囲1」で合致するデータを決定するための条件式を、文字列や数値で指定します
条件範囲2:「条件2」に合うデータを検索する範囲を指定します
条件2:「条件範囲2」で合致するデータを決定するための条件式を、文字列や数値で指定します
※条件範囲と条件は、127個まで指定できます

SUMIF関数は「=SUMIF(範囲,検索条件,合計範囲)」だったので、引数に指定する内容の順序が異なります。間違えるとエラーになるので、正確な順序で指定しましょう。

集客管理データの例:幅のある複数条件にあてはまる売上金額を合計する

例えば、以下のような集客管理データがあり、「日曜日以外(条件1)」で「来場者数が1,750人を越えた日(条件2)」の売上金額の合計を求めるとします。

「合計範囲」は《売上金額》の範囲であるD2:D11です。
そして以下の2つの条件設定が必要となります。
(1)B2:B11(条件範囲1)に対して"<>日"(条件1)
(2)C2:C11(条件範囲2)に対して">=1750"(条件2)

SUMIFS関数を使い幅のある複数条件に当てはまる合計を算出

これらを組み合わせて、結果を表示させたいセルに以下のように記述すると、日曜日以外で来場者数が1,750人を越えた日の売上金額だけが合計されます。

=SUMIFS(D2:D11,B2:B11,"<>日",C2:C11,">=1750")

複数の条件は、ORでなくAND条件として処理されます。つまり、すべての条件に一致した検索結果に対応する合計範囲の値が合計されます。

まとめ

今回は、SUM関数から一歩進んで、指定した条件に合う数値を合計できるSUMIF関数、SUMIFS関数についてご紹介しました。これらの関数を使いこなせれば、売上データの集計や在庫管理、顧客分析など、大量のデータの処理を迅速かつ正確にできるだけでなく、集計結果をもとにした適切な意思決定を行うことにもつながります。ビジネススキルとして、ぜひ覚えておきましょう。