指定したスプレッドシートからセルの範囲を読み込みます。
使用例
IMPORTRANGE("
https://docs.google.com/spreadsheets/d/abcd123abcd123
", "シート1!A1:C10")
IMPORTRANGE(A2,"B2")
表参照を使用する場合: IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "DeptSales[Sales Amount]")
Google スプレッドシートで表を使用する方法の詳細。
名前付き範囲を使用する場合: IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "Sales_total")
セル範囲に名前を付ける方法の詳細
構文
IMPORTRANGE(スプレッドシートの URL, 範囲の文字列)
-
スプレッドシートの URL
- データの読み込み元となるスプレッドシートの URL を指定します。スプレッドシートの URL
の値は二重引用符で囲むか、スプレッドシートの URL を含むセルへの参照にする必要があります。
-
範囲の文字列
- 読み込む範囲を指定する文字列で、"[シート名!]範囲"
の形式で指定します(例:"シート1!A2:B6"
、"A2:B6"
)。-
範囲の文字列
のシート名
の要素は省略可能です。デフォルトでは、IMPORTRANGE
関数は最初のシートの指定範囲から読み込みます。 -
範囲の文字列
の値は二重引用符で囲むか、適切なテキストを含むセルへの参照にする必要があります。
-
技術的な詳細とおすすめの方法
ソース ドキュメントが更新されると、開いているすべての読み込み先ドキュメントが IMPORTRANGE
によって更新され、読み込み中を示す緑色のバーが表示されます。IMPORTRANGE
は、読み込み元の範囲内に計算が含まれていない場合でも、ソース ドキュメントで計算が完了するのを待ってから、読み込み先のドキュメントに結果を返します。
ベスト プラクティス
- 各読み込み先シートでソースシートからデータを読み込む必要があるため、読み込み先シートの数を制限します。
- 特に頻繁に更新されるスプレッドシートからデータを読み込む場合は、
IMPORTRANGE
を使用する前に結果を再編成してまとめます。- たとえば、あるスプレッドシートから 1,000,000 行の合計を計算する場合を考えてみましょう。そのスプレッドシート上で合計を計算してから
IMPORTRANGE
を使用してその合計の値(1 つの値)を取得します。IMPORTRANGE
を使用して 1,000,000 行のデータをすべて直接転送してからスプレッドシートで合計を計算するより高速です。この方法では、転送する前にIMPORTRANGE
の対象となる情報をデータします。
- たとえば、あるスプレッドシートから 1,000,000 行の合計を計算する場合を考えてみましょう。そのスプレッドシート上で合計を計算してから
複数のシートをチェーン(連鎖)させると、IMPORTRANGE
の更新が他のシートにも反映されます。シート B に IMPORTRANGE(<シート A>)
を指定し、シート C に IMPORTRANGE(<シート B>)
を指定すると、チェーンが作成されます。シート A を更新すると、シート B とシート C で再読み込みが発生します。
ベスト プラクティス
- 複数のシート間における
IMPORTRANGE
のチェーンを制限します。 IMPORTRANGE
を使用した循環参照を避けます。たとえば、複数のスプレッドシートでIMPORTRANGE
関数を使用して相互に参照するようにすると、循環参照になります。つまり、スプレッドシート A でIMPORTRANGE
を使用してスプレッドシート B のデータを取得し、スプレッドシート B もIMPORTRANGE
を使用してスプレッドシート A からデータを取得する場合に循環参照になります。この結果、2 つのシートが相互に絶え間なく参照しようとするループが発生し、データが出力されなくなります。- ソースシートが変更されてから、読み込み先のシートに変更が反映されるまでには、タイムラグがあります。つまり、複数のドキュメント間で
IMPORTRANGE
をチェーンさせて何層にも適用すると、ソースシートが更新されてから読み込み先のシートが更新されるまでに長い時間がかかることがあります。
IMPORTRANGE
は、ドキュメントを初めて開いたとき、または 5 分以内に開いたときにデータを再読み込みします。更新のチェーンと同様に、この処理では IMPORTRANGE
により、読み込み元のすべてのドキュメントをアクティブにする必要があります。
ベスト プラクティス
- 更新されてドキュメントが有効になるまでには時間がかかることがあります。
IMPORTRANGE
のチェーンを制限することをご検討ください。
権限とアクセス権
IMPORTRANGE
を使用して他のスプレッドシートからデータを読み込むには、読み込み先のスプレッドシートへのアクセスを明示的に許可する必要があります。新しいソースシートから読み込み先のシートに最初にデータを読み込むときに、アクセスを許可するよう求めるメッセージが表示されます。IMPORTRANGE
を使用して、自分がオーナーになっているスプレッドシートからデータを転送しようとすると、次のメッセージが表示されます。IMPORTRANGE
関数を入力してから数秒待ちます。- 「#REF!」エラーが表示され、「これらのシートをリンクする必要があります」というメッセージと[アクセスを許可] ボタンが表示されます。
- ソース スプレッドシートへのアクセスを許可するには、[アクセスを許可] をクリックします。
IMPORTRANGE
を使用して、自分がオーナーではないスプレッドシートからデータを転送しようとすると、数秒以内に次のようなメッセージが表示されます。
- ブラウザにソース スプレッドシートの URL を入力します。
- スプレッドシートへのアクセス権をリクエストします。
- スプレッドシートのオーナーがアクセスを許可するまで待ちます。
IMPORTRANGE
を使用してソース スプレッドシートのどの部分からでもデータを読み込めるようになります。このアクセス権は、アクセス権を許可したユーザーがソースから削除されるまで有効です。読み込み先のシートに対して許可するアクセス権は、ソースシートの共有の制限(600 ユーザー)にカウントされます。パフォーマンス
IMPORTRANGE
は、IMPORTXML
や GOOGLEFINANCE
と同様の外部データ関数です。つまり、機能するにはインターネット接続が必要です。スプレッドシートでは全範囲をパソコンにダウンロードする必要があり、ネットワークが低速だと影響が生じることがあります。読み込むデータの上限はリクエストごとに 10 MB となっています。IMPORTRANGE
を使用するとパフォーマンスが低下する場合は、読み込み範囲のサイズを制限することをご検討ください。あるいは、集計計算をソース ドキュメントに入力することで、ローカルのスプレッドシートに読み込む必要があるデータを減らし、より多くの計算をリモートで行えるようにしてください。
ヒント: 他のツールも使用できます。Apps Script は他のドキュメントからデータを読み取ることができ、編集時に事前定義されたスケジュールに沿ってトリガーできます。コネクテッド シートには更新スケジュールが設定されており、大規模なデータセットの読み込みとインポートにも適しています。
使用制限
IMPORTRANGE
関数で作成されるトラフィックが多すぎると、セル内に「Loading…」と表示され、「エラー: リクエスト数が多いためデータの読み込みに時間がかかる可能性があります。スプレッドシート内で作成した IMPORTHTML
、IMPORTDATA
、IMPORTFEED
、IMPORTXML
関数の量を減らしてみてください」という詳細なエラー メッセージが表示されます。=IMPORTRANGE(<引数>)
の引数で指定した値が頻繁に変化する場合は、多数の外部呼び出しが発行され、スロットルが発生することがあります。データの更新頻度
IMPORTRANGE
関数は 1 時間ごとに自動的に更新を確認します。数式とスプレッドシートが変更されていない場合でも同様です。ユーザーがセルを削除したり読み取ったりした場合や、同じ数式でセルを上書きした場合に、関数の再読み込みがトリガーされます。ドキュメントを開いて再読み込みした場合は、IMPORTRANGE
の再読み込みはトリガーされません。揮発性
IMPORTRANGE
関数を使用すると、セル内に「#ERROR!」が表示され、「エラー: この関数は、NOW()
、RAND()
、RANDBETWEEN()
を含むセルは参照できません」という詳細なエラー メッセージが表示されます。IMPORT 関数では NOW
、RAND
、RANDBETWEEN
などの揮発性関数を直接的または間接的に参照することはできません。これは、揮発性関数の頻繁な更新により、ユーザーのスプレッドシートに過剰な負荷がかかることを防ぐためです。TODAY
関数は揮発性関数ですが、唯一の例外として、1 日 1 回以上更新されることはありません。おすすめの方法:
- これらの揮発性関数の結果をコピーします。
- [特殊貼り付け] [値のみ貼り付け] を使用します。
- これらの固定の値を参照します。
この操作をすると、すべての値が固定になります。たとえば、NOW
の結果値をコピーして特殊貼り付けすると、貼り付けた値は変化しなくなります。
ご不明な点がございましたら、Google ドキュメント エディタのヘルプ コミュニティをご利用ください。
関連項目
IMPORTXML
: XML、HTML、CSV、TSV、RSS フィード、Atom XML フィードなど、さまざまな種類の構造化データからデータをインポートします。
IMPORTHTML
: HTML ページ内の表やリストからデータをインポートします。
IMPORTFEED
: RSS フィードや Atom フィードをインポートします。
IMPORTDATA
: 指定した URL のデータを、.csv(カンマ区切り値)形式または .tsv(タブ区切り値)形式でインポートします。
詳しくは、データの参照を最適化する方法についてのヘルプ記事をご覧ください。