Googleスプレッドシートの IMPORTRANGE は便利な関数ですが、特に複数ファイル間の連携を行う現場では「昨日まで動いていたのに突然壊れた」という事例が珍しくありません。ここでは、代表的なエラーメッセージとその背景、そして確実に直すための実務的な手順を整理します。
● 1. #REF!(アクセス権限エラー)
表示例:
- 「参照先のスプレッドシートにアクセスできません」
- 「このシートにアクセスする権限がありません」
主な原因:
- 最初の
=IMPORTRANGE("URL","範囲")を貼ったあと、「アクセスを許可」 を押していない。 - URL をコピペしたときに 余計なパラメータ がついている(
?usp=sharingなど)。 - 元データの共有設定が “リンクを知っている全員” になっていない。
対処法:
- 元ファイルを開き、共有設定を「リンクを知っている全員(閲覧者)」に。
- IMPORTRANGE を貼り、最初に出る黄色バナーで 「アクセスを許可」 をクリック。
- URLは
/edit以降を削除して貼る。
● 2. #N/A(シート名/範囲指定ミス)
表示例:
- 「一致するデータが見つかりません」
- 「範囲 ‘シート1!A1:Z100’ を解釈できません」
主な原因:
- シート名に 全角スペース・記号 が含まれている。
- シート名が
'シート名'!A1:Z100のように'で囲まれていない。 - シート名変更後に IMPORTRANGE 側を更新していない。
対処法:
- シート名をすべて半角英数字に寄せる。
- スペースや日本語を含む場合は
'シート名'!A1:B100のように'を付ける。
● 3. Internal Error(Google側の一時的障害)
表示例:
- 「内部エラーが発生しました」
- 「Internal Error」
主な原因:
- IMPORTRANGE × 大量データで Google の負荷が高い。
- 複数ユーザーが同時編集して衝突している。
- QUERY や FILTER と組み合わせて処理が重すぎる。
対処法:
- IMPORTRANGE の読み込み元を 1ファイルに統合して軽量化。
- QUERY を使う場合は 2段階に分ける:
- ① IMPORTRANGE だけのファイルを作る
- ② そのファイルを QUERY する
- 毎日決まった時間に読み込むなら GAS で キャッシュ保存する方法も有効。
● 4. 結果が大きすぎます(データ量超過)
表示例:
- 「結果が大きすぎます」
- 「Result too large」
主な原因:
- 範囲指定が
A:Zなど漠然としていてデータ量が膨大。 - FILTER・QUERY が大量の行を返している。
対処法:
- 参照範囲を
A1:Z5000など 上限を決める。 - QUERY で
limitを使う。 - 古い履歴データを別シートへ退避する。