IMPORTRANGEに「アクセスを許可」と表示されたままデータが出ない場合、参照元への閲覧権限と、2つのスプレッドシート間の接続許可を別々に確認します。式が正しくても、共有権限がなければデータを取得できません。

参照先の所有者と接続許可を切り分ける

  • 関数の第1引数が参照元スプレッドシートの正しいURLか確認します。
  • 第2引数のシート名、範囲(例 "売上!A1:C10")が実在するかを確認します。
  • 参照元を自分のアカウントでブラウザから開けるか調べます。
  • 初回の接続時に表示される「アクセスを許可」を実行する権限があるか確認します。

IMPORTRANGEの接続権限を付与する

  1. 参照元の共有設定を確認し、必要な閲覧権限を持つアカウントで開きます。
  2. 参照先シートの空きセルで、範囲を小さくした =IMPORTRANGE("参照元URL","シート1!A1:B3") を試します。
  3. 接続承認の案内が表示されたら、参照元を信頼できるか確認して許可します。
  4. データが表示されたら目的の参照範囲へ広げます。
  5. 大量データで読み込みが遅い場合は、参照元の集計用シートを用意するなど範囲を絞ります。

別アカウント・範囲指定の違いに注意

  • 公式ヘルプによれば、接続を承認すると参照先シートの編集者は参照元の任意の範囲をIMPORTRANGEで取得できます。現在の式で表示している範囲だけが共有されるわけではありません。機密列を含む元シートでは承認前に共有先を確認してください。
  • 参照元の共有権限がない状態を数式修正だけで解決しようとしないでください。
  • 「#REF!」の原因は権限以外に範囲・展開先の衝突もあり、エラーの文言で分けます。

読み込まれるセルと更新を確認する

  • 参照元の小さなテスト範囲を1セル変更し、更新が伝わるかを確認します。ただし反映に時間がかかる場合があるため即時同期を前提にしません。
  • 接続承認をした人以外の参照先編集者にもデータ取得が可能になるため、参照先の編集権限を見直します。各編集者に参照元の共有設定を追加すればよい、という案内ではありません。

「アクセス権がない」と「接続をまだ許可していない」は別

参照元をブラウザで開けないなら、先に所有者へ閲覧権限を依頼します。参照元は開けるのに IMPORTRANGE 側で #REF! と「これらのシートをリンクする必要があります」が出るなら、参照先のセルから [アクセスを許可] を操作する段階です。Google公式ヘルプは、初めて別スプレッドシートを参照するとき、参照先から明示的な許可が必要と説明しています。

仮に参照元に 月次売上 シートのA1:C10があるなら、テスト式は =IMPORTRANGE("参照元の実URL","月次売上!A1:C10") です。接続が通ったら実際の必要範囲に広げます。式の「参照元の実URL」は文字のままでは動かないので実URLへ置換します。シート名の空白・全角半角・引用符も確認します。

許可前に確かめる共有範囲

接続許可を与えると、参照先の編集者による参照可能範囲が広がることがあります。社員名簿などを含む元ファイルを一括許可するより、共有してよい列だけを置いた別の元シートを用意する方が安全な場合があります。単に読み込み速度の問題と決めつけず、許可後の閲覧権限を管理者と確認してください。なお接続直後でも変更の反映は即時とは限らないため、更新されるまで少し時間を置いて確かめます。

参考資料

おすすめの記事