• 締切済み

複数CSVファイルからデータ抽出

CSVファイルのA列(行は問いません)の文字が転記シートのA列(行は問いません)と一致していたら、転記シートのA列が一致した行の空白に、左から順にCSVファイルのA列が一致した行のF列の値を書き込む。CSVファイルの1行A列を転記シートのF列の値を書き込んだ列の1行目に書き込む。 できれば、書き込んだ値はCSVファイルから消したいです。 コピペでやっていたのですが、ずれていてどうしようもなくなりました。 CSVファイル一つ当たり、4000行ほどあり、ファイルは200弱あります。 プログラムを組んでくださると、ありがたいのですが。 質問というよりお願いになってしまいますが、よろしくお願いします。

noname#259661
noname#259661

みんなの回答

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>プログラムを組んでくださると、ありがたいのですが。 何かのお仕事ですよね? 有償でプロに頼んだ方が良いと思います。 此処での質問はアドバイス程度の回答であり、自己努力で処理できる範囲ですよ。 また、ガセネタやピント外れの回答も飛び出しますので混乱するかも知れません。 尚、処理内容が不明確でサンプルもないため手を付けることも難しいようです。

関連するQ&A

  • csvファイルを開かずに文字を検索し行を抽出したい

    フォルダの中に複数のCSVファイルが有ります。 これらのファイルを開かずに文字列を検索し、検索対象の文字と完全一致する 文字がある行をまとめてひとつのファイルに抽出する方法を探しています。 例:Aフォルダ内にファイル1、ファイル2、ファイル3、、、と複数のファイルがある。 ファイルのフォーマットはすべてCSV。ファイルにはシートは一つのみ。日付なのですべて異なります。       A         B  C   D   E   F  G   H   I   J  K   L 加工年月日時分 品種 コード A列 B列 C列 D列 E列 F列 G列 本数 作業者    ・    ・    ・ A~Lまであり、Cのコードが指定した検索文字と完全一致するものを抽出したいです。 急ぎの内容の為、VBAやコマンドプロンプトなど、自分なりに色々なサイトにある プログラムを組み換えようとしましたが初心者の為すぐに理解して応用はとても 無理でした。知恵を貸して頂きたいです。

  • CSVファイルの取り込みについて

    CSV取り込み方法について 教えていただきたくお願いいたします。 エクセルのマクロ・VBAの組み方について デスクトップ上の000という名前のCSVファイルを、作業しているエクセルファイルのLoadという名前のシートに貼り付けたいと思っています。 CSVファイルはエクセルで開くと1行に11列の項目が展開されています。 貼り付ける項目はこのようになります。 (CSV) →(エクセルのLoadシート) 1列目(A行)→B行へ 2列目   →C行へ 3列目   →D行へ 4列目   →E行へ 5列目   →F行へ 9列目   →G行へ 10列目  →H行へ 11列目  →I行へ (6.7.8列目は使いません) 最後にLoadのシートのA行に”=B&E”とい式を入力したいと思っています。 まだ初心者なので勉強中なのですが、仕事上急遽必要になりましたのでお願いいたします。

  • マクロでファイルを選択しデータを引用し編集

    マクロでファイルを選択しデータを引用し編集 マクロを組み込んだエクセルワークブックを 開いて、マクロを起動します。 ファイル選択画面が表示され 使用者がファイルを選択すると そのファイルのデータで以下の編集を行い 終了後は、選択したファイルには手を加えず その選択ファイルは閉じたいです。 ファイル選択メッセージを出す所や 間違ったファイルを選択した場合の回避までは作成済みです。 ファイル選択後の処理をする為のコードを教えてください。 選択したファイルには B~F列にデータが入っています。 最終行数はファイルにより異なりますが2行目からデータです。 F列を検索し、同じ値が合った場合その対象行のB~F列の値を マクロが入ったワークブックのシート名(ERR)の B~F列に転記したいです。 A列には、選択ファイルの対象になった行数を入力する。 同じ値は何種類で何個あるかわかりません。 同じ値が一切ない場合は、全データをマクロが入ったワークブックの シート名(ERR)のB~F列に転記したいです。 (シート名(ERR)が選択したファイルと同じ状態になる) 同じ値があって転記した場合と同じ値が無く 全データを転記した場合で転記終了後にそれぞれ違うメッセージ を表示したいです。 よろしくお願いします。 例(左からB,C,D,E,F列 2行目から9行目 説明の為 , で区切ります B123 , ABC , 777 , A12 , 123 B123 , ddd , 565 , B23 , 124 B128 , XYA , 714 , N12 , 120 B129 , ddd , 565 , B23 , 128 B122 , ABC , 777 , U12 , 127 B127 , ZZZ , 678 , B23 , 123 B125 , ABC , 777 , T12 , 123 B124 , ddd , 424 , 623 , 128 F列の値で 123 が2行目、7行目、8行目 128 が5行目と9行目にある ↓ シート(ERR)に転記 (左からA,B,C,D,E,F列 説明の為 , で区切ります 2 , B123 , ABC , 777 , A12 , 123 7 , B127 , ZZZ , 678 , B23 , 123 8 , B125 , ABC , 777 , T12 , 123 5 , B129 , ddd , 565 , B23 , 128 9 , B124 , ddd , 424 , 623 , 128 例2(左からB,C,D,E,F列 2行目から9行目 説明の為 , で区切ります B123 , ABC , 777 , A12 , 123 B123 , ddd , 565 , B23 , 124 B128 , XYA , 714 , N12 , 125 B129 , ddd , 565 , B23 , 126 B122 , ABC , 777 , U12 , 127 B127 , ZZZ , 678 , B23 , 128 B125 , ABC , 777 , T12 , 129 B124 , ddd , 424 , 623 , 130 F列に同じ値が無いのでシート(ERR)にすべて転記 (左からB,C,D,E,F列 2行目から9行目 説明の為 , で区切ります B123 , ABC , 777 , A12 , 123 B123 , ddd , 565 , B23 , 124 B128 , XYA , 714 , N12 , 125 B129 , ddd , 565 , B23 , 126 B122 , ABC , 777 , U12 , 127 B127 , ZZZ , 678 , B23 , 128 B125 , ABC , 777 , T12 , 129 B124 , ddd , 424 , 623 , 130

  • VisualBasicからcsvファイルを読み込む

    VisualBasicからcsvファイルを以下のようなプログラムで読み込んでいます。 Open ファイルパス For Input Shared As #1 Do Until EOF(1): Input #1, A(i), B(i): i = i + 1: DoEvents: Loop Close #1 n行2列のcsvファイルとn行3列のcsvファイルを読み込んだ時に A(2)にセルB1、B(2)にセルB2の値を代入したいです。 現状だとn行3列のcsvファイルを読み込んだ時に A(2)にはセルA3の値が入ってしまいます。 n行3列の3列目のデータは無視したいです。

  • 照合した結果によって決めた値を転記するマクロ

    シート1には A~F列まで値があり、行数は都度相違し約15,000行くらい。 データは2行目から開始です。 シート2には A~AE列まで値があり、行数は都度相違し約5,000~25,000行 あり同じくデータは2行目からです。 シート1の行ごとに A列,B列,C列の順で連結した値と シート2の行ごとに F列,G列,B列の順で連結した値を 照合させます。 その値が (1)シート1にもシート2にもある場合は   シート2のAF列に1と転記 (2)シート1には無いがシート2にはある場合は   シート2のAF列に2と転記 (3)シート1には有るがシート2には無い場合は   シート2のAF列に3と記入 シート2のデータのある行まで 作業を繰り返すマクロの記述を教えてください。 VLOOKUPを使用したマクロを作成しましたが 判定1,2,3の転記がうまく出来ないのと VLOOKUPが重すぎて処理が遅すぎるので 速く処理が出来るとうれしいです。 例 シート1 A2=XXXX B2=1234 C2=5678 シ-ト2 B2=1234 F2=XXXX G2=5678 シート1の値=XXXX12345678 シート2の値=XXXX12345678 照合する ↓(一致なので) シート2のセルAF2に1と転記

  • 複数の.csvファイルから指定数値を取り出す

    お世話になります。 早速質問ですが、Excel VBA環境で あるフォルダ内の複数の.csvファイル一つ一つから 指定数値(B列6行目のみ)を取り出して、 デスクトップ上、別のExcelシートの(B列1行毎に日付と時間が書いてある) 隣のC列にまとめて自動で書いてくれるプログラムがあればいいな と考えているのですが、 可能でしょうか。 値をただ吸い出して、別の新規ファイルにまとめて表示してくれるだけでも 助かります。宜しくお願い申し上げます。

  • csvファイルの読込みとソート

    いつも大変参考にさせていただいております。 csvファイルの読み込みとソートをしたく、ネットや過去ログ等を相当調べたのですが、完全に詰まってしまいました。 (検索キーワード:「php csv ソート」「php 二次元配列 ソート」など) とても困っています。どなたかよろしくお願いします。 以下のようなcsvファイルを読み込みソートしたいのです。 ■csvファイル 20110803, A, りんご 20111215, B, みかん 20110306, A, みかん 20110620, A, りんご 20110215, B, りんご ■個別にやりたい処理 (1)、左列の日付で昇順ソートしてすべて表示 (2)、「A」を含む行をすべて表示(日付順) (3)、「A」+「りんご」を含む行をすべて表示(日付順) □補足 csvをfgetcsvで読み込み、テーブルに入れて表示するところまではできました。 csvの行は増えていきます(max100行位)。列は固定。

    • ベストアンサー
    • PHP
  • エクセルVBAでCSVを読み込んで別ファイルにまとめたいです。

    エクセルVBA初心者の者です。 マクロの記録でできたコードをいじって、 なんとか動くものができるレベルです。 Aというフォルダに20~40行程度の内容のCSVファイルが 数百個あります。開けてみないと何行あるのかわかりません。 そのAフォルダのCSVの内容をエクセルで開いて、別のエクセルファイルの一枚のシートにまとめたいのです。 最初にCSVファイル名を一枚のシートのA列に書き出すところ まではやれたのですが、それを順番に読み込んでコピペの 流れができません。 CSVファイル名読み込み 読み込んだファイル1つめCSV開く CSVの20~40行をコピー 別のエクセルファイルのシートに貼り付け 1つめCSV閉じる ↓ 読み込んだファイル2つめCSV開く 繰り返し こういうやり方じゃない方がいいのかもわかりません。 もしかして考え方も違うのでしょうか? サンプルコード教えていただけるとありがたいです。 よろしくお願いします。

  • 複数のcsvファイルを1つのEXCELファイルにマージするVBAを教えてください

    csvファイル数は700~1000個程度でひとつのフォルダに格納されています。 このファイルをEXCEL形式で開くと、1行目にフィールド名(A~Z列で固定)、2行目以降にデータが入っています。行数はファイルにより1~100行程度で変動します。 このファイルを1つのエクセルファイルの同一シートに結合(マージ)するVBAがほしいです。 ここで、(できればですが)EXCELにマージするにあたり、1行目のみフィールドの値、2行目以降にそれぞれのcsvの2行目以降データの値を入れていくようにしたいです。つまり、フィールド名の行が何行も出てくるのを避けたいです。 申し訳ございませんが、ご指導いただけたら幸いです。よろしくお願いします。

  • 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 ------------------------------------------

専門家に質問してみよう