• ベストアンサー

他シートのセルのINDIRECTでの参照

たとえば、"A"というシートがあるとします。このAシートのセルA1を、"B"シートのセルB1からindirect関数を用いて読み込みたいのですが、BのB2にAのシート名が入っていまして、それを参照する必要があります。BのB1に、  =INDIRECT(B2&"!"&A1) としたところ、セル範囲が無効というエラーがでてしまいます。 BのB1はその時々で参照するシート名を変更するため、他のシート名になったりもしますので、このような処理が必要になっています。 他のシートからは読み込めないのでしょうか? ちょっと分かりづらい書き方になっているかもしれませんが、おわかりの方は、よろしくお願いします。

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

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

>=INDIRECT(B2&"!"&A1) とするとBシートのA1セルのセル内容が結合されて、結果文字列になるから予想外のものになるよ。 この質問ではここのA1は固定でAシートのA1セルを指してほしいのでは。 =INDIRECT(B2&"!A1") シート名だけの変動でよい課題では? ーー もちろん、シート名、セル番地とも変えたいケースは考えればあるかもしれない課題だが。

maina-
質問者

お礼

そうか。変動しない部分はまとめて""でくくるようにすればいいのですね。 早速の回答、ありがとうございました。 これで資産のポートフォリオのリスクシミュレーションが簡単になりました (^^)/

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

=INDIRECT(B2&"!A1") ではどうですか?

maina-
質問者

お礼

ばっちりです。 早速の回答、ありがとうございました。

関連するQ&A

  • 同じブック内の他のシートのセル参照

    XP / Excel 2003 同じブック内の他のシートのセルを参照したいのですが 他のシートが Sheet1 とかなら  Sheet1!A3+B3 などで計算できるのですが 参照したいシート名が  2007 6月 だと  2007 6月!A3+B3 とするとエラーになり、修正候補が現れるのですが これもうまくいきません。 方法を教えてください。

  • 結合したセルのセル参照

    http://oshiete1.goo.ne.jp/qa2144305.html http://oshiete1.goo.ne.jp/qa1315043.html 上記の二つの質問を見ましたが、疑問が取れないので質問します。 知識が乏しいので、言葉の使い方がおかしかったらすみません。 ----- 別シート(シート名は漢字を使った和名に変更済)の 結合したセルにセル参照したい時のエラー(?)です。 ツールバーの「=」ボタン、もしくはキーボードから「=」を入力し カーソルで参照先のセルをクリックすると  ='シート名'!A1:B1 と入力されてしまい、エラーになります。 また、それと同じ操作をしているはずなのに  ='シート名'!A1 となる場合もあります。前者ではもちろんセル参照できませんので 後者のようにしたいのですが、何か設定があるのでしょうか? 前者のようになってしまうのは仕方がないことですか? 毎回「:B1」の部分を消すのは大変手間がかかります。 それとも、そもそもカーソルでセル参照をするやり方が悪いのでしょうか?

  • エクセルのセル参照について

    エクセル2007でワークシートAのセル参照をワークシートBのセル(20カ所位)で設定しています。このワークシートBのセル参照のワークシート名をAから新たに作成するワークシートCに効率良く変更する方法はありますか?

  • エクセルで他のシートを動的に参照するには

    エクセルに関する質問です。 他のシートのセルを参照する場合、たとえば、 =Sheet1!D5 というように入力すると思います。 質問は、このシート名とセル名に、他のセルの値を使用したいのですが、方法はあるのでしょうか? できれば、VBAを使わずに。。。 質問が分かりづらいと思いますので、具体的に説明すると、A1にシート名("Sheet1")が、B1にセル名("D5")が入っている場合に、C1にその値(=Sheet1!D5)が表示されるようにしたいのですが、方法はあるでしょうか?

  • セルの相対参照について

    たとえば、あるシートAのA1セルが別のシートBのA1を参照しておりシートAのA2がシートBのC3(A1から列を2つ行を2つ移動したセル)を参照している状態で、シートAのA1の参照セルをシートCのB2に変更したときに自動でシートA2の参照セルをシートCのD4に変更できるような方法はあるでしょうか? 質問の内容がわかりにくいかもしれませんが、是非よろしくお願いします。

  • シートの違うセルを参照したいのですが・・・

    Sheet1 A1  B1  C1  D1 Sheet2 F1 F2 F3 F4 Sheet1 A1 のセルには Sheet2 F1 のセルを Sheet1 B1 のセルには Sheet2 F2 のセルを 参照するような数式を作成したいと思っています。 お教えくださいますよう、お願いいたします。

  • Excel 同ブックの他シートを参照するセルを、他ブックのセルにコピー

    こんにちは。Excelの使い方について質問させていただきます。 よろしくお願いします。 Excel2003を使っています。 シート数、シート名がまったく同じブックが2つあります。 AブックのAシートのA1セルを参照しているセルである AブックのBシートのA1セルをコピーします。 BブックのBシートのA1セルにペーストします。 BブックのAシートのA1セルを参照して欲しいのですが、 別ブックであるAブックのAシートのA1セルを参照するように 自動的に変換されてしまいます。 シンプルにそのままコピーすることは不可能でしょうか。 セルのコピーでは無く、中の文字列を選択してコピーしても、 何が起こっているのかよくわかりませんが上手くいきません。 Excel初心者です。マクロはまったく使えません。 親切な方、どうぞよろしくお願いします。

  • VLOOKUPで他のシートを参照する場合

    シートが(1)「値表示」と(2)「データ」の2種類があります。 (2)にはB1:D4、B5:D8、B9:D12というように、セル12個分にそれぞれ独立したデータ表があり、このデータが全部で10個あります。 そして、このデータから任意の値を(1)「値表示」シートに表示したいので、(1)のセルA1に「=VLOOKUP(A2,データ!,B1:D4,2,FALSE)という式を入れます。 これで、(1)のA1(2)のシートのデータ表から任意の値が表示されるのですが、このA1に入力した式をコピーして、A10までそれぞれの表に対応したVLOOKUPの数式を入れたいのですが、普通にコピーするとA2以降に入力される式はデータの参照範囲がA1の範囲から1セル分だけずれたB2:D5となっています。A2が参照する範囲は本来はB5:D8にしたいので、一つずつデータの参照範囲を修正しないとならないのですが、このような場合は、やはり一つずつ修正するしか方法がないのでしょうか。 もっと、素早く参照先を変更できる方法がありましたら教えてください。

  • excel2007 vlookup関数 シート参照

    次のような関数をつくって利用しています =VLOOKUP($B$3,'1101'!$1:$1048576,2) ここで利用しているのは、シート名「1101」なのですが アクティブシートのセルに入力した名前に対応して 参照するシートを変更したいのです 上の式の1101のところに、セルA4やindirect(A4)などを いれようとしましたがうまくいきません 調べてみましたがうまく調べられないので 質問することに決めました。 ご指導よろしくお願いします。

  • Excelのシート参照をするにあたって

    あるセルに他のシートを参照して集計する関数を記述しているのですが 参照先のシートが一度消去されてしまうと参照もとのセルに記述した 参照先シート名が自動的に#REFになってしまいます。 (例:「=Sheet1!A2」と記述していて「Sheet1」を削除すると「=#REF!A2」になってしまう) この現象はどうにか防げないものでしょうか? よろしくお願いします。

専門家に質問してみよう