以前の記事「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;
}
実行方法
- 転記先スプレッドシートを開き、「拡張機能」→「Apps Script」をクリック
- コードを貼り付けてIDを書き換える
- transferDataを選択して実行
- 権限許可ダイアログが出たら許可する
まとめ
シートIDを使うことでシート名が変わっても動作が壊れないのが強みです。ぜひ活用してみてください!




