- 締切済み
複数のエクセルファイルの数値をひとつのエクセルファイルでまとめるには?
Winxp、Excel2003を使っています。複数のエクセルファイルから特定のセルの数値を抜き出し一つのファイルにまとめることは可能でしょうか? 具体的に申し上げますと、データ集計のため、複数のエクセルファイル(500個程度)から125R×1Cのセル内の数値(○×)を抜き出し一つの新しいデータ集計用のエクセルファイルを作成する作業をしています。一つずつコピー&ペーストで作成するとかなりの時間がかかってしまい困っています。 上記のような作業を簡単に、正確に行うためのオススメの方法やフリーソフトがありましたら教えて頂けますでしょうか。お願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
間に合わなかったかもしれませんが、まだ受付中のようなので…。 今後定型業務として繰り返し行うのであればやはりマクロを作成するのが最善かと思います。 ただ、今回限りの単発の作業であれば、そのためだけにVBAを勉強するというのもアレですね。 私であれば… 1.該当のブックを適当なフォルダにまとめる。 2.下記のようなファイル管理ソフトを使用して、各ファイルのフルパスとファイル名の一覧を取得する。 『ファイルリスト作成機』 http://www.vector.co.jp/soft/win95/util/se082901.html この手のソフトは山のようにあります。 たまたま最初に見つけただけで、特にお奨めするというわけではありません。 (一応動作確認はしました) 3.任意のブックの適当な列に、2で作成したフルパスとファイル名の一覧を入れる。 以下、例として C1:C:\Documents and Settings\User_Name\デスクトップ\フォルダ C2:ブック1.xls の形式でフルパスとファイル名が入ったものとします。 4.任意の列(以下C3列とします)で、下記のような数式を入力してファイルの数だけフィル ="★'"&RC1&"\["&RC2&"]Sheet1'!R125C1" 次のような文字列が生成されるハズです。 ★'C:\Documents and Settings\User_Name\デスクトップ\フォルダ\[ブック1.xls]Sheet1'!R125C1 5.C3列をコピーして値貼り付けし、文字列定数として確定する。 6.Excelの置換機能で★を=に置換する(文字列定数を数式化する) 7.これでファイル名とR125C1の値の対応表ができるので、 後は、値貼り付けして整形するなりVLOOKUP等で参照するなりご自由に。 (Excel2003で実験済) この手の作業に慣れてる人であれば、10~20分くらいの作業ですかねぇ。 こんな作業に慣れちゃうのもある意味哀しいものがありますが…(自嘲)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAを勉強すれば、コード行数はそんなに多くなくてできると思います。 関数で不可能でしょう。 >フリーソフトがありましたら あまりにも一部の要求(ニーズ)なので、存在するかな。 同じ形式のシートを縦方向に集約するソフトなら見つかるかもしれない。 ーーー 500個のファイルは、選ぶとき、どうして識別するのですか。そういうことを書かないと、複雑さが変わると思う。名前に共通部分がある、フォルダが同じ(フォルダに他に対象にしたくないファイルが混在してますか)シートは各ブック内で1シートですか、など。 フォルダが同じである場合 VBAなら (1)同じフォルダのファイル名を取得するコード。Dir()でWEB照会のこと。場合によってはxlsファイル以外を捨てる。 (2)対象とする、エクセルのブックを読むコード (3)1列を集約ファイルへコピー貼り付けか、参照代入するコード 用済み後ブックを閉じる。 (4)(2)、(3)をブック数だけ繰り返し (1)はWEBに実例がたくさんある。 (2)(3)はマクロの記録が参考になるかも知れない。