GAS スプレッドシートIDで別シートからデータ転記

がいの部屋

以前の記事「GoogleのスプレッドシートのIDとシートのIDを確認する方法」はたくさんの方に読んでいただいています。ありがとうございます!

その続編として、GASで別ファイルのシートからデータを転記する方法をコード付きで解説します。

この記事でできること

  • スプレッドシートIDを使って別ファイルを開く
  • シートIDで目的のシートを指定する
  • 指定シートのデータを自分のスプレッドシートに転記する

GASコード

以下のコードをコピペーしてご利用ください。IDの部分を自分のものに書き換えてください。

function transferData() {
  var sourceSpreadsheetId = 'XXXXXXXXXX';
  var sourceSheetId = 123456789;
  var destSpreadsheetId = 'YYYYYYYYYY';
  var destSheetId = 987654321;

  var ss = SpreadsheetApp.openById(sourceSpreadsheetId);
  var src = getSheetById(ss, sourceSheetId);
  var ds = SpreadsheetApp.openById(destSpreadsheetId);
  var dst = getSheetById(ds, destSheetId);

  var data = src.getDataRange().getValues();
  dst.clearContents();
  dst.getRange(1, 1, data.length, data[0].length).setValues(data);
}

function getSheetById(ss, id) {
  return ss.getSheets().find(s => s.getSheetId() === id) || null;
}

実行方法

  1. 転記先スプレッドシートを開き、「拡張機能」→「Apps Script」をクリック
  2. コードを貼り付けてIDを書き換える
  3. transferDataを選択して実行
  4. 権限許可ダイアログが出たら許可する

まとめ

シートIDを使うことでシート名が変わっても動作が壊れないのが強みです。ぜひ活用してみてください!

Copied title and URL