• ベストアンサー

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

よろしくお願いいたします。 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

  • Excelについて:セルでデータを引っ張るファイル名を一律選択する方法

    教えてください。 Excelで他ファイルからデータを引用する場合、 =[file1.XLS]Sheet1!$B$1 の様に、 []内にファイル名(ここでは"flie1.xls")を入れればそのセルの内容が表示されると思うのですが、 そのファイル名をセルで指定することはできるでしょうか? 具体的にやりたい事は、 同一シート内のセルA1の値が"1234"であった時に、1234.xlsの中のSheet1!$B$1を探して表示する。 "1234"を"2345"に変更すれば、"2345".xlsの中のSheet1!$B$1を表示する。 ということが行いたいのです。 =[$A1$&".XLS"]Sheet1!$B$1 ではだめでした。 可能でしたら教えてください。 よろしくお願いします。

  • 複数ファイルの同じ位置のセル内容を、それぞれファイル名・シート名にして保存したい

    VBA初心者ですが、いろいろなQ&Aを検索して、やりたいことの解決方法を模索しているのですが、私の疑問にドンピシャの回答が見つからず悩んでいます。 目的は、あるフォルダ内の、複数のランダムなファイル名のエクセルファイルについて、それぞれのファイルを開き、アクティブシートのA1セルの入力内容に基づき、そのシートの名前を変更し、ファイル名も変更して保存するという作業です。(例えば、A1に「山田」と入っていたら、シート名も「山田」にして、「山田.xls」で保存する。) マクロの自動作成で、例えば「A」というファイルは開いてシート名を変え、ファイル名を付けて保存するくらいのことはできるのですが、ファイル名がランダムに代わったり、ファイル数が複数になるとできません。 このようなマクロを作ることは可能なのでしょうか?。 よろしくお願いいたします。

  • VBA アクティブなセルのシート名を取得したい

    エクセル2010使用です。 VBAで、アクティブなセルのあるシート名を取得する方法を教えてください。  マクロ.xls (マクロシートA1) ←今回のマクロを書き込んだファイル  参照.xls (参照シートA1)  入力.xls (入力シートF3) この3つのエクセルファイルを開きます。 ( )内はそれぞれの前面にあるシート名と選択されたセルです。 入力シートのF3にカーソルをおいて下記マクロを実行すると   MsgBox ActiveSheet.Name & ActiveCell.Address 「マクロシート F3」と返されます・・・ ほしい結果は「入力シート F3」なんです。 このような場合にアクティブセルのあるシート名を取得する方法があれば教えてください。 よろしくお願いいたします。

  • Excel 読み込むファイルの名前をセル参照

    Excelで他のファイルのあるセルの値を読み込む場合、  =[hogehoge.xls]Sheet1!$A$1 などと打ち込みますが、このファイル名の部分の一部に セルの値を持ってくるにはどうしたらいいのでしょうか? つまり、A1セルに「2」が入力されているときなら、  =[hogehoge2.xls]Sheet1!$A$1 A1セルに「3」が入力されているときなら、  =[hogehoge3.xls]Sheet1!$A$1 としたいのです。(他の部分は固定) よろしくお願いします。

  • 異なるファイルのセル値を抽出する

    excel2010 異なるファイルのセル値を抽出する方法を教えてください。 下記に例を示します。 ファイル名:001.xlsm(ファイル名は、任意に変わります。どんなファイル名になるかは分かりません) シート名称:sheet1、sheet2…(複数あり不定です) 抽出したいセルには名前がついています。 sheet1のA4セルのセル名称が _nameAAA の様に。 ファイルによりセルの位置は変わるかもしれませんがセル名称は固定です。 001.xlsmのファイルに新規シート作成し、 あるセルに =_nameAAA とすると、sheet1のA4セルの値を表示してくれます。 抽出したいファイルが下記の様に複数あります。 001.xlsm,002.xlsm,003xlsm… 抽出したいセルの名前は固定で、下記の様にあります。 どのファイルにどのセル名称があるかは分かりません。 _nameAAA _nameAAB _nameAAC というセル名称があった時、 それぞれのファイルに新規シート作成して、セル名参照するのは手間なので、 以下の様にしたいです。 参照.xlsmというファイルを作成し、c:\workに登録します。 中身は sheet1の A1セルに=_nameAAA A2セルに=_nameAAB A3セルに=_nameAAC としておきます。 抽出したいファイルをc:\workにコピーし、参照.xlsmからマクロで セルの値を抽出して表示する様にしたいのです。 マクロ初心者なのでベタを教えていただきたく、よろしくお願いします。

  • エクセルファイルでのデータ入力について

    あるエクセルファイル(a.xls)をマスターファイルとし、セルAを共通項目,セルB,CをセルAに対する情報とした時、このセルAの並びを別の複数のエクセルファイル(a1.xls,a2.xls)に表示し選択させ、選択された項目とその情報をそのエクセルファイル(a1.xls,a2.xls)に表示したいのですがどのようにすれば実現できるでしょうか?何らかのヒントを教えて下さい。宜しくお願い致します。 (a.xls) 共通項目 情報1     情報2  項目1  項目1情報1  項目1情報1  項目2  項目2情報1  項目2情報2  項目3  項目3情報1  項目3情報3  項目4  項目4情報1  項目4情報4 (a1.xls)  項目1を選択 共通項目 情報      項目1  項目1情報1 (a2.xls)  項目1を選択 共通項目 情報      項目1  項目1情報2

  • 該当するファイル名から抽出したい

    Excel2000&WindowsXPを使用しているものです。 以下のExcelファイルがあります。 Excel1 ファイル名:total.xls Excel2 ファイル名:みかん月間.xls Excel3 ファイル名:りんご月間.xls ”total.xls”というExcelファイルを開きます。この中には以下の内容があります。    A   B 1 りんご 2 みかん 3 その他 また、”みかん月間.xls”と”りんご月間.xls”には以下の内容があります(B列は変動)。 <みかん>     <りんご>    A   B    A   B 1 11/01 200   1 11/01 10 2 11/02 1650   2 11/02 2   ・          ・ 30 11/30 450  30 11/30 4   合 計 *****  合 計 ***** この時点でExcel1~3が開いているものとして、”みかん月間.xls”と”りんご月間.xls”のシート内にある【合計】セル右側の売上合計のみを”total.xls”のA列に該当する項目の右側に転記することは出来ますでしょうか?。なお、各月間ファイルは日本語(例ではくだもの名です。月間は無くても大丈夫です)・月間ファイルは複数あり、追加もしたいです。 よろしくお願いいたします。

  • エクセルの関数で、セルに書いたファイル名を参照

    エクセルの関数で、セルに書いたファイル名を参照する方法が知りたいです。 エクセル関数初心者レベルです。 別のファイル(開いた状態)に欲しいデータがあって、そのデータをexcel関数(できればOFFSET関数等)を使って他のファイルで参照します。 その際、その関数に記載されるファイル名を別のセルに記入して、それを参照させるようにしたいのですが、どうすればよいのでしょう。 たとえば、afile.xlsというファイルのbsheetというシートのA1セルに欲しいデータ(数字または文字)があるとします。 afile.xlsを開いた状態で、別のファイル(new.xlsとします)のセルに、"="で参照させると =[afile.xls]bsheet!$A$1 という関数が入り、データも表示されています。 ここで、たとえばnew.xls上の B2セルに " afile.xls " とベタ打ちして、 上掲の=[afile.xls]bsheet!$A$1の [afile.xls] のところをB2セルを参照させるようにしたいです。単純にB2と打ち変えてみたりもしたのですが、うまくいかないようで。 どなたか教えて頂けるとたすかります。よろしくお願いいたします。

  • エクセルで複数のファイルのうちの特定のファイルのセルに計算式を挿入したい

    教えてください。 フォルダに300くらいのファイルがあり シート001.xls~シート300.xlsと名前が付いてます。 シート001.xls~シート100.xlsはセルC3に式A シート101.xls~シート200.xlsはセルC3に式B シート201.xls~シート300.xlsはセルC3に式C と言う風に違った計算式をいれたいのですが、マクロで いっぺんにやる方法は有りませんでしょうか。

  • Excelのマクロで、セル内の文字をファイル名にしたい

    ”プロト.xls”というExcelファイルの中に、以下の動作をするマクロを作成したいのです。 (1)”C:\顧客\顧客納期連絡.xls”というExcelファイルを開き、  それを”C:\顧客\A.csv”という名前のcsvファイルにする。 (2)”C:\顧客\A.csv”を”xxxxxxxxxxxxxxxxxx”(※注1)という名前にしてコピーする。 ※注1:”xxxxxxxxxxxxxxxxxx”の部分は、”プロト.xls”ファイルのSheet”マスター”のセルD9から取得させる。 そのセルは、 C:\顧客\ABCDEF0215.csv と記述しています。 (3)コピー後、”C:\顧客\A.csv”を削除する。 ------------------------------------------------------------------- Sub 顧客納期連絡() ' ' 顧客納期連絡 Macro ' マクロ記録日 : 2010/2/15 ユーザー名 : xxxxxxx ' ' ChDir "C:\顧客" Workbooks.Open Filename:="C:\顧客\顧客納期連絡.xls" ActiveWorkbook.SaveAs Filename:="C:\顧客\A.csv", FileFormat:=xlCSV, _ CreateBackup:=False ActiveWorkbook.Save ActiveWindow.Close ActiveWorkbook.Save Dim fname1 As String Dim fname2 As String fname1 = "C:\顧客\A.csv" fname2 = Workbooks("プロト.xls"), Sheets("マスター"), Cells("D9") FileCopy fname1, fname2 Kill "C:\顧客\A.csv" End Sub ------------------------------------------------------------------- 上記のマクロを作成したのですが、FileCopyの行で、構文エラーか型に一致していない、 というエラーになりマクロ再生が停止します。 セルの内容をファイル名にしたいのですが、何か良い方法はございませんでしょうか? 私は超初心者なので、何卒宜しくお願い致します。

専門家に質問してみよう