Google Apps Script(GAS)でスプレッドシートを操作するなら、データ集計を効率化するピボットテーブルの活用は必須ばい!今回はcreatePivotTable(sourceData)
メソッドを使って、データを自動で整理・分析する方法を紹介するけん、最後まで見ていきんしゃい。
1. createPivotTable(sourceData) って何?
GASのcreatePivotTable(sourceData)
メソッドを使えば、スクリプトでピボットテーブルを作成できるとよ。例えば、売上データの集計やカテゴリー別の分析が一発でできるっちゃね。
基本の書き方
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('データ');
const sourceData = sheet.getDataRange();
const pivotSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ピボット');
pivotSheet.getRange('A1').createPivotTable(sourceData);
このコードでは、データシート全体を対象にして、ピボットシートのA1セルからピボットテーブルを作成しよるばい。データ範囲を固定せんでgetDataRange()
を使えば、新しいデータが増えても自動で対応できるけん便利じゃね。
2. ピボットテーブルをカスタマイズしよう!
ピボットテーブルの基本が分かったら、次は集計する項目やフィルターを設定して、実践で使える形にカスタマイズしてみよう。
行と列を設定する
ピボットテーブルでデータを整理するには、行と列のグループ化が重要ばい。
const pivotTable = pivotSheet.getRange('A1').createPivotTable(sourceData);
pivotTable.addRowGroup(2); // 2列目を行グループに設定
pivotTable.addColumnGroup(3); // 3列目を列グループに設定
これで2列目のデータを行ごと、3列目を列ごとに集計できるばい。
集計方法を設定する
ピボットテーブルでは、合計や平均など、さまざまな方法でデータを集計できるっちゃね。
const salesValue = pivotTable.addPivotValue(4, SpreadsheetApp.PivotTableSummarizeFunction.SUM);
salesValue.setDisplayName('売上総額');
このコードでは、4列目のデータを合計して「売上総額」として表示するようにしとるばい。
3. フィルターでデータを絞り込む
データが多いと、特定の条件でフィルタリングしたくなるよね?そんな時は、addFilter()
メソッドを使うといいばい。
const criteria = SpreadsheetApp.newFilterCriteria()
.setVisibleValues(['東京支店', '大阪支店'])
.build();
pivotTable.addFilter(2, criteria);
この例では、2列目のデータを「東京支店」と「大阪支店」に絞り込んどるけん、他のデータは表示されんごつなるとよ。
4. 実践で使えるテクニック
1. 列幅を自動調整する
ピボットテーブルを作ると、列幅が自動調整されんけん、スクリプトで整えよう!
pivotSheet.autoResizeColumns(1, pivotSheet.getLastColumn());
2. データ更新時に再計算する
スプレッドシートのデータを更新したら、ピボットテーブルもリフレッシュせんといかんばい!
function refreshPivotTable() {
const pivotTable = pivotSheet.getPivotTables()[0];
pivotTable.refresh();
}
このスクリプトを定期的に実行すれば、最新データが反映されるばい。
まとめ
GASのcreatePivotTable(sourceData)
メソッドを使えば、データの整理・分析が劇的に楽になるとよ!
- ピボットテーブルを作成する基本
- 行・列の設定
- 集計方法の指定
- フィルターの活用
- 便利なテクニック
この方法をマスターすれば、業務の効率がグンと上がるばい!ぜひ活用してみてね。
コメント