
Excelで集計する際に便利な関数のひとつが「SUBTOTAL関数」です。
この関数は、フィルターで非表示になったセルを自動的に除外しながら合計や平均などを求められるのが大きな特徴です。
特に、途中に小計が含まれる表や、フィルターを使ってデータを絞り込みたいときに役立ちます。
ここでは、SUM関数との違いやSUBTOTAL関数の使い方、フィルターとの連携方法を、表や具体例を交えて解説します。
SUBTOTAL関数とSUM関数の違い
SUBTOTAL関数は「=SUBTOTAL(集計方法, 範囲)」という形式で使います。
一方、SUM関数は「=SUM(範囲)」のように指定します。
例:小計やフィルターがある場合の違い

- SUM関数:指定範囲内のすべての数値を合計(非表示でも含まれる)
- SUBTOTAL関数(9):フィルターや非表示の行を除外して合計できる
たとえば、途中に小計行がある表で合計を求める場合、SUM関数では小計まで二重に計算されてしまいます。
これに対し、SUBTOTAL関数を使えば、小計は除外されて正しい合計が表示されるのです。
SUBTOTAL関数の集計方法一覧(集計コード)
SUBTOTAL関数では、「集計方法」として指定する番号によって計算の内容が変わります。
また、101〜111の番号を使うと、手動で非表示にした行も除外できます。
集計コード | 関数 | 非表示行の扱い(手動/フィルター) |
---|---|---|
1, 101 | AVERAGE 平均 | 除外される |
2, 102 | COUNT 数値の個数 | 除外される |
3, 103 | COUNTA データの個数 | 除外される |
4, 104 | MAX 最大値 | 除外される |
5, 105 | MIN 最小値 | 除外される |
6, 106 | PRODUCT 積 | 除外される |
7, 107 | STDEV.S 標準偏差(推定) | 除外される |
8, 108 | STDEV.P 標準偏差(全体) | 除外される |
9, 109 | SUM 合計 | 除外される |
10, 110 | VAR.S 分散(推定) | 除外される |
11, 111 | VAR.P 分散(全体) | 除外される |
フィルターとSUBTOTAL関数の連携
SUBTOTAL関数のもう一つの特徴は、「フィルターと組み合わせたときの動作」です。
フィルターで表示中のデータだけを対象にして合計や平均を動的に再計算してくれます。
操作手順の一例

- データ範囲にフィルターを適用
→ Excelの「データ」タブから「フィルター」をクリック - 「SUBTOTAL(9, 範囲)」の式をセルに入力
- 表示対象をフィルターで絞り込む
→ 合計値が自動的に変更される
このように、必要な情報だけを抽出して、リアルタイムで合計を求められるのがSUBTOTAL関数の強みです。
実際の計算式例(SUM関数 vs SUBTOTAL関数)
関数 | 例(数式) | 特徴 |
---|---|---|
SUM | =SUM(C4:C14) | 非表示や小計もすべて含める |
SUBTOTAL | =SUBTOTAL(9,C4:C14) | 小計・非表示を除外できる |
たとえば、売上表に途中のカテゴリごとの小計を入れている場合、SUBTOTAL関数を使えば最終的な正確な合計だけが得られます。
よくある疑問Q&A
Q. SUM関数とSUBTOTAL関数、どちらを使うべき?
→ 小計やフィルターを使う場合はSUBTOTAL関数の方が便利です。
Q. どの集計コードを使えばいい?
→ 合計なら「9」、平均なら「1」、数値の個数なら「2」が基本です。
手動で非表示にした行を除外したい場合は101〜111を使用します。
まとめ
SUBTOTAL関数は、フィルターや小計との相性が非常によく、柔軟な集計ができる関数です。
SUM関数では対応できない細かな集計にも対応でき、表が複雑になるほどその便利さが実感できます。
Excelで表を扱う機会が多い方は、ぜひSUBTOTAL関数の使い方を覚えておくと、より効率的な作業が可能になります。

最後までご覧いただきありがとうございます
コメント