クイックナビゲーション
SUBTOTAL 関数
概要
SUBTOTAL 関数はリストやデータベースの集計値を計算します。フィルターや非表示行を考慮した柔軟な集計が可能で、Excel のデータ集計作業に最適です。データ > アウトライン > 小計機能と連携して使用します。
構文
SUBTOTAL(集計方法,範囲1,[範囲2],...)
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| 集計方法 | Number |
はい | 1-11(非表示行含む)または101-111(非表示行除外)を指定。使用する集計関数の種類を決定 |
| 範囲1 | Range |
はい | 集計対象の最初の範囲または名前付き範囲 |
| 範囲2,... | Range |
いいえ | 追加の集計範囲(最大254個まで) |
SUBTOTAL関数の使用
SUBTOTAL はデータテーブルやピボットテーブル代替として使用。フィルター適用時やアウトライン表示時でも正しい集計結果を表示。従来の SUM/AVERAGE 関数ではフィルター非表示行も集計対象になる問題を解決します。
SUBTOTALの一般的な例
基本的な合計集計(フィルター対応)
=SUBTOTAL(109,A2:A100)
A2:A100の表示行のみを合計(109=SUM、非表示行除外)
平均値集計
=SUBTOTAL(101,B2:B50)
B列のフィルター表示行のみの平均値(101=AVERAGE、非表示行除外)
カウント集計
=SUBTOTAL(103,C2:C200,D2:D200)
C,D列の表示セルの総カウント数(103=COUNTA)
最大値集計(非表示行含む)
=SUBTOTAL(4,E2:E100)
E列の最大値(4=MAX、非表示行も含む)
よくある質問
1-11は手動非表示行を含む、101-111は手動非表示行も除外(フィルター行は常に除外)
SUBTOTALはフィルター非表示行を除外し、入れ子集計を無視するためデータテーブルに最適
縦方向(列)集計専用。横方向では非表示列の影響を受けません
一般的なエラーと解決策
#VALUE! エラー
Cause: 3D参照を含む範囲を指定
Solution: 3D参照を避け、通常のセル範囲を使用
予期しない集計結果
Cause: 集計方法番号の誤選択
Solution: 用途に合った番号を選択(9/109=SUM、1/101=AVERAGE)
非表示行が集計される
Cause: 1-11の番号使用
Solution: 非表示行除外時は101-111を使用
注記
- フィルター行は常に除外(集計方法に関係なく)
- 最大254範囲指定可能
- 他のSUBTOTAL関数は自動無視(二重計算防止)
- データ > アウトライン > 小計 で自動生成
- Excel 2007以降対応
互換性
利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365
利用不可:
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+