
ExcelやGoogleスプレッドシートで、SUBTOTAL関数を使えば、非表示の行を除外して、合計や平均、個数などを集計できます。今回は、最もよく使う「合計(SUM)」を例に、SUBTOTAL関数の基本的な使い方を解説しているので、ぜひ参考にしてみてください。
SUBTOTAL関数の使い方
SUBTOTAL関数の基本(可視セルの集計)

SUBTOTAL関数は、指定した「関数コード」に従って、「範囲」を集計します。
たとえば、コード109(非表示を含まないSUM)を指定すると、可視セルのみ合計できます。
例:=SUBTOTAL(109,A2:A5)
【SUM関数との違い】
- SUM関数は非表示の行(例:
A3)を必ず合計する一方、SUBTOTAL関数は指定する関数コードによって、非表示の行を集計に含めるか、含めないかを選択できます。
SUBTOTAL関数の引数:(関数コード, 範囲1, [範囲2, …])
二重集計の回避(小計を除いた集計)

SUBTOTAL関数で各グループの小計を出し、最後に同じくSUBTOTAL関数で総合計を出しても、小計の値が二重に足されることがありません。
【ポイント】
集計コードに関わらず(1~11でも101~111でも)、範囲内に別のSUBTOTAL関数が含まれていれば、その結果を自動的に無視します。
SUBTOTAL関数の集計コードまとめ
非表示の行を除きたい場合は、100番台のコードを使用します。利用頻度の高い合計(SUM)は、コード 109です。
| 関数名と集計方法 | 非表示の行を含むコード | 非表示の行を含まないコード |
| AVERAGE (平均) | 1 | 101 |
| COUNT (数値を含むセルの個数) | 2 | 102 |
| COUNTA (空白でないセルの個数) | 3 | 103 |
| MAX (最大値) | 4 | 104 |
| MIN (最小値) | 5 | 105 |
| PRODUCT (積) | 6 | 106 |
| STDEV (標準偏差の推定値) | 7 | 107 |
| STDEVP (母集団の標準偏差) | 8 | 108 |
| SUM (合計) | 9 | 109 |
| VAR (不偏分散) | 10 | 110 |
| VARP (分散) | 11 | 111 |
よくある質問
-
SUMIF関数やCOUNTIF関数で、非表示の行を含めない集計をしたいのですが?
-
SUBTOTAL関数は、単体で条件を指定する機能はありません。表示されているセルの中で、さらに条件を満たすセルだけを集計したい場合は、FILTER関数などを組み合わせます。(詳細記事はコチラ)
-
AGGREGATE関数との違いは何ですか?
-
AGGREGATE関数は、非表示の行を除くかどうかに加え、「二重集計を回避するか」、「エラー値を除くか」を、指定できます。(詳細記事はコチラ)
-
SUBTOTAL関数を使っているのに、非表示の行が計算されてしまうのですが?
-
SUBTOTAL関数で非表示の行を無視できるのは、集計コードが
101~111の場合です。もしコードが9(SUM)など1~11になっていると、手動で非表示にした行も計算に含まれます。