• ベストアンサー

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

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