- ベストアンサー
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関数の""マークの使い方についても理解ができないので、参考になるものはないでしょうか?ヘルプを読んでも分からないのでよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> =INDIRECT("A1!J"&$B$12+4) という数式の結果は、B12に3が入っているとしたら、 「A1!J7」 となってしまいます。 これは、「"A1!J"」と本来その内容を参照させたいセル番地「A1」まで「"」で括ってしまっているからです。 #1さん言われるように、 =INDIRECT(A1&"!J"&$B$12+4) とすべきです。
その他の回答 (1)
- hamaken5031
- ベストアンサー率22% (15/68)
""で囲んでしまうと「その文字列」と認識されてしまいます。この例でいうと「A1というシートがあるはずだ」と認識され「そんなものはない」からエラーとなってしまうのです。 =INDIRECT(A1&"!J"&$B$12+4) のように参照セル表記部分は""から外に出してあげるとちゃんと参照します。