
初めて質問させて頂きます。
excelは入力メイン、多少の関数は使用できる程度の初級者です。
二つのcsvファイルのデータを照らし合わせて重複しているデータの横列に数字の1を追加していきたいです。
二つのファイルの内、一つ目のファイルは大元になっているファイルでデータが15万件程あります(Aファイルとします)。二つ目のデータは2万件程で、中のデータは全て大元データと重複しています(Bファイルとします)。
Aファイルの最右列に、Bファイルと重複しているデータは後でフィルタできるように印として数字の1を入力するよう指示されたのですが、データ量が多く単純作業にも関わらず時間がかかってしまう為時間短縮できる方法があればと質問させて頂きました。
良い解決方法をご存知の方がいらっしゃいましたら、ご教示頂けると助かります。
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
どのようなデータを比較するのか分かりませんが、MATCH関数で調べられると思います。
MATCH関数の使い方を調べてみてください。
他のBookのシートを参照する方法は分かりますか。
同じBookで同じシートなら「=A1」のように直接セルをしていすればよいのですが、
1.別シートを参照する場合、
=Sheet1!A1
のように
シート名+!+セル番地
と指定します。
2.別のBookのシートを参照する場合、
=[book.xlsx]Sheet1!A1
のように
[+ファイル名+]+シート名+!セル番地
と指定します。
ファイル名にはそのファイルが保存されているパスを含むことができます。
=[C:\ユーザー\デスクトップ\bool.xlsx]Sheet1!A1
あとはMATCH関数でエラーが出なければ重複するデータがあると判断できます。
IF関数とISERROR関数の組み合わせで作ってみてください。
※IF関数、ISERROR関数の使い方を調べてください。
・・・余談・・・
自分は問題とその対処方法を理解して初めて解決すると考えています。
他の人に解決手段を作ってもらって、目の前にある問題の先送りは当人のためにはならないという趣旨です。
ですので、自分で考えて分からないところとを聞くようにすることは良いと思いますが、
すべて他人に丸投げすることはお勧めしません。
この質問に関しては解決の手順を示しましたので、そのなかで分からないことについて「お礼」や「補足」で返答してもらえれば
理解の助けになるような返答を返します。
早々にご返信頂き、ありがとうございます。
勉強不足で何をどう使用すれば良いかも思いつかず丸投げの質問になっていたんですね。
そんな事にも気づかず大変失礼しました。
教えて頂いた通り、MATCH関数とISERROR関数で希望通りの処理をすることが出来ました。
作業時間がかなり短縮でき本当に助かりました。
関数も組み合わせで作業の幅が広がるんですね!自分でも勉強してみます。
今回は本当にありがとうございました。
No.2
- 回答日時:
元がCSVファイルなら、それをExcelで読み込むのは危険だと思います。
なぜなら、Excelに取り込んでそれを保存した時点で、本来のCSVのフォーマットを崩す可能性があるから。
フォーマットがどうなってもいいなら関係ありませんが。
ダブルクォーテーションが消えるとか。
あと、CSVファイルを直接ダブルクリックしてExcelを開くことにより、中身が壊れる可能性もありますね。
そういうのを理解していればExcelでも事足りるでしょう。
Accessが使えるなら、こんな方法論も取れると思います。
CSVファイルのフォーマットが変わらないなら、Excelでやればいいと思います。
1.
TableAにAファイルの中身、TableBにBファイルの中身をメモ型フィールド項目「CSV_VALUE」内に全部突っ込んでおく。
TableAには、「1」を追加する用のテキスト型フィールド「DUPLICATE_FLG」を設けておく。
2.SQLを叩く
UPDATE
TableA A
SET
A.DUPLICATE_FLG = 1
WHERE
EXISTS (
SELECT
B.CSV_VALUE
FROM
TableB B
WHERE
B.CSV_VALUE = A.CSV_VALUE
)
3.テーブルを開いて、Ctrl+Aで丸々、新csvファイルとして正規表現が利用できるテキストエディタに貼り付ける。
(EmEditorなど)
1行目のタイトル行は不要なので、行削除する。
4.正規表現を使って、「1」の部分を置換する。
検索:\t$
置換文字:,
検索:\t1$
置換文字:,1
csvファイルをエクセルで開くのは危険なんですね、知りませんでした!
accessはラベル印刷やクエリもウィザードぐらいしか使ったことが無いぐらいの初心者なのですが、教えて頂いたやり方で挑戦してみたいと思います。
今回はご回答頂きありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) Excelの複数人での参照について 2 2022/06/01 13:38
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
「ほかのアプリケーションを無...
-
EXCELにcsv形式の外部データを...
-
VBAでCSVの1行目だけを書き換え...
-
excelインポート時の「実行時エ...
-
複数のCSVファイルを横に並べて...
-
複数のcsvファイルを1つのEXCEL...
-
datファイル→csvファイル→datフ...
-
CSVファイルをExcelで開くとき
-
CSVファイルの結合(重複データ...
-
複数のデータ系列の線の太さを...
-
昨日まで動いていたエクセルの...
-
コピーしたファイルのマクロを...
-
エクセルでツールバーに「縮小...
-
ExcelVBAで今開いているユーザ...
-
Excelが勝手にシート移動してし...
-
VBAを一度起動するとずっと出て...
-
フォルダ内の全ブックのシート...
-
Excel VBAで、実行時にsheet上...
-
EXCEL マクロ クリップボードク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
複数のCSVファイルを横に並べて...
-
VBAでCSVの1行目だけを書き換え...
-
excelインポート時の「実行時エ...
-
「ほかのアプリケーションを無...
-
複数のcsvファイルを1つのEXCEL...
-
EXCELにcsv形式の外部データを...
-
CSVファイルの結合(重複データ...
-
二つのCSVファイルを照らし合わ...
-
Excel VBAを使った複数のCSVフ...
-
複数個のascファイルを1つ...
-
大量のCSVデータを1つのエ...
-
【VBA初心者】同じフォルダ内の...
-
エクセルのcsvで、12e3を入れる...
-
複数のCSVファイルからのデータ...
-
【エクセル VBA】CSVファイルの...
-
CSVファイルがうまく開けない
-
VBAでユーザーフォーム上に参照...
-
エクセルでcsvデータを自動読み...
-
datファイル→csvファイル→datフ...
おすすめ情報