fc2ブログ
 先日Excel2010を使われている環境で、「同じファイルの別シートの値を参照させようとしているのに、エラーになる」という質問を受けました。

 見てみると、参照したいセルは結合されており、値を表示したいセルは、「=」の後に参照したいセルの範囲が書かれていました。
 例えるなら以下の様な感じです。

 参照したいセルは、シート名:Sheet (1)のA1:B1を結合したセル。(値に1が入っているとします。)
 結果を表示したいセルは、シート名:Sheet (2)のC1セルで、式は「='Sheet (1)'!A1:B1」が入っています。

 本来ならば、ここで結果を表示したいセルには「1」が表示されてくれないといけないのですが、「#VALUE!」のエラーが返ってきてしまうのです。

 不思議なのは、ここで同じ「='Sheet (1)'!A1:B1」の式をSheet (2)のC1セルではなく、A1に入れると、きちんと答えの「1」が返ってくるということ。
 しかも同じ式をB1に入れると「0」が返ってきます(; ̄ー ̄川

 何これ???と検索をしてみると、どうやらExcelのバグで、以下のURLに詳細が記載されていました。

 http://support.microsoft.com/kb/410985/ja

 つまりは数字で始まっていたり、空白やカッコなど、特定の文字の入っているシート名で、しかも結合されているセルを参照する場合、外部参照が正しく表示されない、とのことです。

 これを解決するには、セル参照の式を、範囲ではなく、結合セルの左上端セルのみにすればOKとのこと。
 先ほどの例で言えば、「='Sheet (1)'!A1:B1」を「='Sheet (1)'!A1」にすれば、A1だけでなく、B1でもC1でも、この式できちんと値の「1」が返ってくることになります。

 私は外部参照するとき、「=」だけ入力して、後は参照したい先のシートに移動して、マウスでそのセルを選択する方法で式を入力することが多いのですが、この方法だと、今回のケースのように「='Sheet (1)'!A1:B1」の形で入力されてしまうんですよね☆
 ちょっと面倒ではありますが、上記のバグ条件に重なってしまった場合には、式を修正し直したいと思います(ノ∀`)
スポンサーサイト



2013.06.13 | Excel | トラックバック(0) | コメント(0) |