質問: excelにて変数を含むindirect関数の使い方 現在、excelにてindirect関数を使い他のセルを表示させようとしているのですが、うまくいきません。 シートが13枚あり、それぞれ”1月”、”2月”、・・・、”12月”と”メイン” シート”メイン”のb12に1が入っています。この1はドロップダウンリストで1~100を選択できるようにしています。 同様にa1に1月~12月のデータのドロップダウンリストがあります。 =indirect("1月!j"&$b$12+4) この場合望んでいる値(”1月”のシートのj5の値)を取ってきてくれるのですが、 この値をa1のリストで選んだ月に合わせて変化させたいと考えています。 =indirect("a1!j"&$b$12+4) としても#ref!と出ていまい、うまくいきません。 どうしたらセルの番地はこのままで、望んだ月のシートの値を持ってこれるのでしょうか? indirect関数の""マークの使い方についても理解ができないので、参考になるものはないでしょうか?ヘルプを読んでも分からないのでよろしくお願いします。
回答: ""で囲んでしまうと「その文字列」と認識されてしまいます。この例でいうと「a1というシートがあるはずだ」と認識され「そんなものはない」からエラーとなってしまうのです。 =indirect(a1&"!j"&$b$12+4) のように参照セル表記部分は""から外に出してあげるとちゃんと参照します。