関数・メソッド

セル範囲を集計する【Subtotalメソッド】【ExcelVBA】

Subtotalメソッド

指定したセル範囲をグループ化し集計します。
日付ごとに売上集計をしたり商品ごとに注文数を集計したいときに使えます。

構文
Object.Subtotal(GroupBy,Function,TotalList,Replace,PageBreaks,SummaryBelowData)

ObjectRangeオブジェクトを表す変数です。
GroupByグループ化の基準となるフィールドの番号を整数で指定します。
FunctionXlConsolidationFunction 小計関数です。
TotalList集計を追加するフィールドを指定します。
Replace既存の集計表と置き換えるには、True を指定します。 既定値は True です。
PageBreaksグループごとに改ページを挿入するには、 True を指定します。
既定値は False で改ページが挿入されません。
SummaryBelowData集計データを小計に対して相対的に配置します。
Functionの小計関数
xlAverage-4106平均
xlCount-4112カウント
xlCountNums-4113カウント数値のみ
xlDistinctCount11Distinct Count分析を使ったカウント
xlMax-4136最大
xlMin-4139最小
xlProduct-4149
xlStDev-4155標本に基づく標準偏差
xlStDevP-4156母集団に基づく標準偏差
xlSum-4157合計
xlUnknown1000集計に関数を指定しない
xlVar-4164標本に基づく変動
xlVarP-4165母集団に基づく変動

日付毎にデータを集計するサンプルコード

Public Sub Sample()
  '簡易的にデータを入力しておく
  Range("A1") = "集計表"
  Range("A2:A3") = "1月1日"
  Range("A4") = "1月2日"
  Range("B2:B4") = 3
  
  '■A2:B4のデータを日付毎に集計する
  'GroupByに1(A列)を指定し、日付毎にグループ化
  'TotalListに2(B列)を指定し、集計範囲を設定
  Range("A2:B4").CurrentRegion.Subtotal GroupBy:=1, _
  Function:=xlSum, TotalList:=2
  
End Sub


 

注意点

  • グループ化は日付や名称を自動で判断します。

 

コメント

タイトルとURLをコピーしました