• 締切済み

複数個のcsvファイルから一気にデータを統合?

初めて質問させていただきます。 毎日一定の書式が決まった形でデータを管理しております。(出勤簿).出勤者のみの氏名が表記される。 1.ファイル名(2005_1_1.csv)日付 2.シート1 3.列Aに通し番号(1.2・・・・)、列Bに氏名 社員名簿が一応あります。 1.A列に通し番号、B列に氏名(meibo.csv) この形で毎日記録をしておりましたので、データ(csv)ファイルがたくさんたまってしまいました。 そこで、このような複数のデ-タファイルを、社員名簿を元に、出勤日に●をつけるといったことをしたいと思っています。 一気に複数のファイルからデータを吸出し、統計を取ることは可能でしょうか? ちょっとデータの管理で困ってしまっていて、悩んでいます。 具体的な事例などをもしお教えいただけたら幸いです。

みんなの回答

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

マクロ(VBA)で作りましょう。 1.meibo.csv を読みこみ、A列2行目以降に番号、   B列2行目以降に氏名を書き込む。 2.出勤CSVを日付順に読み込み、ファイル名から   切り取った日付をC列1行目に書き込む。 3.そのCSVを読み込み、A列と合致する番号の   行(N)を検出し、C列・N行に●を入れる 4.CSVのファイルエンドまで、3を繰りかえす。 5.CSVファイルがなくなるまで、C列・D列と   位置をずらしながら、2.・3.・4.を繰り   返す これでOKではないでしょうか?

jam0003893
質問者

お礼

kokoroneさんありがとうございます。 やはりVBAですよね。 vbscriptかなにかでできるような期がしたのですが、 無茶はしないことにします。 とても参考になります。 早速作ってみます。

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

OSとか、どのプログラム言語が使えるのかわかりませんが、 シートという単語があるので、excelで作成しているのでしょうか? ならば、excelマクロ(VBA)で、出来そうですけど? プログラムスキルも解らないので方向性だけ 1.日付けファイルなので、開始と終了の日付けを指定してcsvファイルを読み込む ファイルごとに別のbookになるかも? 2.読み込んだ列の各データを、名簿シートの名前の列と比べて(lookup関数とか使えそう) 3.名前の列の何番目に見つけたかで、名簿シート日付け列のその行のセルに●を書き込む

jam0003893
質問者

お礼

hrm_mmmさんありがとうございます。 同様にvbaで作ってみます。 一応書き忘れていたので書いておきます。 OS Windows XP Professional Excelを利用 プログラムのほうは、5年ほどやっておりましたが、 しばらく使っていなかったので忘れかけています。 ありがとうございました。

