GASでスプレッドシートのデータを活用したピボットテーブル作成方法

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)メソッドを使えば、データの整理・分析が劇的に楽になるとよ!

  • ピボットテーブルを作成する基本
  • 行・列の設定
  • 集計方法の指定
  • フィルターの活用
  • 便利なテクニック

この方法をマスターすれば、業務の効率がグンと上がるばい!ぜひ活用してみてね。

コメント

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