Excelでフィルタした結果を元にした集計

何かのフィルタで抽出された行だけ(=表示されていない行は無視する)を対象に集計をする時はSUBTOTALワークシート関数を使う。

=SUBTOTAL(集計方法, 範囲1, 範囲2, ...)

集計方法は下表のよう数字で(使用する関数を)指定する。Excel2007ならサジェスト機能で教えてくれる。

集計方法関数
1AVERAGE 関数
2COUNT 関数
3COUNTA 関数
4MAX 関数
5MIN 関数
6PRODUCT 関数
7STDEV 関数
8STDEVP 関数
9SUM 関数
10VAR 関数
11VARP 関数

たとえば以下の式ではB2~B100で表示されている行のセルの合計値(SUM)を返してくれる

=SUBTOTAL(9, B2:B100)

自分的にはCOUNT(=2),COUNTA(=3)あたりもよく使う。