らくらくIT活用術

PC活用講座 - Excel

「Excelの便利機能活用術」
データ集計をSUMIF、COUNTIF関数などで簡略化する

ITライター 立山秀利

Excelでは、SUMIF関数やSUMIFS関数を利用すれば、指定した条件に合致するデータの合計を求められる。また、条件に応じてデータの個数を求めるCOUNTIF関数やCOUNTIFS関数も用意されている。今回はそれらの関数の使い方を紹介する。

条件に合致するデータの合計を求めるSUMIF関数

合計を求める際には、SUM関数がよく使われる。SUM関数は指定したセル範囲を単純に合計するだけだが、業務ではセル範囲の中で条件に合致するデータだけを合計したいシーンにしばしば遭遇する。

そのような場合に便利な関数がSUMIF関数だ。指定したセル範囲の中で、指定した条件に合致するセルのデータだけを合計して計算してくれる。
----------------------------------------
=SUMIF(範囲, 検索条件, [合計範囲])

範囲   評価の対象となるセル範囲
検索条件 検索の条件
合計範囲 計算の対象となるセル範囲
----------------------------------------

第2引数「検索条件」には、条件となる数値や文字列、式のいずれかを指定する。文字列か式を直接指定する場合は、「"」で囲って記述する必要がある。第3引数「合計範囲」は省略可能であり、省略すると、第1引数「範囲」で指定したセル範囲が計算の対象となる。

例えば、次のような売上データの表があるとする。A列は日付、B列は氏名、C列は会員区分、D列は金額とする。会員区分は「シルバー」、「ゴールド」、「プラチナ」の3種類とする。売上データは4~24行目まで入力されているとする。

図

(画像をクリックすると拡大表示します)

ここでG4セルに、会員区分が「シルバー」の合計金額を求めたいとする。そのためのSUMIF関数は次のように指定すればよい。
----------------------------------------
=SUMIF(C4:C24,"シルバー",D4:D24)
----------------------------------------

第1引数「範囲」には、会員区分のデータが入っているC4~C24セルを指定する。第2引数「検索条件」には、目的の会員区分である「シルバー」を指定する。文字列なので「"」で囲って記述する。合計を求めたいのはD列の金額なので、第3引数「合計範囲」に、該当するセル範囲のD4~D24セルを指定する。

上記式をG4セルに入力すると、会員区分が「シルバー」の合計金額が求められる。

図

(画像をクリックすると拡大表示します)

会員区分が「ゴールド」や「プラチナ」の合計金額も、同様にSUMIF関数を使えば集計できる。

複数の条件に合致するデータの合計を求めるSUMIFS関数

SUMIF関数は1つの条件しか指定できないが、SUMIFS関数なら2つ以上の条件を指定できるので、より複雑な条件で合計を求められる。
----------------------------------------
=SUMIFS(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2)

合計対象範囲 計算の対象となるセル範囲
条件範囲1  評価の対象となるセル範囲の1つ目
条件1    検索の条件の1つ目
条件範囲2  評価の対象となるセル範囲の2つ目
条件2    検索の条件の2つ目
----------------------------------------

第1引数「合計対象範囲」には、合計したいデータのセル範囲を指定する。第2引数「条件範囲1」と第3引数「条件1」で1つ目の条件を指定する。指定方法はSUMIF関数と同じだ。第4引数「条件範囲2」と第5引数「条件2」で2つ目の条件を指定する。3つ以上の条件を指定することも可能であり、その場合は条件範囲と条件のセットを必要な数だけ並べて指定すればよい。

例えば、先ほどの例のデータで、G4セルに、会員区分が「シルバー」で、かつ日付が2015/9/7以前の合計金額を求めたいとする。そのためのSUMIFS関数は次のように指定すればよい。
----------------------------------------
=SUMIFS(D4:D24,C4:C24,"シルバー",A4:A24,"<=2015/9/7")
----------------------------------------

第1引数「合計対象範囲」には、金額のセル範囲であるD4~D24セルを指定する。1つ目の条件である「会員区分が『シルバー』」を指定しているのが第2~3引数だ。第2引数「条件範囲1」には会員区分のセル範囲であるC4:C24を指定し、第3引数「条件1」には目的の会員区分「シルバー」を指定する。

2つ目の条件である「日付が2015/9/7以前」を指定しているのが第4~5引数だ。第4引数「条件範囲2」には日付のセル範囲であるA4:A24を指定し、第5引数「条件2」には目的の日付の条件式「<=2015/9/7」を指定する。条件式は「"」で囲って記述する必要がある。

上記式をG4セルに入力すると、会員区分が「シルバー」かつ日付が2015/9/7以前の合計が求められる。

図

条件に合致するデータの数も求められる

COUNT関数はデータの個数を求める関数だが、指定した条件に合致するデータの個数を求められるのがCOUNTIF関数である。
----------------------------------------
=COUNTIF(範囲, 検索条件)

範囲   評価の対象となるセル範囲
検索条件 検索の条件
----------------------------------------

第1引数「範囲」および第2引数「検索条件」の指定方法はSUMIF関数と同じだ。

例えば、先ほどの例のデータで、H4セルに、会員区分が「シルバー」の人数を求めるには、COUNTIF関数を用いた次の式を入力すればよい。
----------------------------------------
=COUNTIF(C4:C24,"シルバー")
----------------------------------------

図

また、2つ以上の条件に合致するデータの個数を求めたい場合は、COUNTIFS関数を利用しよう。
----------------------------------------
=COUNTIFS(検索条件範囲1, 検索条件1, 検索条件範囲2, 検索条件2)

検索条件範囲1  評価の対象となるセル範囲の1つ目
検索条件1    検索の条件の1つ目
検索条件範囲2  評価の対象となるセル範囲の2つ目
検索条件2    検索の条件の2つ目
----------------------------------------

検索条件範囲と検索条件のセットの指定方法はSUMIFS関数と同じだ。

例えば先ほどの例のデータで、H4セルに会員区分が「シルバー」で、かつ日付が2015/9/7以前の人数を求めるには、COUNTIFS関数を用いた次の式を入力すればよい。
----------------------------------------
=COUNTIFS(C4:C24,"シルバー",A4:A24,"<=2015/9/7")
----------------------------------------

図

このようにSUMIF関数やSUMIFS関数、COUNTIF関数やCOUNTIFS関数を利用すれば、様々な条件に応じてデータの合計や個数を求められる。売上の集計や傾向分析など、幅広い業務で有効活用できるだろう。

その他の【Excel】を見る

PC活用講座 一覧へ

立山秀利(たてやま・ひでとし)

カーナビのソフトウェア開発、Webプロデュース業務を経て、現在は、システムやネットワーク、Microsoft Officeを中心に執筆中。 主な著書に『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』などがある。

(監修:日経BPコンサルティング)