IMPORTRANGEを使うと「VLOOKUP は境界外の範囲を求めています」のエラー

なぜいきなりこのような記事を書いているのかよくわかりませんが、エラーの解決にちょっと時間がかかったので書き残します。

GoogleスプレッドシートでIMPORTRANGEを使うと「VLOOKUP は境界外の範囲を求めています」のエラーが出る場合の対処方法。
ついでに、Googleスプレッドシートで他のファイルからデータを引っ張ってくる方法。
ちなみに文字コードが置き換わってることもあるかもしれないので、コピペする場合はご注意ください。

まず、他のファイルからデータを引っ張るのは
=IMPORTRANGE("◯◯◯◯◯◯◯◯","シート1!A1")
こんな風に書きます。
◯の部分は引っ張ってきたいスプレッドシートのアドレスの
https://docs.google.com/spreadsheets/d/◯◯◯◯◯◯◯◯/edit
この◯の部分。

続きまして、
A12に入力してある品番を検索して、その右隣の品名を引っ張ろうと思ったら、
=VLOOKUP(A12,IMPORTRANGE("◯◯◯◯◯◯◯◯","シート1!A:C"),2,FALSE)
となります。こうして入れ子になっていきます。
「対象ファイル◯◯◯◯◯◯◯◯」の「シート1」の「範囲A列からC列のA列」に「このファイルのA12」に入力された文字があるか検索して、もし見つかったら「その行のAからAを含んで2つ目(右隣)の中身」を表示します。

ただこのままだと入力の無い列がエラー表示になります。
なので、IFを加えると良いでしょう。
=IF(A12="",, VLOOKUP(A12,IMPORTRANGE("◯◯◯◯◯◯◯◯","シート1!A:CZ"),1,FALSE))
これで、もしもA12が空だったら何もしない。入力してあったらVLOOKUPの処理が行われます。
シートに何も無い状態から作っていくと、これでうまく動きます。
でも、ここで問題が。
このファイルをコピーして新たなファイルを作ると、計算式はそのままなのにエラーが発生します。
どうやら、ファイルへのアクセス許可を出さないといけないようです。でもどこにも許可するボタンがありません。

エラー
VLOOKUP は境界外の範囲を求めています

と出るだけなんです。
どうやら、入れ子になってくると、エラーにしかならないみたい。
これの解決方法は、どこかに一番最初の
=IMPORTRANGE("◯◯◯◯◯◯◯◯","シート1!A1")
こんなのを作っておくと良いです。
ただ呼び出すだけのシンプルなやつ。
まあ、決められた言葉を呼び出すとか、社名を呼び出すとかそんなような簡単なもので良いかと。
シンプルにこれだけ載せておくと、このセルにポインタを合わせれば
「これらのシートをリンクする必要があります。【アクセス許可】」と表示され許可のボタンが現れます。
それを押せば、シート内すべて正しく表示されるようになります。
これで一件落着。

今後、複雑な計算式でも簡単に許可ボタンが出るようになると良いですね。
というか、データ側のファイルの設定に、他のファイルからの参照を許可するかと、誰に許可を与えるか設定できると良いですね。