連載
» 2018年02月21日 05時00分 公開

Tech TIPS:Excelの「SUMIF」関数で特定の条件に合うセルだけを集計する

Excelを使ってデータ集計を行う際に、特定の営業所だけの売上合計を計算するのに、SUMIF関数を使う方法を紹介する。

[小林章彦,デジタルアドバンテージ]

対象:Excel 2010/2013/2016


Excelのフィルター機能を使って合計を計算する

 Excelを使って、売上やアンケートなどのデータ集計を行う際、特定の営業所や社員の売上合計を計算したり、特定の曜日に来場した人数を合計したりしたいことはないだろうか。このような場合、Excelのフィルター機能を使って、条件に合致するセル(行)を抽出してSUBTOTAL関数を使って合計する、というのがよく使われる手だ。

フィルター機能を使う(1) フィルター機能を使う(1)
フィルター機能を使って、特定の文字列が入った行のみを表示させる。
フィルター機能を使う(2) フィルター機能を使う(2)
フィルターがオンになったら、セルの右下にある「▼」をクリックする。絞り込みたいものだけに、チェックを入れて、その文字列で絞り込む。
フィルター機能を使う(3) フィルター機能を使う(3)
SUBTOTAL関数を使って、絞り込まれた「売上」列を選択して合計を計算する。

 注意が必要なのは、ここで合計を求める一般的な関数であるSUM関数ではなく、SUBTOTAL関数を使って、「SUBTOTAL(9,<セル範囲>)」とすることだ。SUM関数だと、表示されていないセルの内容も合計されてしまう。SUBTOTAL関数の最初の引数「9」は、指定された範囲の「合計(SUM)」を求めるという指定である(合計以外にも、平均や最大値、最小値など、いろいろと指定できる)。

 このようにフィルター機能を使えば、簡単に条件に合致したものだけを合計できる。ただこの場合、条件が変わるたびにフィルターで選択してからSUBTOTAL関数で合計しなければならず、営業所や社員ごとに売上を集計したい、といったような場合には少々手間がかかってしまう。

ExcelのSUMIF関数を使うともっと楽に合計が計算できる

 このような場合には、特定の範囲の中で条件を設定し、合致したものだけを合計できる「SUMIF」関数を使うとよい。SUMIF関数を使えば、営業所が入力されたセル範囲と特定の営業所名を条件にして、その営業所の売上だけを合計できる。例えば以下は、「札幌」営業所のデータだけを合計する例である。

SUMIF関数の書式 SUMIF関数の書式

SUMIF関数で合計を計算する(1)
SUMIF関数で合計を計算する(1)
SUMIF関数を使うと、特定の文字列に合致した範囲の合計を計算できる。

 条件(この場合は営業所名)をセル(の内容)で指定することも可能である。例えば売上を求めたい営業所名を入力したセルを用意して、売上を入力したいセルにSUMIF関数を設定すれば、式をコピーするだけで、簡単に営業所ごとの売上合計が計算できる。

SUMIF関数で合計を計算する(2)
SUMIF関数で合計を計算する(2)
SUMIF関数を使うと、特定の文字列に合致した範囲の合計を計算できる。

SUMIF関数の条件にはワイルドカードも利用可能

 条件にはワイルドカードも利用できる。例えば、「東京第一営業所」「東京第二営業所」を1つの営業所として売上を計算したければ、条件に「"東京第*"」とすればよい(もちろん、「東京第三営業所」があり、この売上は別に計上したいという場合は、この方法は使えない)。

SUMIF関数で合計を計算する(3)
SUMIF関数で合計を計算する(3)
SUMIF関数の検索条件では、ワイルドカードを使うことができる。例えば、「"東京第*"」とすれば、「東京第」の後ろに何らかの文字列が付いたものが全て検索対象となる。

SUMIF関数の条件が空白の場合は「""」とする

 全営業所の売上合計を計算する際、どの営業所にも属さないような売上は除きたい(営業所名の列が空白)といった場合、SUMIF関数を使って、営業所名の列の空白を除いた全て合計を計算すればよい。空白を除く条件は、「""」となる。

SUMIF関数で合計を計算する(4)
SUMIF関数で合計を計算する(4)
SUMIF関数で「空白」のセルを検索したい場合は、検索条件を「""」とすればよい。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。