IMPORTRANGE

指定したスプレッドシートからセルの範囲を読み込みます。

使用例

IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "シート1!A1:C10")

IMPORTRANGE(A2,"B2")

構文

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 の対象となる情報をデータします。

複数のシートをチェーン(連鎖)させると、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 を使用して、自分がオーナーになっているスプレッドシートからデータを転送しようとすると、次のメッセージが表示されます。
You need to connect these sheets error message
  1. IMPORTRANGE 関数を入力してから数秒待ちます。
  2. 「#REF!」エラーが表示され、「これらのシートをリンクする必要があります」というメッセージと[アクセスを許可] ボタンが表示されます。
  3. ソース スプレッドシートへのアクセスを許可するには、[アクセスを許可] をクリックします。

IMPORTRANGE を使って、自分がオーナーではないスプレッドシートからデータを転送しようとすると、数秒以内に次のようなメッセージが表示されます。

You don't have permissions to access that sheet message

  1. ブラウザにソース スプレッドシートの URL を入力します。
  2. スプレッドシートへのアクセス権をリクエストします。
  3. スプレッドシートのオーナーがアクセスを許可するまで待ちます。
アクセスが許可されると、読み込み先のスプレッドシートの編集権限があるすべてのユーザーが IMPORTRANGE を使用してソース スプレッドシートのどの部分からでもデータを読み込めるようになります。このアクセス権は、アクセス権を許可したユーザーがソースから削除されるまで有効です。読み込み先のシートに対して許可するアクセス権は、ソースシートの共有の制限(600 ユーザー)にカウントされます。

パフォーマンス

IMPORTRANGE は、IMPORTXMLGOOGLEFINANCE と同様、外部データ関数です。つまり、機能するにはインターネット接続が必要です。スプレッドシートでは全範囲をパソコンにダウンロードする必要があり、ネットワークが低速だと影響が生じることがあります。読み込むデータの上限はリクエストごとに 10 MB となっています。IMPORTRANGE を使用するとパフォーマンスが低下する場合は、読み込み範囲のサイズを制限することをご検討ください。あるいは、集計計算をソース ドキュメントに入力することで、ローカルのスプレッドシートに読み込む必要があるデータを減らし、より多くの計算をリモートで行えるようにしてください。

ヒント: 他のツールも使用できます。Apps Script は他のドキュメントからデータを読み取ることができ、編集時に事前定義されたスケジュールに沿ってトリガーできます。コネクテッド シートには更新スケジュールが設定されており、大規模なデータセットの読み込みとインポートにも適しています。

使用制限

Loading data may take a while because of the large number of requests error message

IMPORTRANGE 関数で作成されるトラフィックが多すぎると、セル内に「Loading…」と表示され、「エラー: リクエスト数が多いためデータの読み込みに時間がかかる可能性があります。スプレッドシート内で作成した IMPORTHTMLIMPORTDATAIMPORTFEEDIMPORTXML 関数の量を減らしてみてください」という詳細なエラー メッセージが表示されます。
この制限はドキュメントの作成者に適用されます。ユーザーは自分が作成し、開いているすべてのドキュメントの IMPORT 関数の合計数を考慮する必要があります。共同編集者が編集を行った場合も、作成者の保存容量にカウントされます。
このエラー メッセージを解決するには、IMPORT 関数におけるデータの変更量を減らすことをおすすめします。たとえば、=IMPORTRANGE(<引数>) の引数で指定した値が頻繁に変化する場合は、多数の外部呼び出しが発行され、スロットルが発生することがあります。

データの更新頻度

Google スプレッドシートを適切に使用すると、ユーザーは最新データを取得できます。ユーザーがドキュメントを開いている間、IMPORTRANGE 関数は 1 時間ごとに自動的に更新を確認します。数式とスプレッドシートが変更されていない場合でも同様です。ユーザーがセルを削除したり読み取ったりした場合や、同じ数式でセルを上書きした場合に、関数の再読み込みがトリガーされます。ドキュメントを開いて再読み込みした場合は、IMPORTRANGE の再読み込みはトリガーされません。

揮発性

IMPORTRANGE 関数を使用すると、セル内に「#ERROR!」が表示され、「エラー: この関数は、NOW()RAND()RANDBETWEEN() を含むセルは参照できません」という詳細なエラー メッセージが表示されます。IMPORT 関数では NOWRANDRANDBETWEEN などの揮発性関数を直接的または間接的に参照することはできません。これは、揮発性関数の頻繁な更新により、ユーザーのスプレッドシートに過剰な負荷がかかることを防ぐためです。
This function is not allowed to reference a cell with NOW(), RAND(), or RANDBETWEEN() error message
ヒント: TODAY 関数は揮発性関数ですが、唯一の例外となり、1 日 1 回以上は更新されません。

おすすめの方法:

  1. これらの揮発性関数の結果をコピーします。
  2. [特殊貼り付け] 次に [値のみ貼り付け] を使用します。
  3. これらの固定の値を参照します。

この操作をすると、すべての値が固定になります。たとえば、NOW の結果をコピーして、値として特殊貼り付けを行うと、貼り付けた値は変化しなくなります。

ご不明な点がございましたら、Google ドキュメント エディタのヘルプ コミュニティをご利用ください。

関連情報

IMPORTXML: XML、HTML、CSV、TSV、RSS フィード、Atom XML フィードなど、さまざまな種類の構造化データからデータをインポートします。

IMPORTHTML: HTML ページ内の表やリストからデータをインポートします。

IMPORTFEED: RSS フィードや Atom フィードをインポートします。

IMPORTDATA: 指定した URL のデータを、.csv(カンマ区切り値)形式または .tsv(タブ区切り値)形式でインポートします。

詳しくは、データの参照を最適化する方法についてのヘルプ記事をご覧ください。

検索
検索をクリア
検索を終了
メインメニュー
8634663311374437800
true
ヘルプセンターを検索
true
true
true
true
true
35
false
false