• ベストアンサー

別ファイルを参照した式入力

Excel2002を使用しております。 例えば以下の項目を表で作成しているとします。 ------------------------------     A        B     C     D 1 電話番号   住 所   年 齢   名 前 2  0000     *****    25    田中一郎   ------------------------------ 列Dの名前で保存されたファイルに「電話番号」「住所」「年齢」それぞれのデータが入っています。 A~C列に…例)A列:【='D:\例\[田中一郎.xls]Sheet1'!$A$1】と、ファイルを参照させた式を入力したいのですが…。 ファイルの数が100以上あるため、一つ一つ入力するには気の遠くなる作業になってしまいます。 これを【='D:\例\[D1.xls]Sheet1'!$A$1 】のようにD列に入力されたデータを使用してファイル名を参照し、一気に下にコピーさせる事はできますか? 説明が解り辛ければ申し訳ありません。 マクロについてはちんぷんかんぷんなので、もしもマクロを使用しなければいけない場合はお手数ですが詳しく書いて頂けると幸いです。 宜しくお願い申し上げます。

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

  • ベストアンサー
回答No.2

基本的には#1さんの言うようにINDIRECT関数が良いですけど 100ものファイルを開くにのは手間でしょうから こんな方法はどうでしょうか? まず、空いている列(E列とか)にA列に入れたい数式を文字列で作成します。 【="='D:\例\["&D1&".xls]Sheet1'!$A$1"】みたいな感じです。 そしてこれを最終行までコピーします。D1の部分だけD2~Dxxにかわりますよね。 そして、この列をコピーして、A列に「値のみ貼り付け」をします。 これで、A列に入れたい数式が入った状態になります。 ただ、このままではリンクが有効になりませんので A1列からひたすらF2→Enterを繰り返します。 F2→Enterの連打がめんどうですけど、結構早くできるとおもいますよ。

Dona1d
質問者

お礼

ご回答有難うございます。 無事、欲しい値を出す事が出来ました(*^^*) F2→Enterの作業もご教示頂かなければ気付かなかったと思います。 心から感謝申し上げますm(v_v*)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

=INDIRECT("'D:\例\["&$D2&".xls]Sheet1'!$A$1") とA2に入力して下までコピーします。B,C列も同様にできます($A$1は適宜変えてください)。 INDIRECT関数は参照先ファイルを開いていないとエラーとなりますので、ファイルを開いて値を表示させてから、それをコピーして値貼り付けする必要があります。 ファイルを開きたくないようでしたら、マクロになると思います。

Dona1d
質問者

お礼

