Excelでデータ集計するときに多用するオートフィルター機能。
条件に合致したデータのみを絞り込むオートフィルター機能は、データを分析したり加工するのに欠かせない機能です。そして、オートフィルターと相性の良い関数というのも存在します。
たとえばオートフィルターで絞り込んだ件数のみを「カウント」する関数や、「合計計算」をする関数などです。
実は、ExcelのSUBTOTAL関数を使えば、それらを簡単に実現することができます。
今回の記事では、オートフィルターで絞り込んだデータのみ合計計算(SUM)する関数の使い方を紹介します。
オートフィルターで絞り込んだデータのみを合計計算(SUM)
Excelのオートフィルターで絞り込んだデータのみを合計計算する場合、SUM関数は使いません。詳しくは後述しますが、SUM関数を使ってしまうとオートフィルターを無視して、カッコ内で記述したセル範囲の合計を計算してしまうのです。
SUBTOTAL関数の概要
機能的にはSUMと同じく合計計算という動きをするのですが、SUBTOTALという関数を使えば、オートフィルターで絞り込んだデータのみを合計計算することができます。
さらにSUBTOTAL関数は万能型の関数で、引数を設定することでオートフィルター後の「合計の計算」、「データ個数のカウント」、「平均値」、「最大値」など、用途に応じた結果を算出することができます。
基本:=SUBTOTAL(集計方法,セル範囲)
合計:=SUBTOTAL(9,セル範囲)
個数:=SUBTOTAL(3,セル範囲)
引数として設定する[集計方法]は下記の11通りです。
集計方法 | 引数 |
---|---|
AVERAGE | 1 |
COUNT | 2 |
COUNTA | 3 |
MAX | 4 |
MIN | 5 |
PRODUCT | 6 |
STDEV | 7 |
STDEVP | 8 |
SUM | 9 |
VAR | 10 |
VARP | 11 |
当記事で実例紹介するのは、「3」と「9」です。
SUBTOTAL関数の実例
下記のイメージ図がSUBTOTALの実例です。1行目から8行目にかけてオートフィルターで絞り込んだデータのみが表示されています。
13・14行目では、COUNTA関数を使ってデータ個数を、SUM関数を使って合計値を計算していますが、オートフィルターで隠れているデータも計算の対象になっていることが分かります。
一方、16・17行目では、どちらもSUBTOTAL関数を使ってデータ個数や合計値を計算しています。計算結果は、オートフィルターで絞り込んだデータのみが対象になっていることが分かります。
なお、前述の通り、データ個数の場合は「3」、合計の場合は「9」の引数を設定します。