Excelでデータを扱うとき、合計や平均を出すことはよくあります。
しかし、フィルターを使ってデータを絞り込んだときに「合計が正しく計算されない…」ことはありませんか?
そんなときに役立つのが SUBTOTAL関数 です。
SUBTOTAL関数とは?
SUBTOTAL関数は、表にフィルターをかけて表示されているデータだけを対象に、合計・平均・件数などを自動で計算してくれる関数です。
通常のSUM関数では、非表示になっている行も計算に含まれてしまいますが、SUBTOTALなら「見えている行だけ」を集計できます。
基本の使い方
書式は次の通りです。
=SUBTOTAL(集計方法の番号, 範囲)
- 集計方法の番号:どの計算をするかを指定
例)9なら「合計」、1なら「平均」 - 範囲:対象となるセル範囲
例:売上表の合計を出す場合
=SUBTOTAL(9, C2:C10)
これでC2からC10の売上を合計します。

フィルターで「担当者=Aさん」だけを表示すると、結果もAさん分だけに切り替わります。

よく使う集計方法の番号
- 1:AVERAGE(平均)
- 2:COUNT(数値のあるセルの件数)
- 3:COUNTA(空白でないセルの件数)
- 9:SUM(合計)
特によく使うのは「9(合計)」と「1(平均)」です。
実務での活用例
1. 売上データの担当者別合計
営業担当ごとの売上表をフィルターで絞り込み、SUBTOTALで合計を出せば、すぐに担当者ごとの集計が確認できます。
2. 商品カテゴリ別の平均単価
商品マスタをカテゴリでフィルターし、SUBTOTALの「1(平均)」を使えばカテゴリごとの平均単価が一目で分かります。
注意点
- 集計方法の番号には「隠し行を含める」「含めない」の2種類があります。
例:9(合計、隠し行も含む)/109(合計、隠し行は含めない) - 行を手動で非表示にしたい場合は、109のように「100を足した番号」を使いましょう。
まとめ
SUBTOTAL関数を使えば、フィルターで絞り込んだデータに応じて合計や平均を自動で切り替えられます。
「見えているデータだけを集計したい」という実務でのニーズにピッタリの関数です。
フィルター機能と組み合わせることで、Excelでのデータ分析やチェックがぐっと効率的になります。