フィルターを絡ませた集計は、subtotal関数が便利すぎ!

フィルターを絡ませた集計は、subtotal関数が便利すぎ!

excelで集計する時って、

合計ならSum、

個数をみるならcvount、

平均値を出すならaverage、

というように、excelには目的に応じた関数があるので、それを使えば簡単できますね!

例えば、任意の範囲の表に対して、sum関数を使うと以下のように合計を出せます。

ところが、フィルターを使って特定条件で抽出した場合の合計を見たくなった場合、

残念ながら以下のように合計額はフィルターの結果に合せて変わらないので、ひと手間の作業をして合計を出す必要があります。

こういうところが意外にめんどうに感じます(汗)。

ですので、こんな時にフィルターの特定条件での抽出結果に応じた合計がほしくなりませんか?

実は、こんな時にsubtotal関数が超便利すぎるほど便利なんです!

だって、この希望がsubtotal関数一つで実現できてしまうわけですから。

subtotal関数を使った場合、さっきの表はこんなふうになります。

まずは、フィルターのない、いわゆる総合計。

次に、フィルターで特定条件で抽出した場合、

subtotal関数の使い方は至って簡単です。

書式は、

「=SUBTOTAL(集計方法,参照1,[参照2],…)」のように、少なくとも2つの引数を指定して記述します。

通常、一般的な使い方としては、

=SUBTOTAL(集計方法,参照範囲)

そして、合計の場合は、

=SUBTOTAL(9,集計範囲)

のように、集計方法に「9」を指定して集計範囲を指定します。

また、SUM関数動作以外でもたくさんの集計方法がありますので、以下一覧を参考にしてください。

  • 集計方法     必ず指定します。 番号 1 ~ 11 または 101 ~ 111 を集計に使用する関数として指定します。 1 ~ 11 には手動で非表示にした行が含まれるのに対して、101 ~ 111 ではそれらを除外します。つまり、フィルター処理されたセルは常に除外されます。
集計方法
(非表示の値も含める)
集計方法
(非表示の値を無視する)
関数
1 101 AVERAGE
2 102 COUNT
3 103 COUNTA
4 104 MAX
5 105 MIN
6 106 PRODUCT
7 107 STDEV
8 108 STDEVP
9 109 SUM
10 110 VAR
11 111 VARP
  • 範囲 1     必ず指定します。 集計する最初の名前付き範囲または参照を指定します。
  • 範囲 2,…     省略可能です。 集計する名前付き範囲または参照を 2 ~ 254 個まで指定します。

このSUBTOTAL関数を一つ覚えておくだけでも、色々なシーンでexcelの表作成がかなり便利になると思います。