- ベストアンサー
EXCELでシート名をセルの内容で指定出来るか
検索してみましたが、探し方が悪いのか該当する質問がないようなので、質問させていただきます。 EXCELで複数のシートにあるデータを使用して集計表を作成するときの質問です。 使用する人がEXCELに慣れていない方のため、汎用性を持たせたいのですが、以下のような方法は出来るのでしょうか。 集計元シート(複数)> '1','2','3'…のように連番のシート名 集計先シート>'集計' 1.'集計'シートのセル A列 にシート名を入力します。 2.'集計'シートのセル B列 にそれぞれのシートの合計部分のセルNo(Ex.B11)を指定します こうしたとき、2.のB列 は [ B1 = '1'!B11 ]のようになりますが、この '1' の部分で '集計'シートの A1 の値を反映したいのです。 こうすると、シートが増えたとしても、上の式をコピーすれば(ドラッグでのコピー)式のシート名を変更する必要がないと思うのですが…。 ですが、思いつく方法を試してみてもどうもうまくはいきません。 本当にこういった方法は出来るのか、出来るのならその方法をご教授いただければありがたいです。 説明ベタで申し訳ありません。 これが出来るといろいろなものがうまくいくので、ぜひよろしくお願い致します。 (VBAはなるべく使わない方向でお願いします)
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シート名付のセルの参照なら B1=INDIRECT(A1&"!B11") でできますが
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17070)
Sheet2のB11が123 Sheet3のB11が234 Sheet4のB11が345 ・・ とします。 Sheet1のA2で=INDIRECT("Sheet"&ROW()&"!B11") といれ、+を下へ引っ張ると、 A2 は123 A3 は234 A4 は345 ・・・ となります。 シートの名前を1,2,3・・にするなら A2に=INDIRECT((ROW()-1)&"!B11")といれて、下方向に 複写すれば良い。
お礼
INDIREDTとROWを使用した応用方法をありがとうございます。 下の方へのお礼にも書きましたが、INDIRECTを使用するということ自体に気付くことが出来ずにいたので、基本とその応用をご教授いただけると、一気に使用方法が膨らみました。 この関数の存在を知っていると、こちらで検索するだけでも色々質問と例が出てきますね。教えていただけて助かりました。 シート名全てを入力せずにも使えると解ったので、それもあわせて次の作業に進めたいと思います。 ありがとうございました。
お礼
質問してすぐのお答えありがとうございました! INDRIDECT ですね!ヘルプや関数辞典(ONLINE、書籍)も必死に探したわりに、この使用方法を発見することが出来ずに恥ずかしい限りです。 シート間の参照は無事に出来ました。 次の課題は複数ブック間のデータの参照なのですが、これは INDIRECTと言うヒントをいただいたのでこちらでもいろいろ検索して勉強したいと思います。 もしそれでも解らなくなったらこちらでまた質問させていただくかもしれません。 やっと次の仕事にかかれます。ありがとうございました。