SUBTOTAL関数の使い方と合計・平均の効率的な計算方法

Excel

はじめに

Excelでデータを集計する際、フィルタをかけて絞り込みながら「合計」や「平均」を出したい場面は多いですよね。
しかし、通常の SUM関数 を使うと、非表示になっている行まで計算に含まれてしまいます。

そこで役立つのが SUBTOTAL関数 です。
SUBTOTAL関数なら「表示されているデータだけ」や「フィルタ後の値だけ」を対象に計算でき、分析やレポート作成に大変便利です。


SUBTOTAL関数の基本

書式

=SUBTOTAL(集計方法, 範囲1, [範囲2], …)

  • 集計方法 : どの計算を行うかを指定する番号
  • 範囲 : 集計対象となるセル範囲

集計方法の番号と対応内容

番号内容非表示セルを含むフィルタで非表示は含まない
1平均あり101で指定すると除外
2個数あり102で指定すると除外
3数値の個数あり103で指定すると除外
9合計あり109で指定すると除外

👉 一般的によく使うのは 9(合計)109(フィルタ後の合計) です。


具体例:フィルタ後の合計を計算

SUM関数の場合

=SUM(B2:B10)

→ フィルタで非表示にした行も合計される。

SUBTOTAL関数の場合

=SUBTOTAL(109, B2:B10)

→ フィルタで表示されているデータだけ合計される。


平均や件数にも活用可能

平均を求める

=SUBTOTAL(101, B2:B10)

→ フィルタ後の値だけを平均。

件数を数える

=SUBTOTAL(103, B2:B10)

→ 数値が入力されているセルだけをカウント。


応用テクニック

テーブル機能と組み合わせる

Excelの「テーブル」と併用すると、フィルタを切り替えるだけでSUBTOTAL関数が動的に集計結果を更新してくれる。

複数範囲の集計

=SUBTOTAL(109, B2:B10, D2:D10)

複数列をまとめて合計することも可能。


注意点

  • 手動で非表示にした行 は「除外」扱いにならない場合がある
  • 集計方法の番号を間違えると意図しない結果になる
  • ピボットテーブルを使ったほうが柔軟なケースもある

まとめ

  • SUBTOTAL関数は「表示されているデータだけ」を対象に計算できる
  • 代表的なのは 109(合計)101(平均)103(数値の個数)
  • テーブルやフィルタと組み合わせると効率的
  • 大規模集計ではピボットテーブルも検討

コメント

タイトルとURLをコピーしました