エクセルの別ファイル参照でREF・N/Aエラーの原因|外部
ここでは、エクセルで「関数などにより別ファイル(外部)参照した時に#REF!や#N/Aエラーになる原因と対処法」を解説します。
ここで説明する原因は限定的ですが、発生すると対処法が分かりづらくてとても困ります。ぜひ参考にしてください。
1.まずは現象を確認
まずは、「別ファイル(外部)参照で#REF!や#N/Aエラーになる現象」を、例を含めて確認します。
1-1.参照先のファイルを開き直すとシート名が#REF!に
この現象は、「参照先のファイルを開き直すと、数式のうち『シート名』が#REF!エラー」になります。
なので、セルの表示ももちろん「#REF!」です。
現象は、次の状態で発生します。
- 数式で別ファイルを参照する
- 数式作成後、ファイルを保存して閉じる
- 数式の入ったファイルを再度開く
- 参照先のファイルを開き、「コンテンツの有効化」をクリックする
⇒ 発生!!
1-2.#N/Aエラーになることも
また、ケースによっては#N/Aエラーになる時もあります。
いづれにしても、発生すると基本的に数式を手直ししないといけないので、とても大変です。
1-3.例で確認
一つ例を見てみましょう。
上は、「Book1のSheet1」です。これは、「Book2の『元データ』にある同じセル番号」の値をINDEX+MATCH関数で持ってきています。
ちなみに、Book2の元データシートは下のようになっています。
そして、これらのファイルをいったん閉じます。
その後、数式を入れた「Book1」のほうを開きます。
Book1で「編集を有効にする」をクリックします。
Book1で「コンテンツの有効化」をクリックします。
その後、Book2を開き、Book2で「コンテンツの有効化」をクリックすると…
Book1の数式が#REF!エラーになりました。
そして、数式を見てみると「シート名が#REF!になっている」のが分かります。
このように、外部参照の数式は参照先のファイルを開くと#REF!エラーになることがあるのです。
2.外部参照でエラーになる原因と確認方法
次に、外部参照で#REF!や#N/Aエラーになる原因と確認方法を見てみましょう。
2-1.パスをIPアドレスで指定するとエラーになる
外部参照で#REF!や#N/Aエラーになる原因は、「外部保存媒体をIPアドレスで指定している」ことです。
外部保存媒体とは、サーバーやNASなどのことです。外部保存媒体を指定することで、そのファイルがどこに保存されているかを明示します。
IPアドレスで指定した場合には、数式の入ったファイルよりも参照先のファイルを後で開くと、うまくシート名が取得できないようなのです。
2-2.パスの確認方法
パスをIPアドレスで指定しているかどうかは、数式バーを見ればわかります。
以下手順です。
(1)ファイルを両方閉じた後、数式の入ったファイルを開く
(2)数式の入ったセルをクリックする
(3)数式バーを参照する
上図の「'\\192.168.~」のように、\マークの後が数値になっていたら、パスをIPアドレスで指定していることになります。
2-3.#REF!と#N/Aの違いは「参照先のシート名」
#REF!エラーと#N/Aエラーの違いは、「参照先のシート名」です。
「元データ」などの日本語の場合には#REF!エラーになり、「Sheet1」などの場合には#N/Aエラーになります。
ただエラーの種類は違っても、どちらも原因はやはり「パスをIPアドレスで指定している」ことになります。
3.エラー解消の仕方
続いて、エラーの解消の仕方を見ていきます。
3-1.「パスを『コンピュータ名』にする」と直る
#REF!エラーや#N/Aエラーは、「パスをコンピュータ名にする」ことで解消されます。
しかし、エクセルの外部保存先のパスは自動で入力されます。
そこで、手で直すのではなく、「自動でパスがコンピュータ名になる」ようにします。
3-2.どうしてIPアドレスが自動で付加されるのか?
そこで、そもそも「どうしてIPアドレスが自動で付加されるのか?」を確認します。
エクセルでは、どうやら「フォルダをどうやって開いたか?」によって変わるようです。
例えば、サーバーにあるフォルダをIPアドレスで開けば数式のパスにはIPアドレスが、フォルダをコンピュータ名で開けばパスにはコンピュータ名が自動で付加されます。
つまり、パスをコンピュータ名にしたい場合には、そのファイルがあるフォルダの開き方を「IPアドレスからコンピュータ名に変えればいい」のです。
3-3.コンピュータ名の調べ方
フォルダをコンピュータ名で開くためには、保存先のコンピュータ名を知ってなければなりません。
そこで、コンピュータ名の調べ方を簡単に説明します。
以下手順です。
(1)ウィンドウズキーとRを押す
(2)ファイル名を指定して実行に「cmd」と入力してOKを押す
(3)「nbtstat -A IPアドレス」と入力し、Enterキーを押す
※ 例)nbtstat -A 192.168.1.200
(4)表示された結果からコンピュータ名を確認する
C:\Users\×××>nbtstat -A 192.168.×.×
イーサネット:
ノード IP アドレス: [192.168.×.×] スコープ ID: []
NetBIOS リモート コンピューター ネーム テーブル
名前 種類 状態
---------------------------------------------
Test01 <00> 一意 登録済
Test01 <03> 一意 登録済
Test01 <20> 一意 登録済
WORKGROUP <00> グループ 登録済
WORKGROUP <1E> グループ 登録済
上の例で言うと、赤字の部分がそのIPアドレスのコンピュータ名です。
まずはこのコンピュータ名を控えます。
3-4.コンピュータ名からフォルダを開く方法
次に、コンピュータ名からフォルダを開く方法です。
以下手順です。
(1)なにか適当なフォルダを開く
(2)アドレスバーに「¥¥(コンピュータ名)」と入力後、Enterキーを押す
(3)ファイルが保存されているフォルダを開く
(4)エクセルファイルを開く
このように、開き方を変えるだけでエラーが出なくなります。
ちなみに開き方を変えると、パスも自動でコンピュータ名に変わります。
3-5.Windows資格情報を求められる時も
ネットワークの設定によっては、「Windows資格情報」を求められる時もあります。
その際には、ネットワーク管理者に事情を説明して対処してもらいましょう。
3-6.できればショートカットもコンピュータ名のものに変える
最後に、できればショートカットもコンピュータ名のものに変えるとよいです。
フォルダのショートカットは、フォルダ上で右クリック → ショートカットの作成でできます。
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】