別のスプレッドシート( Spreadsheet )の値を参照する方法2選

はじめに

スプレッドシートから別のスプレッドシートを参照する場合に2パターンの方法があるので、2パターンご紹介します。

別のスプレッドシート参照方法

INPORTRANGE関数を使用方法

importrangeとは別のスプレッドシートを参照することができる関数です。下記コードをセルに書くことで別のスプレッドシートの値を参照することができます。

=importrange("id or URL","シート名!セルの範囲文字列")

実際に設定したら下記画像の様な感じで私は使っています。実際に設定したら下記画像の様な感じで私は使っています。

アクセス権限の承認方法やエラーの対処方法は下記記事を参照していただければと思います。

実際に参照できた結果が下記画像になります。

GASを用いての方法

全体コード

function sheetReference() {
  // 参照URLの取得
  const ss = SpreadsheetApp.getActiveSpreadsheet(); //紐付けられたスプレットシートを取得
  const sheet = ss.getSheetByName("importrange"); //指定シートを取得(シートとはシート1とか表示されてる所)
  let url = sheet.getRange("B1").getValue(); //値を取得:セルで指定する方法

  // 別シートを参照
  let ssSeparate = SpreadsheetApp.openByUrl(url);
  let sheetSeparate = ssSeparate.getSheetByName("sheet1");
  let value = sheetSeparate.getRange("A1:B10").getValues(); //値を取得:セルで指定する方法

  // 取得した値を貼り付け
  sheet.getRange("D3:E12").setValues(value); //値を書き込み:セルで指定する方法
}

実際にエディタに反映させたのが下記画像になります。

変更箇所

参照元についての変更箇所

1行目が参照元のシート名を指定します。

2行目でURLが書かれているセルを指定します。

3行目で書き込みを行うセルを指定します。

const sheet = ss.getSheetByName("importrange"); //指定シートを取得(シートとはシート1とか表示されてる所)
let url = sheet.getRange("B1").getValue(); //値を取得:セルで指定する方法
sheet.getRange("D3:E12").setValues(value); //値を書き込み:セルで指定する方法

参照先についての変更箇所

1行目で参照先のシートを指定します。

2行目で参照先のセルを指定します。

let sheetSeparate = ssSeparate.getSheetByName("sheet1");
let value = sheetSeparate.getRange("A1:B10").getValues(); //値を取得:セルで指定する方法

実行結果

コードを実行した場合にエラーが出ずに実行完了になればOKです。

ならない場合はコードを見直してみて下さい。また、権限がない場合は権限の追加をして再度実行してみて下さい。

指定したシートのセルに表示される事を確認して、表示されていれば完了です。

このコードをシートを開く時だったり、定期的に実行したい場合は下記記事を参照していただければと思います。

まとめ

以上、別のスプレッドシート( Spreadsheet )の値を参照する方法2選でした。

GASについて詳しく勉強されたい方は書籍やUdemyを利用して勉強する方法もあります。

おすすめの書籍を記事にまとめてありますのでご参考にしていただければと思います。

また、仕事で使わないといけないけど勉強する時間がない場合などはココナラで外注するのも一つの手かと思います。

まずは登録して、費用間などを調査してみてはいかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です