[Googleスプレッドシート] IMPORTRANGE で別ファイルのデータを参照する

Office

※ 本記事はアフィリエイト広告(Amazonアソシエイト)を含みます。

[Googleスプレッドシート] IMPORTRANGE で別ファイルのデータを参照する

別のスプレッドシートのデータを、コピペせずにそのまま参照したいときは IMPORTRANGE を使います。元データが更新されれば参照側も自動で追従します。

基本構文

=IMPORTRANGE("スプレッドシートのURL または ID", "シート名!範囲")

例:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/ABC123.../", "売上!A1:D100")

URL 全体でも、/d//edit の間の ID 部分だけでもOKです。

=IMPORTRANGE("ABC123...", "売上!A1:D100")

初回は「アクセスを許可」が必要

IMPORTRANGE を初めて使うと、セルに #REF! が出て「アクセスを許可」というボタンが表示されます。これを押して、参照元ファイルへのアクセスを承認すると表示されます。

これは参照する側で1回だけ必要な操作。許可するとファイル間がリンクされ、以降は自動で更新されます。

他の関数と組み合わせる

IMPORTRANGE は「範囲を返す関数」なので、QUERY や VLOOKUP の中に入れられます。

QUERY で絞り込みながら取り込む

=QUERY(IMPORTRANGE("ABC123...", "売上!A1:D"), "select Col1, Col4 where Col2 = 'tech'", 1)

IMPORTRANGE の結果に対しては、列を Col1,Col2… という形で指定する点に注意(A,B ではない)。

VLOOKUP の検索範囲に使う

=VLOOKUP(A2, IMPORTRANGE("ABC123...", "マスタ!A:C"), 3, false)

ハマりどころ・メモ

  • 初回の 「アクセスを許可」 を押し忘れると #REF! のまま。
  • IMPORTRANGE 内では列指定が Col1,Col2(QUERY と組み合わせるとき特に注意)。
  • 大量データ・多数の IMPORTRANGE は重くなる。必要な範囲だけに絞る(A1:D のように列を限定)と軽い。
  • 参照元の列を挿入・削除すると参照がズレることがあるので、元データの構造変更には注意。

部署ごとのシートを1つの集計シートにまとめる、といった用途で重宝します。

GoogleSpreadsheet