こんにちは!Excelでのデータ集計作業にはさまざまな関数が使われますが、
今日は特に強力で多機能な「SUBTOTAL関数」について解説します。
この関数は、フィルタリングされたデータに対しても動的に
計算を行うことができ、データ分析において非常に便利です。
今回は「SUBTOTAL関数」について
初心者でも理解できる様に
丁寧に解説していきます!
目次
1. SUBTOTAL関数とは?
SUBTOTAL関数は、一連の値に対して合計、平均、最大値、最小値などの
計算を行うために使用される関数です。
この関数の特徴は、フィルターで非表示にされた
データを計算から除外できる点にあります。
SUBTOTAL(関数番号, 範囲1, [範囲2], ...)
- 関数番号: どの種類の計算を行うかを指定する番号です(例: 9は合計、1は平均)。
- 範囲1, 範囲2, …: 計算に含めるセル範囲です。
2. SUBTOTAL関数の基本的な使い方
例1: データの合計
データ範囲A1:A10の合計を求める場合、以下の式を使用します。
=SUBTOTAL(9, A1:A10)
この関数は指定された範囲の合計を計算しますが、
行がフィルタリングで非表示になっている場合はそれらを除外します。
例2: 平均値の計算
データ範囲A1:A10の平均を求めるには、以下のようにします。
=SUBTOTAL(1, A1:A10)
フィルタリングされて非表示になっているデータはこの計算から除外されます。
3. SUBTOTAL関数の応用例
応用例1: 勤務時間の計算
従業員の出勤日数に応じた勤務時間の合計を求める場合、
フィルターを使って特定の条件に合ったデータのみを集計します。
=SUBTOTAL(9, B1:B100)
この例では、B列に記録された勤務時間の合計を出勤日だけで計算します。
応用例2: 売上データの分析
特定の条件を満たす商品の売上合計を求める場合にSUBTOTALを使用し、
特定の期間やカテゴリにフィルタをかけた売上のみを計算します。
=SUBTOTAL(9, C1:C100)
これにより、表示されているデータに基づいて売上合計が計算されます。
4. VBAでのSUBTOTAL関数の使用
Excelのマクロ(VBA)を使用してSUBTOTAL関数を活用することも可能です。
以下にその使用例を示します。
Sub CalculateSubtotal()
Dim rng As Range
Set rng = Sheets("Sheet1").Range("A1:A10")
MsgBox "データの合計は " & Application.WorksheetFunction.Subtotal(9, rng) & " です。"
End Sub
このコードは、指定された範囲のデータ合計を計算し、
メッセージボックスで結果を表示します。
記事のまとめ
SUBTOTAL関数は、Excelでデータを柔軟に集計する際に非常に強力なツールです。
フィルタリングされたデータの影響を受けずに集計を行いたい場合に特に有効で、
データ分析の正確性と効率を大きく向上させます。
この関数を活用して、より洗練されたデータ分析を実現しましょう!
これからも一緒に学んでいきましょう!