Sheet基本
IMPORTRANGE 完全ガイド
IMPORTRANGE 完全ガイド
別スプレッドシートのデータを参照・統合する
複数のシートに分散したデータを1か所に集約する。Googleスプレッドシート固有の機能で、ファイル間データ連携の基本。GASに発展する前のブリッジとして重要。
GASとの関係:SpreadsheetApp.openById() の関数版
GASで SpreadsheetApp.openById("スプレッドシートID").getSheetByName("シート名").getValues() と書く処理は、IMPORTRANGEと同じ「別ファイルのデータを取得する」操作です。複雑な加工や自動実行はGASの出番です。
目次
IMPORTRANGEとは
IMPORTRANGEは別のGoogleスプレッドシートファイルのデータを、現在のシートに取り込む関数です。部門別に分かれたシートを集約したり、マスターデータを複数シートで参照したりするのに使います。
基本構文
=IMPORTRANGE("スプレッドシートURL", "シート名!範囲")
// 別ファイルのSheet1のA1:D100を取り込む
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxx", "Sheet1!A1:D100")
// URLの代わりにスプレッドシートIDだけでも可
=IMPORTRANGE("xxxxxxxx", "Sheet1!A1:D100")
初回のアクセス許可
初めて別ファイルを参照するとき、セルに「#REF! アクセスを許可する必要があります」と表示されます。
- セルをクリック → 「アクセスを許可」をクリック
- 一度許可すると、同じシート内の同じURLへのIMPORTRANGEはすべて読み込める
- 許可はスプレッドシート単位(ファイルを変えるたびに許可が必要)
実務でよく使うパターン
パターン1:複数ファイルのデータを1シートに集約
// 東京支店データ
=IMPORTRANGE("東京支店URL", "売上!A2:E100")
// 大阪支店データを下に続けて配置(VSTACKで積み重ね)
=VSTACK(
IMPORTRANGE("東京支店URL", "売上!A2:E100"),
IMPORTRANGE("大阪支店URL", "売上!A2:E100")
)
パターン2:マスターデータの参照(VLOOKUP との組み合わせ)
// マスターファイルのデータをVLOOKUPの参照先に使う
=VLOOKUP(A2, IMPORTRANGE("マスターURL", "商品マスター!A:D"), 2, FALSE)
パターン3:特定のシート・範囲だけ取り込む
// "月次報告"シートのB列からD列だけ取り込む
=IMPORTRANGE("対象ファイルURL", "月次報告!B:D")
IMPORTRANGEの注意点
| 注意点 | 対処 |
|---|---|
| 読み込みに数秒かかる(#REF!が一時表示される) | IFERRORで囲んで”読込中…”と表示する |
| 参照元ファイルの構造変更に脆弱 | 参照する範囲は列ではなく固定範囲で指定する |
| 更新は数分遅れることがある | リアルタイム連携が必要ならGASを使う |
| 参照元を削除・移動すると#REF!になる | 参照元ファイルの管理ルールを決める |
IMPORTRANGEの限界とGASへの移行サイン
- 参照元が5ファイル以上になって管理が煩雑になってきた
- データの集計・変換処理が複雑になってきた
- 定期的な自動更新が必要になった(GASのtrigger機能)
- 更新タイミングを自分でコントロールしたい
これらのサインが出たら、GASの SpreadsheetApp.openById() でデータ集約を自動化する段階です。
この知識をGASで活かす
IMPORTRANGEで実現していた「別ファイルのデータを統合する」処理は、GASに移行すると定期自動実行・変換処理・エラーハンドリングまで含めた本格的なデータパイプラインになります。
Free Newsletter
AIを業務に活かしたいなら
SMR-Labメルマガ
毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。
