CSV集計で重複を見つけるには?削除前に決めたい確認ルール
生産実績のCSVをまとめると数量が多くなる。そんなときに確認したい二重取込みと正当な複数実績の違いを、伝票番号・日付・品番の架空例で説明します。
CSVをまとめたら、月次の数量が合わなくなった。重複を疑う場面ですが、品番が同じ行をまとめて削除するのは避けてください。同じ品番を同じ日に何度か生産しているだけかもしれません。
まず見るのは「同じ実績を2回取り込んでいないか」です。何を同じ実績と呼ぶかを決めてから、重複候補を確認します。ここでは生産実績の架空データで説明します。
同じ品番と、同じ実績は違う
次の4行を、2つのファイルから取り込んだとします。
| 元ファイル | 実績番号 | 日付 | 品番 | 数量 |
|---|---|---|---|---|
| 前半.csv | R001 | 2026-09-01 | 00120 | 10 |
| 前半.csv | R002 | 2026-09-01 | 00120 | 10 |
| 後半.csv | R002 | 2026-09-01 | 00120 | 10 |
| 後半.csv | R003 | 2026-09-02 | 00340 | 5 |
単純に足すと35です。しかし、R002が同じ実績の再出力であることを確認できたなら、正しい合計は25になります。R001とR002は日付・品番・数量が一致していても、別の実績なので両方必要です。
「日付+品番+数量が同じなら消す」というルールでは、R001まで消してしまう可能性があります。一方、日付・品番・数量が違っていても、同じ実績の訂正前と訂正後なら、そのまま両方を足すべきではありません。
重複確認の順番
- 元CSVを残す。 確認用のコピーを作り、加工結果を原本へ上書きしません。
- 対象ファイルの範囲を確認する。 9月全体の出力と9月前半の出力を一緒に取り込むと、前半が重なります。
- 実績を識別する列を探す。 実績番号、伝票番号と明細番号、工程と記録番号などです。列の組み合わせが一意になるかも確認します。
- 識別する列で件数を数える。 2件以上なら候補として分け、元ファイル名と該当行を残します。
- 候補の意味を確認する。 再出力、正当な複数実績、訂正、取消のどれかを判断します。
- 採用した行数・除外した行数・数量の変化を照合する。 理由のわからない除外は保留にします。
上の例なら、入力4行から「同じ実績R002の再出力」1行を除外し、採用3行・数量25になります。確認記録には実績番号と除外理由を残します。CSVの内容だけで根拠がそろわない場合は、出力元の担当者に確認します。
訂正データは「最新を残す」だけでよいか
更新日時があるからといって、必ず最新行を採用できるわけではありません。取消行や差分調整行が別に出るシステムでは、各行の意味が違います。
| 出力のルール | 必要な確認 |
|---|---|
| 同じ実績を訂正版で置き換える | どの列で同じ実績を識別し、何で新旧を決めるか |
| 取消行と再計上行が出る | 取消の符号や状態、対象実績との対応 |
| 差分だけが追加される | 差分を足すのか、総数で上書きするのか |
これらは業務やシステムの仕様です。一般的なCSVツールに自動判断させず、集計ルールとして文章で決めておきます。
Power Queryで確認するとき
既存のExcel環境でPower Queryを利用できる場合は、識別列ごとに行数を数え、2件以上を重複候補として確認する方法があります。候補の抽出と削除を分けると、何を除外したか追いやすくなります。
Microsoftのグループ化の手順と重複値の扱いを参照してください。単に重複を削除する操作では、どの行が保持されるかを前提にしないよう注意が必要です。この記事ではExcel実機での操作検証はしていません。
無料サンプルが重複候補で止まる理由
品番別CSV集計サンプルは、日付・品番・数量がすべて一致した行を見つけると停止します。この3列には実績番号がないので、「二重取込み」か「別の正当な実績」かを判断できないためです。
止まった行を機械的に消すための機能ではありません。実績番号がない入力を本格的に自動化したい場合は、出力元に識別列を追加できるか、ファイルごとの取込み範囲を分離できるかから確認してください。
相談する前に書き出しておくこと
- 1つの実績を識別できる列はあるか
- 全件出力か、前回からの差分出力か
- 訂正・取消はどのように表現されるか
- 同じ入力を2回処理した場合に、どう動いてほしいか
この条件を整理したうえで、CSV集計の個別調整についてご相談いただけます。実データを送らず、架空の4〜5行と期待する結果で説明してください。
参照確認日:2026年9月16日。掲載例は架空データです。
← 解決ノート一覧