• ベストアンサー

セルに書かれたシート名を使った参照を関数組合せで実現できますか?

Excel2000を使っています。 マクロを使わずに、Excel関数の組合せのみで次のようなことができるでしょうか。 sheet1のA列に、sheet2以降の名称が入っています。 -|---A---|---B----- -+-------+--------- 1| sheet2| -+-------+--------- 2| sheet3| -+-------+--------- 3| sheet4| -+-------+--------- : : このとき、sheet1のB列に各シートの先頭セル内容を表示させたい。 -|---A---|---B----- -+-------+--------- 1| sheet2| sheet2のA1セル内容 -+-------+--------- 2| sheet3| sheet3のA1セル内容 -+-------+--------- 3| sheet4| sheet4のA1セル内容 -+-------+--------- : : 行数が少なければ、次のように単純に参照式を書いていけば良いですが、 -|---A---|---B----- -+-------+--------- 1| sheet2| ='sheet2'!A1 -+-------+--------- 2| sheet3| ='sheet3'!A1 -+-------+--------- 3| sheet4| ='sheet3'!A1 -+-------+--------- : : 行数が多いとこの繰り返しが大変です。 たとえば、セル内容を展開してくれるような関数cellval(仮称)が もしあったとしたら、 1つ計算式を書いて、単純に下方コピーしていけばOKなのですが、 -|---A---|---B----- -+-------+--------- 1| sheet2| =cellval(A1)!A1 -+-------+--------- 2| sheet3| =cellval(A2)!A1 -+-------+--------- 3| sheet4| =cellval(A3)!A1 -+-------+--------- : : ↓B列を連続コピー このようなことができる方法はあるでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問のとおりの答えは =INDIRECT(A1 & "!$A$1") でしょうね。 INDIRECT関数は、指定した(作った)文字列を、あたかもキーボ^-ドから入力したかのようにしてくれる関数です・

supob
質問者

お礼

imogasiさん、INDIRECT関数について初めて知りました。 ご回答ありがとうございました。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=INDIRECT(A1&"!A1")

supob
質問者

お礼

mshr1962さん、ご回答ありがとうございました。

関連するQ&A