こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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関数の""マークの使い方についても理解ができないので、参考になるものはないでしょうか?ヘルプを読んでも分からないのでよろしくお願いします。

投稿日時 - 2007-10-30 01:58:20

QNo.3473446

すぐに回答ほしいです

質問者が選んだベストアンサー

> =INDIRECT("A1!J"&$B$12+4)
という数式の結果は、B12に3が入っているとしたら、
「A1!J7」
となってしまいます。
これは、「"A1!J"」と本来その内容を参照させたいセル番地「A1」まで「"」で括ってしまっているからです。
#1さん言われるように、
=INDIRECT(A1&"!J"&$B$12+4)
とすべきです。

投稿日時 - 2007-10-30 13:39:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

""で囲んでしまうと「その文字列」と認識されてしまいます。この例でいうと「A1というシートがあるはずだ」と認識され「そんなものはない」からエラーとなってしまうのです。

=INDIRECT(A1&"!J"&$B$12+4)

のように参照セル表記部分は""から外に出してあげるとちゃんと参照します。

投稿日時 - 2007-10-30 02:17:35

あなたにオススメの質問