検索・参照
IMPORTRANGE関数の使い方・読み方
読み方:IMPORTRANGE は「インポートレンジ」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)
IMPORTRANGEは、別のスプレッドシートファイルからデータを読み込む関数です。
Excelでは Power Query で別ブックを取り込みます。
このページの中身(21項目)
この記事の書式と対応環境の出どころ(2026-08-26 確認)
- Google スプレッドシート ヘルプ:公式の書式は
IMPORTRANGE(spreadsheet_url, range_string)
https://support.google.com/docs/answer/3093340
関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。
同じファイル内の別シートなら =Sheet2!A1 で参照できますが、ファイルが別だとこれができません。そこで使うのがIMPORTRANGEです。

書式
=IMPORTRANGE("スプレッドシートのURLまたはキー", "シート名!範囲")
| 引数 | 内容 |
|---|---|
| 第1引数 | 読み込み元ファイルのURL全体、またはキー部分だけ |
| 第2引数 | "シート名!A1:D100" の形式。必ずダブルクォートで囲む |
第2引数をクォートで囲み忘れるのが最頻出のミスです。参照ではなく文字列として渡します。
基本の使い方
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1AbC.../edit", "売上!A1:D100")
URLはブラウザのアドレスバーからそのまま貼り付けて構いません。/d/ と /edit の間のキー部分だけでも動きます。
=IMPORTRANGE("1AbC...", "売上!A1:D100")
キーだけのほうが数式が短く、URLの形式変更にも強いので、慣れたらこちらを推奨します。

