• ベストアンサー

複数のシートに跨ってVLOOKUPするには?

複数のシートに跨っているデータをVLOOKUPで参照しようとしています。 1つめのシートには コード番号 シート名 の2つのカラムがあり、コード番号ごとに どのシートを参照すればよいかわかるようになっています。 参照されるほうのシートには コード番号 値 の2つのカラムがあります。 このシートが数十存在しますが、1つのシートにまとめることは出来ません。 1つ目のシート上で、 =VLOOKUP(A1,CONCATENATE(B1,"!A:B"),2,false) などと試してみたのですが、うまくいかないようです。 何か良い方法はないでしょうか。

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

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

=VLOOKUP(A1,INDIRECT(CONCATENATE(B1,"!A:B")),2,false) とする必要があります。

homelanadmin
質問者

お礼

速攻で回答ありがとうございます。 ご指摘の方法で成功しました。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

例ですが、次の方法をお試しください =VLOOKUP(A1,INDIRECT(B1&"!a:b"),2,0)

homelanadmin
質問者

お礼

ご回答ありがとうございます。 この式でもうまくいきます。 本当なら皆さんにお礼したいのですが・・・ 今回は先着順にさせていただきます。 ありがとうございました。

homelanadmin
質問者

補足

※実は、indirect関数も試してみてたのですがエラーになるので迷ってました。 皆さんにご回答いただいたおかげで自信がついたので、 一度1からシートを作り直したらうまくいったのです。 元のファイルを詳細にチェックしたところ、 参照先のコード番号のすべてに、末尾にスペースが入力されているというミスが発覚・・・ お恥ずかしい限りです。

  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

こんにちは。 INDIRECT関数を使って、一案。 =VLOOKUP(A1,INDIRECT(B1&"!A:B"),2,FALSE) 以上です。

homelanadmin
質問者

お礼

回答ありがとうございます。 ご指摘の方法でもうまくいきました! No.1さんとは秒単位の争いだったようですね ;-)

関連するQ&A