普段は結構歩き回る仕事をしているのだが、足首を骨折してあまり動けないので事務仕事をしている。
ExcelとかAccessを弄り回していたら、同僚からある質問を受けて無事?解決できたので備忘録的に残そうと思う。
Microsoft Excelで別シートを参照すると#Value!と表示される
Excelの外部参照の話ですな。
「別シートからIF関数を使って外部参照したら、#Value!が表示されるけど何で?」
と聞かれた。
「マウスでポチポチと参照先を指定するとできない」
調べてみると参照先のセルが結合されていてその結合された範囲が参照先として指定されてしまっていた。
Google先生はセルの範囲を手で直せばいける!とか言ってるケースもあったけどそんな面倒くさい。(数が多いからね)
別の解決方法を考えよう。
さらにGoogle先生に聞いてみると特定の条件で発動するExcelの問題らしい。
https://support.microsoft.com/ja-jp/kb/410985/ja
Microsoftのサポートページで見つけたのでどうぞ。職場&自宅のExcelは2010だがこのサポートが更新されたのが2004年なので修正できない問題みたい。
シート名の変更で対応
・参照先シート名、ファイル名に空白が含まれている。
・参照先シート名の先頭が数字。
・参照先シート名に特定の文字が含まれている。
! + – = ; # $ @ % & ‘ ” ~ ^ | ( ) { } < > ,
参照先シート名が上記の場合で、参照したいセルが結合されていると発生する。
で、同僚のファイルを見るとシート名に()が入ってた!
というわけで、シート名を変更したらあっさり解決。
でもこの条件、結構発動すると思うのですよ。特にシートをコピーした時とか自動で()がつくから。
根本的な解決をしてほしいけど10年たって直らないなら無理なんでしょうね。
Excelを使う方でこんな現象にあった方、シート名の変更で解決するので参考にしてみてください。