GASでのスプレッドシート間のデータ移動と統合

Google Apps Script(GAS)は、Googleスプレッドシート間のデータ移動や統合を自動化する強力なツールです。このブログでは、GASを使用して複数のスプレッドシート間でデータを移動し、統合する方法を解説します。

 

スプレッドシート間のデータ移動の基本

スプレッドシート間のデータ移動や統合には、以下の基本操作が必要です:

  1. スプレッドシートの特定
  2. データの取得
  3. データの書き込み

プロジェクトの作成

まず、Googleスプレッドシートを2つ以上用意します。次に、GASスクリプトエディタを開き、新しいプロジェクトを作成します。

データの移動と統合のスクリプト

1. スプレッドシートの特定

まず、データを取得する元スプレッドシートと、データを書き込む先スプレッドシートを特定します。スプレッドシートのIDを使ってアクセスします。

// 元スプレッドシートIDとシート名
var sourceSpreadsheetId = '元スプレッドシートのID';
var sourceSheetName = '元シート名';

// 先スプレッドシートIDとシート名
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