関連するQ&A

  • 複数CSVファイルをExcel形式1つにまとめたい

    VBA初心者です。 似たような質問・回答がありますが、どうも私の意図するところと異なるので、 新たに質問させていただきます。 どうぞお願いします。 仕事場で、基本1日1ファイル取得している複数のCSVファイルを、 1週間に一度Excelファイルに一週間分のデータを追加し、 最終的には1か月毎に1つのExceファイル(1シート)に集計してます。 全ファイルとも内容は同じで、1シートで作成されており、 タイトル行は1行目、2行目以降データ(行:データ数はファイル毎に異なる)、 列数はA-IV列といった構成になります。 新しい1つのファイルにまとめる際には、 B列とG列のみ抽出し、一行目にタイトル行、2行目からデータ、 最終行に次のファイルのデータと、いうように複数のファイルのデータをつなげて 1つのファイルにしたいのです。 ちなみに出来上がったExcelファイルとしては、 A列に元CSVファイルのB列データ、C列に元CSVファイルのG列データ、 B列に各データがどのCSVファイルの物か分かるように、 各ファイル名の日付にあたる後ろ部分を表示させたいのです。 ファイル名から日付を拾えない場合は、 ファイルをまとめる前に、列を挿入し、 C列にデータ日付の項目を作り、そこに日付を入力し、 まとめる際に、B・C列+G列を抽出、といった形で、まとめられたらと思ってます。 *各Exceファイルのタイトルの後部分がデータの日付を表す (タイトル例:0803abcde2013_08_03.xls) B列2行目以降に、それぞれ抽出したデータのファイル名から、 日付にあたる部分を書き出し(8月3日と言ったように)表示させたい。 場合によっては、前部分を抽出するパターンもあるので、そちらもお願いします。 *今後、他の何種類かの複数CSVファイルでもファイル毎に (こちらも全ファイルとも内容は同じ)同様に1カ月毎にまとめたいので、 違う条件でも抽出できるように、応用できたらと、考えております。 (抽出する列がB列とI列のみ、A~C列+F列など) VBAで作業したいと考えてます。色々とお手数ですが、よろしくお願いします。 また、他にお勧めのサイトや、参考になる質問がありましたら、 合わせて、教えていただけると幸いです。

  • excel vbaで複数のcsvファイルの読み込み

    100シート分のcsvファイルのデーターを一つずつ読み込んでexcelにコピーして使用してますが莫大な時間がかかって困ってます。 vbaを使用して作業を簡素化出来る事は出来ないでしょうか? ------------------------------------------ ※ csvの概要 excelで1枚のcsvファイルを開くとA列の11行目から65536行まで数値データがあります。 ※ vbaできたらよいなと思う仕様 そこで、複数のcsvファイルを選択して読み込むとCSV_データと言うSeetのA列の10行目から1枚目のcsvファイル、B列の10行目から2枚目のcsvファイルと言う風に選択した分のcsvを列に続けて数値データを貼り付けしてくれるvbaをご教授していただけると大変助かります。 不躾で申し訳ございませんが宜しくお願い致します。 excel2003 ------------------------------------------

  • アクセス2003 複数の列に分かれたデータを1列にまとめたい

    例えば (A列)氏名/(B列)電話番号/(C列)携帯電話番号 というcsvデータがあり、これをアクセスに取り込んだときに (A列)氏名/(B列)電話番号or携帯電話番号 というように、2列のデータを1列にしたいのですが うまいやり方はないでしょうか? 元のデータをエクセル上でコピペすれば済むのですが 余計な手間はかけたくないので、よろしく御願いします。

  • CSVファイルのデータ型について

    初めて質問します。よろしくお願いします。 拡張子「.xls」のファイルを「.csv」に変えるときに、データの形が変わってしまいます。 (エクセルでは「001」(文字列)のものが、CSVで保存すると「1」(数値)となってしまう) これを解決するために エクセルから文字列のデータを持ってきて貼り付け・保存しようとしましたが、 何度やってもデータは数値になってしまいます。 データ量が多いので、手ではとても直せません。。。 どなたか、よい方法がありましたらご教授ください。

  • 複数のCSVファイルからのデータ取得(VBA)

    エクセルVBAで、エクセルの指定シートに複数のCSVファイルからデータを取得する方法を ご教授お願います。 エクセルの指定シートの指定されたセルに、複数のCSVファイルから指定箇所のデータを 取得し転送する方法を考えていますが、どうもうまくいきません。 たとえば、 CSVファイル(1) A5(A)           A10(B) CSVファイル(2) A5(C)           A10(D)      CSVファイル(3) A5(E)           A10(F)         ・      ・      ・ と、指定されたセルからデータを取得し、 エクセルの指定シートの表に                    CSVファイル                                 (1)  (2)  (3) ・ ・ ・ ------------------------------------------- A5から取得したデータ    A   C   E ・ ・ ・ A10から取得したデータ    B   D   F ・ ・ ・ ------------------------------------------- と、いうように転送して貼り付けていきたいです。 いろいろ調べてみたのですが、このような方法が見つけられませんでした。 ぜひ、皆様のお知恵をお貸しください。 宜しくお願い致します。

  • エクセルで複数のファイルを統合したい

    エクセルについて質問です。 下記のような2つのファイルがあるとします。 1)異動情報 社員番号 社員氏名 日付 部署 33 Aさん 2005/9/1 人事部 Aさん 2006/10/1 総務部 Aさん 2006/12/1 営業部 44 Bさん 2006/9/1 広報部 Bさん 2006/10/1 経理部 55 Cさん 2006/4/1 販売部 2)給与情報社員番号 社員氏名 支給年月 本給 各種手当 残業代・・・ 33 Aさん 2006年4月 100000 50000 20000 Aさん 2006年5月 100000 50000 15000 Aさん 2006年6月 100000 50000 20000 Aさん 2006年7月 100000 50000 15000 Aさん 2006年8月 100000 50000 20000 Aさん 2006年9月 120000 50000 15000 44 Bさん 2006年4月 110000 60000 8000 Bさん 2006年5月 110000 60000 8000 Bさん 2006年6月 110000 60000 8000 Bさん 2006年7月 110000 60000 8000 Bさん 2006年8月 110000 60000 8000 Bさん 2006年9月 110000 60000 8000 55 Cさん 2006年8月 90000 40000 20000 Cさん 2006年9月 90000 40000 20000 この二つの表を合わせて 社員番号33 社員氏名 Aさん 異動情報・・・       給与情報・・・ ****         +++++ ****         +++++ 社員番号44 社員氏名 Bさん 異動情報・・・       給与情報・・・ ****         +++++ ****         +++++ 社員番号55 社員氏名 Cさん 異動情報・・・       給与情報・・・ ****         +++++ ****         +++++ のように個人ごとの台帳のようなものを作りたいと思います。 vlookupのひとつの行だけでなく、複数行を対象にしたバージョンのようなイメージです。 こんなことできますでしょうか。 教えていただけたら幸いです。 よろしくお願いします。

  • EXCELの特定の列データだけをCSV出力したい。

    EXCEL2003を使っています。 たとえば得意先名簿の作成で 会社名、部署名、氏名、住所、電話番号、メールアドレス という一覧表を作ったとします。 これらの情報のうち、氏名とメールアドレスのデータだけを CSVファイルとして出力したいのですが、 どのようにしたらいいのでしょうか?

  • 複数のcsvファイルを統合、でもファイル名情報は含んでもらいたい・・・

    こんにちは、同様の質問があるようですが、ポイントはもとのファイル名の情報を、統合後のファイルに盛り込みたい、という点です。 複数のCSVファイルがあり、これを一つのファイル、もちろんエクセルでもOK、に一括統合したいです。いろいろなソフトがあるようですが、私が当ったところでは、ファイル名に関する情報を盛り込めず、ひたすら元のcsvデータが順次羅列されているという具合です。ファイル統合後も、もとの○○のデータがどの位置にあるかが分からないと厄介でして、なんとかご教示頂けますと幸いです。できればフリーソフトがあると幸いなのですが・・・。 プログラミング的素養がないため、マクロなどでしたら、初心者向けの説明でお願いできればと思います。 csvファイルが200程あり、全部コピペという訳にもいかず、焦っております。何卒よろしくお願いします。

  • 2つのCSVファイル検索

    CSVファイル2つを検索するシステムを作成したいのですが、ロジックがわかりません。 どのように検索していけば効率的でしょうか、教えてください。 メインCSVファイル  メインID・商品名・説明 詳細CSVファイル  詳細ID・メインID・生産者住所・生産者氏名 で、 メインCSV1データにつき詳細CSVが複数データあります。 検索テキストボックスは1つで、 スペース区切りで複数キーワードが入ります。 検索する項目は、商品名・説明・生産者住所・生産者氏名で、複数キーワードはAND条件です。 説明出来ていますでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • csvのデータを複数条件で値を抽出したい

    A列~E列のようなCSVのデータがあり、行に回答者氏名、列に質問番号(Q1~Q3)としてH列~K列のようにそれぞれの質問の回答が表示されるような表を作りたいと思っています。 回答者は500名くらいあるためコピペでは時間がかかりすぎるので関数で出来ないかと試してみているのですが上手くいきません。 どのような関数を使用すれば良いでしょうか?

専門家に質問してみよう