Google Apps Script(GAS)は、Googleスプレッドシート間のデータ移動や統合を自動化する強力なツールです。このブログでは、GASを使用して複数のスプレッドシート間でデータを移動し、統合する方法を解説します。
スプレッドシート間のデータ移動や統合には、以下の基本操作が必要です:
- スプレッドシートの特定
- データの取得
- データの書き込み
プロジェクトの作成
まず、Googleスプレッドシートを2つ以上用意します。次に、GASスクリプトエディタを開き、新しいプロジェクトを作成します。
まず、データを取得する元スプレッドシートと、データを書き込む先スプレッドシートを特定します。スプレッドシートのIDを使ってアクセスします。
var sourceSpreadsheetId = '元スプレッドシートのID';
var sourceSheetName = '元シート名';
var destinationSpreadsheetId = '先スプレッドシートのID';
var destinationSheetName = '先シート名';
2. データの取得
次に、元スプレッドシートからデータを取得します。
function getDataFromSource() {
var sourceSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetId);
var sourceSheet = sourceSpreadsheet.getSheetByName(sourceSheetName);
var data = sourceSheet.getDataRange().getValues();
return data;
}
3. データの書き込み
取得したデータを先スプレッドシートに書き込みます。
function writeDataToDestination(data) {
var destinationSpreadsheet = SpreadsheetApp.openById(destinationSpreadsheetId);
var destinationSheet = destinationSpreadsheet.getSheetByName(destinationSheetName);
destinationSheet.clear(); // 既存のデータをクリア
destinationSheet.getRange(1, 1, data.length, data[0].length).setValues(data);
}
4. データの移動と統合
データの取得と書き込みを統合して、スプレッドシート間でデータを移動させます。
function moveAndMergeData() {
var data = getDataFromSource();
writeDataToDestination(data);
}
自動化の設定
GASのトリガー機能を使って、データ移動を定期的に自動化することも可能です。例えば、毎日午前9時にデータを移動するトリガーを設定します。
function setTrigger() {
ScriptApp.newTrigger('moveAndMergeData')
.timeBased()
.everyDays(1)
.atHour(9)
.create();
}
実行の確認
スクリプトエディタで上記の関数を保存し、moveAndMergeData関数を手動で実行して動作を確認します。正しく動作すれば、元スプレッドシートのデータが先スプレッドシートに移動され、統合されます。
まとめ
Google Apps Scriptを使用することで、スプレッドシート間のデータ移動や統合を簡単に自動化できます。手動でのデータコピー作業を省き、効率的なデータ管理を実現することが可能です。この記事を参考にして、自分のニーズに合わせたデータ移動スクリプトを作成し、業務の効率化を図りましょう。
参考リンク
moun45.hatenablog.com