初回はアクセス許可が必要
数式を入れた直後は #REF! になり、セルにカーソルを合わせると「アクセスを許可」ボタンが出ます。これを押すまでデータは読み込まれません。
- 許可はファイルの組み合わせごとに1回だけ必要です
- 押した人ではなく、ファイル同士の接続として記録されます
- 読み込み元ファイルへの閲覧権限が自分に無いと、許可ボタンを押しても失敗します
共有相手が見られない、という相談の大半はここが原因です。読み込み元ファイルの共有設定を確認してください。
範囲の書き方
シート名だけを指定すると、そのシート全体を読み込みます。
=IMPORTRANGE("1AbC...", "売上")
行が増えても自動で追従するので便利ですが、不要な列まで読み込むと重くなります。必要な範囲を絞るのが基本です。
列全体の指定もできます。
=IMPORTRANGE("1AbC...", "売上!A:D")
他の関数と組み合わせる
IMPORTRANGEは範囲を返すので、そのまま他の関数に渡せます。
条件で絞って読み込む
=FILTER(IMPORTRANGE("1AbC...", "売上!A2:D1000"),
IMPORTRANGE("1AbC...", "売上!C2:C1000") = "東京")
同じIMPORTRANGEを2回書く必要があるのが冗長ですが、これが標準的な書き方です。
QUERY と組み合わせると、より読みやすくなります。
=QUERY(IMPORTRANGE("1AbC...", "売上!A1:D1000"), "select Col1, Col4 where Col3 = '東京'", 1)
IMPORTRANGE経由のデータは列名が Col1, Col2... になる点に注意してください。A, B, C では指定できません。
検索に使う
=XLOOKUP(A2, IMPORTRANGE("1AbC...", "マスタ!A:A"), IMPORTRANGE("1AbC...", "マスタ!B:B"))
商品マスタを別ファイルで一元管理する、といった運用ができます。
遅くなったときの対処
読み込みが遅い、あるいは読み込み中のまま止まる場合、原因はほぼ決まっています。
第一に、読み込む範囲が大きすぎます。列全体やシート全体を指定していないか確認してください。実際に必要な範囲に絞るだけで、劇的に改善することがあります。
第二に、読み込む箇所が多すぎます。同じ参照元を複数の場所から読み込んでいると、その回数だけ転送が発生します。一箇所で読み込んで、他はそのセルを参照する形にしてください。
第三に、参照元そのものが重くなっています。参照元に揮発性の関数が大量にあると、読み込みのたびに再計算が走ります。参照元の側を軽くする必要があります。
第四に、読み込んだ後に重い処理をしています。読み込んでから絞り込むのではなく、参照元で絞ってから読み込んでください。
第五に、参照が連鎖しています。ファイルAがファイルBを読み、BがCを読む、という構成は非常に遅くなります。連鎖は避け、必要なら直接参照する形に変えてください。
この五点を順に確認すれば、原因はほぼ特定できます。
IMPORTRANGEはファイルを開くたびに読み込みが走ります。数が増えると読み込み待ちが長くなります。
対策は次の3つです。
1. 数式の数を減らす
同じファイルから何度も読むなら、専用のシートを1枚作ってそこに1回だけIMPORTRANGEを書く。他の数式はそのシートを参照します。これが最も効果があります。
2. 範囲を絞る
A:Z ではなく A:D。使わない列は読み込まない。
3. 読み込み側で集計しない
読み込んでから重い集計をするのではなく、読み込み元のファイルで集計を済ませ、結果だけを読み込む。転送量が桁違いに減ります。
エラーの対処
#REF! が出る
原因は主に3つです。
- アクセス許可を押していない → セルにカーソルを合わせてボタンを押す
- 読み込み元への閲覧権限がない → 共有設定を確認する
- シート名が違う → スペル、全角半角、末尾スペースを確認する
#ERROR! が出る
第2引数がクォートで囲まれていません。
=IMPORTRANGE("1AbC...", 売上!A1:D100) ← 誤り
=IMPORTRANGE("1AbC...", "売上!A1:D100") ← 正しい
「読み込んでいます…」から進まない
読み込み元が大きすぎるか、IMPORTRANGEの数が多すぎます。範囲を絞ってください。一時的なものなら、しばらく待つか再読み込みで解消することもあります。
循環参照になる
ファイルAがファイルBを読み、ファイルBがファイルAを読むと止まります。参照は一方向にしてください。
注意しておきたいこと
書式は引き継がれません
値だけが読み込まれます。色や罫線は反映されません。
元ファイルが削除・権限変更されると壊れます
共有ドライブから個人ドライブへの移動でも切れることがあります。重要な集計をIMPORTRANGEに依存させる場合は、この点を念頭に置いてください。
ファイルをまたぐ構成の是非
別のファイルからデータを読み込む機能は便利ですが、使う前に構成そのものを考える価値があります。ファイルをまたぐ参照には、固有の弱点があるためです。
第一に、参照元の構造が変わると壊れます。列を挿入した、シート名を変えた、行を削除した。参照している側からは変更が見えないため、気づかないうちに間違った値を読んでいる状態になりえます。
第二に、動作が遅くなります。読み込みは非同期で行われ、ファイルを開いた直後は読み込み中の状態になります。範囲が大きいほど時間がかかります。
第三に、権限の管理が増えます。参照元にアクセスできない人が開くと、データが表示されません。共有の設定を両方のファイルで管理する必要があります。
第四に、引き継ぎが難しくなります。どのファイルがどのファイルを参照しているのか、一覧を作っておかないと追えなくなります。
したがって、可能であれば一つのファイルにまとめる構成を優先してください。ファイルを分ける理由が、担当者ごとの権限管理や、ファイルサイズの制限といった明確なものであるときにだけ、またぐ参照を使います。
読み込む範囲を最小限にする
またぐ参照を使う場合、読み込む範囲を絞ることが動作の軽さに直結します。
もっとも多い誤りが、参照元のシート全体を読み込んでから、参照先で絞り込むという構成です。この場合、全データが毎回転送されます。行数が数千を超えると、体感できるほど遅くなります。
正しい構成は、参照元の側で必要な処理を済ませ、結果だけを渡すことです。集計が目的なら、参照元に集計用のシートを作り、そこで集計してから、その結果だけを読み込みます。転送される量が桁違いに減ります。
読み込んだ後に絞り込む必要がある場合でも、範囲は列と行の両方で限定してください。必要な列だけ、データのある行だけを指定します。
複数の場所から同じデータを読み込んでいる場合も見直してください。一箇所で読み込んで、他はそのセルを参照する形にすれば、転送は一回で済みます。
初回の許可と、その後の管理
参照を設定した直後は、アクセスの許可が必要です。エラーの表示から許可の操作に進めます。この操作は一度だけで、以降は自動的に読み込まれます。
注意点として、許可は参照元と参照先の組み合わせごとに必要です。新しいファイルから同じ参照元を読む場合、改めて許可が要ります。
また、参照元の共有設定を変更すると、許可が無効になることがあります。データが突然表示されなくなった場合は、まず権限を確認してください。
複数人で使うファイルでは、誰が許可したかによって挙動が変わることがあります。全員が参照元にアクセスできる状態にしておくのが安全です。
引き継ぐ場合は、この許可の関係も引き継ぎ対象です。所有者が変わると、権限の再設定が必要になることがあります。参照している箇所の一覧と、必要な権限を記録して渡してください。
更新のタイミングを理解する
読み込んだデータは、常に最新とは限りません。一定の間隔で更新されるため、参照元を変更してもすぐには反映されないことがあります。
急いで反映したい場合は、参照先のファイルを開き直すか、数式を一度削除して入れ直す方法があります。ただし、数式の削除は他の数式に影響する可能性があるので、慎重に行ってください。
逆に、参照元が更新中のときに読み込むと、中途半端な状態のデータを取り込むことがあります。参照元の更新が終わったことを確認してから作業する運用にしてください。
集計を伴う運用では、この時間差が数字の食い違いを生みます。月次の締めのように、時点が重要な処理では、読み込んだデータを値として固定してから集計するほうが確実です。
権限設計と併せて考える
ファイルを分ける理由の多くは、権限を分けたいからです。この目的であれば、読み込みの関数は有効な選択肢になります。
たとえば、各部門が自分のファイルにデータを入力し、管理部門が全部門のファイルを読み込んで集計する構成。各部門は他部門のデータを見られず、管理部門だけが全体を見られます。
この構成では、読み込む側に参照元へのアクセス権が必要です。管理部門のアカウントに、全部門のファイルへの閲覧権を与えます。編集権は不要です。
逆に、各部門から管理ファイルへのアクセス権は与えません。集計結果を見せたい場合は、別の共有用ファイルを作り、そこに必要な部分だけを転記します。
注意点として、読み込みの関数を使うと、参照元の内容が参照先のファイルに実質的にコピーされます。参照先の閲覧権を持つ人は、参照元のデータを見られることになります。権限の設計としては、この点を織り込んでください。
機密度の高いデータでは、読み込む範囲を集計結果だけに絞るのが安全です。明細を読み込まず、参照元で集計してから結果だけを渡します。
「検索・参照」の関数を全体から見る
検索・参照は別の表から値を持ってくる関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに16本あります。
| 記事 |
|---|
| ADDRESS |
| CHOOSE |
| COLUMN |
| COLUMNS |
| HLOOKUP |
| IMPORTDATA |
| IMPORTHTML |
| INDEX |
| INDIRECT |
| MATCH |
| OFFSET |
| ROW |
| ROWS |
| VLOOKUP |
| XLOOKUP |
| XMATCH |
このカテゴリで共通するつまずき
検索値の型と前後の空白で結果が変わります。掃除を先に済ませてください。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。
どれを使うかの決め方
検索列が左端にあるか、返したい列が複数あるかで使う関数が決まります。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。
迷ったときは
→ 全関数の一覧 に目的別の索引があります。
数式を書く前の手順
書き始める前に決めておくことがあります。ここが曖昧なまま書くと、途中で行き詰まります。
1. 出したい結果を一文で書く
「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。
2. 元データの型を確認する
検索値の型と前後の空白で結果が変わります。掃除を先に済ませてください。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。
3. 空欄と0の扱いを決める
未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。
4. 条件の数を数える
検索列が左端にあるか、返したい列が複数あるかで使う関数が決まります。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。
5. 共有先の環境を確認する
新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。
6. 1行だけ書いて確認する
全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。
どの関数でも共通する確認
関数を問わず、結果がずれる原因は限られています。この5つを確認すれば、大半が解決します。
参照を固定したか
下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。
範囲の行数が揃っているか
複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。
型が揃っているか
=ISNUMBER(A2)
数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。
前後に空白が入っていないか
=LEN(A2)&" / "&LEN(TRIM(A2))
数が違えば、余分な空白が入っています。見た目では判別できません。
別の方法で検算したか
同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。
最終行まで確認したか
一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。
引き継ぐときに残すこと
数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。
何を出している数式か
一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。
どの表を参照しているか
参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。
該当しないときの扱い
空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。
触ってはいけない場所
列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。
使った関数の対応環境
新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。
確定した期間は値にする
締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。
このサイトの収録状況
現在、201本の記事をカテゴリ別に整理しています。関数名が分からない場合は、カテゴリから探してください。
| カテゴリ | 記事数 |
|---|---|
| 目的別 | 51本 |
| 集計 | 47本 |
| 文字列 | 31本 |
| 日付 | 19本 |
| 検索・参照 | 15本 ←この記事 |
| 条件 | 15本 |
| 機能 | 12本 |
| 配列・抽出 | 10本 |
| 関数一覧 | 1本 |
探し方の順番
関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。
記事の構成
どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。
よくある質問
Q. 読み込み中のまま止まります
範囲が大きすぎるか、参照元が重くなっています。範囲を絞ってください。
Q. アクセスが拒否されます
初回の許可が済んでいません。エラーの表示から許可の操作に進めてください。
Q. 参照元を変えたのに反映されません
更新には時間差があります。ファイルを開き直すか、しばらく待ってください。
Q. 他の関数と組み合わせられますか
できます。ただし、読み込んだ後に絞り込むより、参照元で処理してから読み込むほうが軽くなります。
Q. 複数のシートをまとめて読み込めますか
シートごとに指定が必要です。まとめたい場合は、参照元で一枚にまとめてから読み込んでください。
Q. 書き込みはできますか
読み込み専用です。参照先から参照元を書き換えることはできません。
Q. Excelでも使えますか
スプレッドシート特有の関数です。他の環境では別の方法になります。
Q. 引き継ぐときに注意することは
参照している箇所の一覧、必要な権限、所有権の移動。この三つを確認してください。→ 共有と権限の設定
まとめ
- 書式は
=IMPORTRANGE("URLまたはキー", "シート名!範囲") - 第2引数はダブルクォートで囲む
- 初回はアクセス許可のボタンを押す
#REF!の多くは権限かシート名- 読み込み用シートを1枚作ると軽くなる