仕事で、Excel(エクセル) 使われるかた多いと思います。
私もその1人です。・・・・
まぁ集計やらいろいろやるんですが、Excel(エクセル)で外部ファイルの値を参照して集計しようとしたわけですが、気が付いたらですよ。
計算していた箇所がね・・・・
こんなんになってました(>人<;)
マジかよ・・・・
計算式を見ると、どうも外部ファイルのシート名のところが#REFになって、行方不明になってます・・・・(´・ω・`)
シート名が消える現象を探る
まず、なぜこんなことになったのかを探ります。
集計しているファイルをA.xlsxとします。
そこには、別ファイルB.xlsxの複数あるシート(シートC)の中の特定の値を参照しています。
A.xlsxを作成時にはちゃんと値がありました・・・・
いつシート名が#REFになるのだろうか・・・・・
A.xlsxを編集中に、もう一度、B.xlsxを開いて「編集を有効にする」した瞬間、#REFに・・・・(>人<;)
仕事でExcel(エクセル)使ってます。ローカルでは起きないのに、どうやら、ネットワーク上にあるファイルで起こるようです・・・・
今回集計で使ったA.xlsxもB.xlsxもネットワーク上にあるファイルです・・・・
ヤバイ・・・複数人が参照するから、いつまた#REFになるかわからん(´・Д・`)
原因がわかったが、どう解決するか
原因はなんとなくわかった・・・
がしかし、どうやって解決するかだ・・・・
悩んでいたところ、同僚がファイルを触ってました・・・・(>人<;)
あ、また、集計おかしくなると思いきや、同僚のPCではそのうよなことになりません( 。◕ˇдˇ◕。)
何回か同僚にファイルを開いたり、閉じたりしてもらったのですが、エラーにならない・・・・( ゜Д゜)
なぜ・・・私だけなのか・・・・(ノД`)・゜・。
ひとつ分かったことは、シート名が#REFになる人とならない人がいるこれは確か
なら、どこかに解決方法があるはず・・・
なんか解決する・・・
同僚は大丈夫で私だけダメ・・・・なぜだ
同僚と私でネットワーク上のフォルダへのアクセス方法が違った(´゚д゚`#)
ネットワーク上にあるフォルダ、まぁ普通は名前がついてますよね。
でアクセスするとだいたい、\\sigoto\kirai\みたいになってますよね。(フォルダーのパスの部分ね)
私、IPでアクセスしてました。\\192.16×.×××.××\kirai\のように、どうやらこいつが原因だったようです。
私がネットワーク上のファイルを開いたときは、「このファイルは、インターネット上の場所から取得されており、安全でない可能性があります。クリックすると詳細が表示されます。」
が表示され横にある「編集を有効にする」ボタンを押して編集します。
が同僚のところで確認したとき、それがなかった・・・・
どうやら、\\sigoto\kirai\でアクセスしたとき、
この警告が最初にでて、「はい」を選択するとこのファイルは信頼済みのドキュメントに登録され、以後は警告されません。
私も、同じようにしてアクセスすると#REFにならないщ(゚Д゚щ)
やったぜ、解決だ( 。◕ˇдˇ◕。)b
おすすめしないが別の方法もある
一応の解決はできたが、私のように\\192.16×.×××.××\kirai\でアクセスする人もいる、その場合やっぱり、#REFになってしまいます。
で見つけた別の方法なんですが、セキュリティのレベルを下げる方法です。
まず、Excel(エクセル)ファイルのオプションを開きます。
セキュリティーセンターのセキュリティーセンターの設定を開きます。
保護ビューをクリックします。
「インターネットから取得したファイルに対して保護ビューを有効にする」のチェックを外します。
そして「OK」ボタンをクリックして設定を変更します。
ネットワークフォルダ内のファイルもインターネット扱いなのかよくわからん・・・・
これで、「このファイルは、インターネット上の場所から取得されており・・・・の警告はでなくなります。
\\192.16×.×××.××\kirai\でアクセスしても、#REFにならず、シート名がちゃんと取得できました。
ただ、保護を無効にしているので、インターネットからダウンロードしたファイルにウイルスとか仕込まれていた場合など、保護が機能しないので、あまりよろしくないです・・・・
まとめ
外部参照しているファイルがネットワーク上にある場合は、エクセルがもつセキュリティ機能が働くため、
ちゃんと許可してあげないと参照されなくなってしまいます。
参照されていない状態で上書き保存してしまうと、参照先のシート名は消えてしまうようです。
ファイルは信頼済みのドキュメントに登録されれば、問題は起きなくなるので、確認してみてださい。
また、エクセルのセキュリティレベルを下げることで回避できますが、インターネットからダウンロードしたファイルにマルウェアなどが仕込まれていた場合
セキュリティが正しく機能しない場合がありますので、自己責任で行って下さい。