2011年11月1日火曜日

空白文字のあるシート参照

Excelで文字列を参照先に変換するINDIRECT関数を利用していて、ちょっとした問題に遭遇。

INDIRECT関数に関する説明はこちらへ。

例えば、
 B2セル:S 保守
 B3セル:=INDIRECT(B2&"!B16")
       ↓
 B3セル:#REF!

何が、原因なのかなかなか分からず。。。
原因は、B2セルの値として、Sと保の間に半角スペースが入っていたためでした。
解決方法は、スペースが含まれれる場合には、「シングルコーテーション(')」で囲めば良いとのこと。


 B2セル:S 保守
 B3セル:=INDIRECT("'"&B2&"'!B16")
       ↓
 B3セル:太郎

というこで、解決しました。スペースが入っていることを見落としてました。