Googleスプレッドシートの#REF!エラー「External workbook reference not converted to IMPORTRANGE」の原因と解決策
最終更新日: 2026-08-27
30秒でわかる原因と解決策
原因: Excelのように別ファイル(別スプレッドシート)のセルを直接参照する数式を入力した際、Googleスプレッドシートが自動でIMPORTRANGE関数に変換できずにリンク切れを起こしているため。 解決策: 該当の数式を削除し、適切なURLと範囲を指定した
IMPORTRANGE関数に書き換える。
修正コード(Before / After)
❌ エラーが発生するコード
=[1]Sheet1!A1
=IMPORTRANGE("外部ファイルのURL", "Sheet1!A1") # ※URL部分の指定ミスや権限不足でも発生
⭕ 修正後の推奨コード
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/your-spreadsheet-id/edit", "Sheet1!A1")
よくある発生パターンと解説
Googleスプレッドシートでは、Excel(.xlsx)ファイルをインポートした場合や、数式バーで直接「別のスプレッドシートのセル」をクリックして参照しようとした際に、この #REF! エラーが発生します。
Googleスプレッドシートは別ファイルのデータを直接参照する機能を持たないため、別ファイルのデータを取得するには必ず専用の IMPORTRANGE 関数を使用する必要があります。
主な発生原因
- Excelからの移行: Excelの外部参照数式(例:
[book1.xlsx]Sheet1!A1)がそのまま残っている。 - 手動入力での参照ミス: 別シートのURLや範囲の指定方法が間違っている。
- アクセス権限の未許可:
IMPORTRANGEは使っているが、初めて接続するシート同士で「アクセスを許可」していない。
解決手順の詳細
- エラーが出ているセルを確認し、直接リンクしている数式を削除します。
IMPORTRANGE関数を使用し、第一引数に「対象のGoogleスプレッドシートのURL」、第二引数に「シート名とセル範囲(例:Sheet1!A1:B10)」を指定します。- 初めてアクセス許可を求めるポップアップ(#REF!のエラーセルの上にマウスを合わせると表示される)が表示された場合は、**「アクセスを許可」**をクリックします。
よくある質問 (FAQ)
Q. IMPORTRANGE を使っているのに #REF! が消えません。
A. 初めてデータを参照するスプレッドシート同士の場合、アクセス権限の承認が必要です。エラー表示の上にカーソルを合わせると「アクセスを許可」ボタンが表示されるので、それをクリックしてください。また、URLやシート名に誤りがないかも確認してください。
Q. 大量のセルでこのエラーが発生しています。一括で修正できますか?
A. 検索と置換機能(Ctrl + H)を使用して、外部参照のパス部分を IMPORTRANGE 関数の形式に一括置換するか、一度CSVやExcel形式での数式を整理してからインポートし直すことをおすすめします。