Excel関数入門:SUBTOTAL関数の使い方

フィルターをかけたデータの合計や平均などを、正しく計算したいときに便利なのが SUBTOTAL関数 です。通常のSUM関数では無視されない非表示行も、SUBTOTALを使えば簡単に除外できます。

この記事では、SUBTOTAL関数の基本的な使い方、関数番号の種類、実務での活用例をわかりやすく解説します。


SUBTOTAL関数とは?

SUBTOTAL関数は、指定した集計方法(合計、平均、最大値など)で、表示されているデータだけを集計することができる関数です。

書式

=SUBTOTAL(集計方法の番号, 範囲)

引数の意味

  • 集計方法の番号:どの集計を行うか(SUM、AVERAGEなど)を番号で指定
  • 範囲:集計したいセル範囲

集計方法の番号一覧

番号関数名内容
1AVERAGE平均
2COUNT数値の個数
3COUNTA非空白セルの個数
4MAX最大値
5MIN最小値
9SUM合計

※ 1〜11:フィルターで非表示になった行を除外
※ 101〜111:手動で非表示にされた行も除外(Excel 2003以降)


基本的な使い方

例:B列の合計を求める(非表示行を除外)

=SUBTOTAL(9, B2:B100)

→ 通常のSUM関数と違い、フィルターなどで非表示になった行の値は含まれません。

例:平均を求める

=SUBTOTAL(1, C2:C50)

→ C2:C50の平均(表示行のみ)を計算


実務での活用例

1. フィルター付きリストの合計

フィルターで「営業部」のみ表示 → 売上合計だけが反映される

=SUBTOTAL(9, D2:D100)

2. 表の下部に小計・平均・最大値を表示

=SUBTOTAL(4, E2:E50)  ' 最大値
=SUBTOTAL(5, E2:E50)  ' 最小値

3. ピボットテーブル不要な簡易集計表に

SUBTOTALを使えば、集計用の関数を一つでまとめて管理できます。


注意点

  • 範囲には連続したセルを指定するのが基本
  • フィルターでの集計には「1〜11」を使用(手動非表示も除外したい場合は「101〜111」)
  • 入れ子にすることはできません(他のSUBTOTAL内で使うと正しく動作しない)

SUBTOTALとSUMの違い

関数非表示行の扱いフィルター対応
SUM非表示でも集計される×
SUBTOTAL表示行のみ集計される

まとめ

SUBTOTAL関数は、「表示されているデータだけを正確に集計したい」場面で大活躍します。フィルター付きリストやレポート作成、ピボットの代替としても有効です。複数の集計方法を1つの関数で使える便利な関数。SUM関数よりも一歩上の使い方として覚えておきましょう!