• ベストアンサー

EXCEL:引数のシート参照を動的に変更したい

EXCELでこのようなことができるでしょうか? (1)シート1~シート10まで同じフォーマットの入力表があります。 (2)シート11に印刷帳票が作ってあります。帳票の各セルはvlookup関数でシート1~10のそれぞれの該当セルを参照するようになっています。 このとき、出力帳票シートのどこかにリスト型の入力規則で、1~10までのシート番号を入力できる項目を作っておき、それを使ってvlookup関数の引数にあるセル 参照を動的に変更できるでしょうか? たとえば、  VLOOKUP(C5,'シート1'!L10:N40,3) といった関数を、  VLOOKUP(C5,'シート1'!L10:N40,3)        ↓  VLOOKUP(C5,'シート3'!L10:N40,3) といったふうに変更できるとうれしいのです。 よろしくご教示ください。 おねがします。

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

  • ベストアンサー
noname#148473
noname#148473
回答No.2

INDIRECT関数を使えば可能です。 たとえばA1にシート番号が入力されているならば =VLOOKUP(C5,INDIRECT("シート"&A1&"!L10:N40"),3) で、「シート?」を参照できます。 なお、A1セルに想定外の数値や文字が入ると「#REF」エラーになりますので、メニューバーの「データ」→「入力規則」で、入力できる数値を制限しておくとか、リストから選ばせるようにすれば、他の人にも使いやすいでしょう。 ご参考になれば幸いです。

sgm
質問者

お礼

ありがとうございます。 うまくいきました。とても助かりました。

その他の回答 (1)

  • moon00
  • ベストアンサー率44% (315/712)
回答No.1

A1セルに番号だけを入力するとして、 VLOOKUP(C5,INDIRECT("'シート"&A1&"'!L10:N40"),3) で可能だと思います。

sgm
質問者

お礼

ありがとうございます。 うまくいきました。とても助かりました。

関連するQ&A