ご回答有難うございます。 >INDIRECT関数は参照先ファイルを開いていないとエラーとなりますので... 一度に100以上のファイルを開く事は無理かと…(>д<) でも、ご回答頂けただけでも嬉しいです。 今後の参考にさせて頂きます。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 別ブックの指定行参照

    参照したい行をA2に入力したら、別ファイルからデータを拾ってくる方法を知りたいです。 例えば… メイン.XLSのA2に、データベース.XLSの参照したい行を入力します。 データベース.XLSのD7が参照したいなら メイン.XLSのA2に7と入力する ※今回は列は固定でDとします。 するとメイン.XLSのA1にデータベース.XLSのD7が自動で入るようにしたいです。 エクセル初心者なので、宜しくお願いします。

  • EXCELで別シートを参照する計算式

    こんにちは。EXCEL2002を使用しています。 1つのファイルに個人別シートと集計シートがあり、個人別のシートのシート名は個人の 名前を付けています。(集計)(田中)(鈴木)(小松)・・・と言った感じです。 個人のシートのフォームはまったく同じ表が作られていて、 集計シートのA列に名前、B列に下記のように計算式を入れています。   A    B 1 田中 ='田中'!$D$1 2 鈴木 ='鈴木'!$D$1 3 小松 ='小松'!$D$1 このような場合、A列にシート名と同じ名前が入っていた時に ='(集計シートのA列)'!$D$1 のような計算式で参照させる事は出来ますか? シート名を置き換えすることなく、同じ計算式が使えると良いのですが。

  • データファイルを開かずにコピー、別ファイルに転記

    データファイルを開かずに、該当行をコピー、別ファイルに転記する方法を教えてください。 ・ユーザーフォームを持つファイルがあります(仮ファイル名:印刷用ツール.xls)  ユーザーフォームには、テキストボックス(番号入力用)と、コマンドボタンがひとつあります  印刷用ツール.xlsのSheet1は「印刷用シート」になっています。  印刷用ツール.xlsのSheet2は、「印刷用シート」に表示するためのデータが入るデータシートです。 ・↑とは異なるデータファイルがあります(仮ファイル名:データファイル.xls) データファイルには A列に番号 、B~D列には番号に付随する情報データが入力されています。 (例)  A   B   C   D  1  りんご 青森 150 2  いか  新潟 200 ***以下、実行したい内容のイメージです (1)ユーザーフォームのテキストボックスに番号を入力して、コマンドボタンを押す ↓ (2)テキストボックスに入力された番号と同じ番号をデータファイル.xls内で検索する(データファイル.xlsを開かずに) ↓ (3)データファイル内で検索して合致した番号行を行ごとコピーする ↓ (4)コピーしたデータを印刷用ツール.xlsのSheet2の1行目に貼り付ける(貼り付ける前にSheet2の1行目をクリアする) (後は、Sheet2のデータはSheet1(印刷用シート)で、表示したい部分だけを表示して印刷します) 宜しくお願い致します。

  • Excel2007で外部ファイルを参照したい

    やりたい事は、以下のような事です。 1.A.xlsの a1 セルに抽出したい番号を入れます。(ex:11) 2.この時、別フォルダに(ex: D:aaa\a11\)にある、別ファイル(ex: b11.xls)のa1から情報を抜き出したいのです。 3.A.xlsのa1に12を入力した時は D:aaa\a12\b12.xls から情報を抜き出す。 試した事を以下に書きます。 1. A.xlsのb1セルに ="'d:aaa\"&a1&"\["&"b"&a1&".xls]sheet1'!$A$1" と書き 2. A.xlsのc1セルに =INDIRECT(b1,TRUE) とした場合 3. A.xlsのa1セルに 10 を入力すると 4. b10.xls を開いていれば正常に参照できます。 5. b10.xls を閉じていると、#REF! とエラーになってしまいます。 こういう場合、関数では無理がある… ならば VBAやマクロで可能なら、その方法を御教え下さい。

  • エクセルのマクロで、別ファイルの数値を参照する方法

    現在aaa.xlsというファイルを開いていて、 そのセルA1には20070621という数値が入っています。 別にbbb_20070621.xlsというファイルがあって、 そのファイルのsheet1内の、B1の値を参照したいと思います。 bbb_20070621.xlsのようなファイルが無数にあるので、 ファイルを開かなければいけないINDIRECT関数は使いたくありません。 =INDIRECT("[bbb_"&A1&".xls]Sheet1!B1") ファイルを開かず参照できるように、 できればマクロ(VBA)で組みたいと思っています。 RangeやCellでいろいろ試してみたのですが、 どうもうまくいかず、 分厚いマニュアルにも書いてありませんでした。。 初歩的な質問ですいませんが、 どなたかよろしくお願いします。

  • 参照先をセルに入力して、他のブックのセルを参照する方法

    Excelで、他のブックのセルを参照したいです。 たとえば、あるExcel(test.xls)上から、別のフォルダにある複数のブック C:\AAA.xls D:\BBB.xls の値を参照する場合ですが(AAA.xlsとBBB.xlsは、値の内容は違うが、同じシート名の同じセルに値が入っている)、 test.xlsのSheet1のA1に「C:\」、A2に「AAA.xls」を入力すると、test.xlsのSheet2にはAAA.xlsの値を表示し、 test.xlsのSheet1のA1に「D:\」、A2に「BBB.xls」を入力すると、test.xlsのSheet2にはBBB.xlsの値を表示するような方法です。 参照先が固定であれば、='C:\[AAA.xls]Sheet名'!D5・・・のような指定ができるのですが、参照するファイル名とパス名が都度変わるので、入力したセルの値で参照先を変えたいのです。 ちなみに、INDIRECTを使うやり方も考えましたが、参照先のブックを開いていないと値が表示されないようなので、却下されました。 (参照先のブックは開かなくても値を参照させたいです) どなたかご存知の方がいらっしゃったら、教えてください。 よろしくお願いします。

  • エクセルで別シートを参照

    「あ」のシートに"社員番号"(A列)と"カナ"(B列)のリストがあり、 「い」のシートには"社員番号"(A列)と"漢字氏名"(B列)・"部署"(C列)のリストがあります。 「あ」のシートのC列とD列に、「い」のシートのB列とC列を表示させるにはどうしたらよいでしょうか。 新規に社員番号を入力していく場合は、VLOOKUPなどで出来ると思いますが、すでに入力済みのデータについて一括で参照する方法が判りません。 よろしくお願いいたします。

  • 別ファイルを参照しながらシート名を動的に

    Excelにて、VLOOKUP関数を使用し別ファイルを参照してます。 (こちらをAファイルとします) 別ファイル(こちらをBファイルとします)にはいくつかシートがあり、Aファイルに入力された値によって、Bファイルを参照するシートを変更したいのですが、うまくいきません。 AファイルはC:\workに BファイルはC:\work\workにそれぞれ配置してあります。 AファイルのセルA1には任意の値を入力可能で、その値によって参照するBファイルのシートを変更できます。 VLOOKUP(B1,INDIRECT("'C:\work\work\[Bファイル.xls]"&A1&"シート'!$A$1:$B$100") Aファイルに上記のような関数を書いても、#REFと表示されてしまいます。 どこがおかしいのでしょうか? #AファイルとBファイルを同時に開いている状態だとうまく表示されました。

  • 他のブックファイルのセルの参照が上手く行きません

    こんにちはよろしくお願いいたします。 エクセルのブックファイル(Book1.xlsx)に,他のブックファイル(Book2.xls)のセルの値を参照しようと思い”=”を入力し参照するブックファイルのセルをクリックし,「 =[Book2]Sheet1!$A$1 」のような参照を行いました。こうしてきちんと表示されました。 しかし,この参照の式を「 =[Book3]Sheet1!$A$1 」のように,他のブックファイル(Book3.xls)のセルに変更したところ,参照できなくなりました。ブックファイル(Book1.xlsx)には,「 =[Book3]Sheet1!$A$1 」という式そのものが表示された状態となっています。式は,キーボードを使って変更しました。もちろん,(Book3.xls)は,(Book2.xls)と同様のシート形式をもち,データも入力されています。 このような状態になると,先に挙げたように,”=”を入力して参照するブックファイル(Book3.xls)のセルをクリックしても,ブックファイル(Book1.xlsx)には,「 =[Book3]Sheet1!$A$1 」という式そのものが表示された状態となったままで,(Book3.xls)のデータは表示されません。 (Book2.xls)と(Book3.xls)のセルのデータは,文字列です。 気になるのは,(Book1.xlsx)はoffice2010で作成されたファイルであること,(Book2.xls)と(Book3.xls)は,互換モードと表示されるファイルであること,また表示されているファイルを見ると,フルパスで参照している点です。「 ='C:\aaa\bbb\・・・・・[Book3]Sheet1'!$A$1 」という参照式になっています。3つのファイルはすべて同一ファイルに入っています。 何が,参照を阻んでいるのでしょうか?教えてください。よろしくお願いします。

  • エクセルのファイルを絶対参照したい

    各ファイルを1つのファイルにリンクさせたいのですがファイル名を絶対参照ってできるのですか? (例) A1=[BOOK1.xls]sheet1'!$A1 B1=[BOOK2.xls]sheet1'!$A1… A1=[BOOK1.xls]sheet1'!$A2 B1=[BOOK2.xls]sheet1'!$A2… A1=[BOOK1.xls]sheet1'!$A3 B1=[BOOK2.xls]sheet1'!$A3…       :             :       :             : 

CDラベル印刷はTS3530で可能?
このQ&Aのポイント
  • TS3530でCDラベル印刷ができるかどうかについて、質問します。
  • キヤノン製品のTS3530でCDラベル印刷が可能か知りたいです。
  • CDラベル印刷にTS3530を使用できるか教えてください。
回答を見る

専門家に質問してみよう