Googleスプレッドシート、Excelで用いることができる『SUMIF関数』
『SUM関数』と『IF関数』をあわせたような関数で、条件に当てはまる項目(もしくは、対応する列)を足し合わせることができる関数です。
かなりよく使う関数なので、ぜひともマスターしておきたいところ。気になる方は、ぜひ最後までご覧になってくださいましー。
この記事は、Googleスプレッドシートベースで解説記事を作成してますが、エクセルでも同様に使用することができる関数です。
こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。新卒ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
SUMIF関数とは
『SUMIF関数』は、条件に合致する範囲の合計を返してくれる関数です。
SUMIF関数の構文
SUMIF(範囲, 条件, [合計範囲])
項目 | 内容 |
範囲 | 条件を適応させる範囲 |
条件 | 条件を記載します。 第一引数『範囲』にテキストがある場合は、ワイルドカードを使用しての検索が可能です。 |
合計範囲 | 【省略可】合計さしたい値がある範囲。省略した場合は、第一引数の『範囲』が合計されます。 |
SUMIF関数を実際に使ってみた
サンプルデータとして、購買ログデータを用いてみます。
何時何分、なにが何個いくらで売れたのかといったデータです。
商品ごとの合計を求める
=sumif($C:$C,H3,$F:$F)
『SUMIF関数』は、第一引数に条件を当てはめる範囲を選択します。今回は商品がどれかで条件分岐するので、該当箇所であるC列を指定しています。
第二引数は、条件を選択します。今回は、商品名を指定するので、I3セルに入力する『SUMIF関数』式には、商品Aと記載がある『H3セル』を指定します。
第三引数は、足し合わせたい数値が入っている範囲を指定します。今回は、F列が対象となります。
データの種類と集計したい事柄によっては、第一引数と第三引数が一致することもあるかと思います。そしたら、第三引数は省略しても問題ありません。
(例えば、1回のお買いもの1000円以上の合計を知りたい場合は、条件を当てはめる範囲も、足し合わせる範囲もともにF列となるので、第三引数は指定不要です)
購入日ごとの合計を求める
=sumif($A:$A,H3,$F:$F)
先の商品名と同じように、日付も条件で指定することが出来ます。
第一引数に、日付情報が入っている『A列』を、第二引数に条件としたい日付が入っている『H列の各セル』を、第三引数に合計金額の『F列』を指定すればOKです。
月ごと(任意の日にちの期間)の合計を求める
お次は、6月の売上、7月の売上といった、任意の日付の期間の合計金額を調べる方法です。
『SUMIF関数』は複数の条件を当てはめることができなく、また『◯以上◯以下といった範囲』を指定する比較演算子もないことから、6月1日~6月30日の合計金額を調べるには、6月30日(を含む)までの合計金額から、6月1日(は含まない)までの合計金額を引くことで調べることが出来ます。
=SUMIF($A:$A,"<="&I3,$F:$F)-SUMIF($A:$A,"<"&H3,$F:$F)
第二引数に比較演算子を含んだ条件を書くことが出来ます。
比較演算子とは、(=,<>,<,<=,>,>=)こういう記号で、数字の大小や一致、不一致を条件に付することができるものになります。
時間帯ごとの合計を求める
=SUMIF($B:$B,"<="&I3/24,$F:$F)-SUMIF($B:$B,"<"&H3/24,$F:$F)
時間帯ごとの合計値を算出するには、考え方は一つ前の【月ごと(任意の日にちの期間)の合計を求める】と同じなのですが、時間を取り扱う場合は、『シリアル値』に注意が必要です。
スプレッドシートやExcelの時間情報は、24時間を『1』とするシリアル値というもので管理されています。
【H列:I列】のように、時間帯を単純な値で指定している場合は、24で割るという処理をしないと、サンプルデータのB列と適切に値の大小比較をすることができない点に注意が必要です。
=SUMIF($B:$B,"<="&I3,$F:$F)-SUMIF($B:$B,"<"&H3,$F:$F)
この集計表のように、最初から【H列:I列】を時間表記にしても、問題なく動きます。
その場合は、24で割るといった処理は不要です。
そのときの集計表に合わせて、関数を組むようにしてください。
SUMIF関数まとめ
『SUMIF関数』は、条件に基づいて、合計値を算出してくれる関数です。
集計の基本で良く使われるので、マスターしておきたいですね!