• ベストアンサー

セル内の文字からファイル名を呼び出してデータを抽出したい

よろしくお願いいたします。 Excel2000&WindowsXPを使用しています。 A1セルに表示させている文字からExcelファイルの一部のデータを抽出させる方法はありますか?。 以下のExcelファイルがあります。   A    B   C 1 CD 2 DVD 3 VHS 上記ファイルのA1で表示させている”文字+xls”ファイルの一部のデータをB1セルに表示させたいと思っております。 現在、C1セルには以下のマクロ文を指定しております。 =VLOOKUP("合計",[CD.xls]個数シート!$M$5:$N$500,2,0) 上記のマクロ文でも問題ないのですが、ExcelファイルのA列に表示されている項目は常にランダムであり、必ずしもCD→DVD→VHSといった順番ではないので、[CD.xls]個数シートのCDという部分をA1の項目にランダムに変更したいのです。 これは可能でしょうか?。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

INDIRECT関数を用います =VLOOKUP("合計",INDIRECT("["&A1&".xls]個数シート!$M$5:$N$500"),2,0) でA1セルの値のブックを参照することが可能です なお「マクロ文を指定しております。」とありますが「関数式」もしくは「式」が正しい表現です。「マクロ文」はVBAで記述されたプログラムの意味になりますので…

mare115
質問者

お礼

ご指摘いただきましてありがとうございます。 そしてすばやい回答をいただきましてありがとうございました。 早速ためさせていただきまして、無事データを抽出することが出来ました。たすかりました。。

その他の回答 (1)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

参照したいファイルがすでに開いているのであれば可能です。  =VLOOKUP(合計,INDIRECT("'["&A1&".xls]個数シート'!$M$5:$N$500"),2,0) のようになります。 参照したいファイルが開いていない場合はエラー(#REF!)になります。 ※INDIRECT関数の詳細はExcelの関数ウィザードやヘルプを参照してください。

mare115
質問者

お礼

大変ありがとうございました。 まだまだ手作業を集約すべく、質問したい項目がまだあることは事実ですが、まずは満足です。 これで100近いファイルの毎月のコピー&ペーストx100をしなくてすみます。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう