CSV / Guide / 2026-09-21

CSVの重複をチェックする方法|削除する前に決めること

CSVの重複チェックで先に決めるべきキー、表計算での確認方法、完全重複と業務上の重複の違いを整理する。

CSVの「重複チェック」は、重複行を消す作業ではない。

最初に決めるべきなのは、何が同じなら重複と呼ぶのかだ。

重複キーを先に決める

たとえば顧客CSVなら、候補は次のようになる。

商品ならSKU、注文なら注文番号など、業務によって一意性の基準は変わる。

「1行まるごと同じ」だけを探しても、実務上の重複を見逃すことがある。

完全重複とキー重複は分けて考える

完全重複は、全列の値が同じ行。

キー重複は、指定した列だけが同じ行。

たとえば次の2行は完全重複ではない。

[email protected],Alpha,札幌
[email protected],Alpha Inc.,札幌

しかしメールアドレスを一意キーにするなら重複だ。

どちらを問題にするかは、インポート先のルールで決める。

表計算で確認する

ExcelやGoogle Sheetsで小さなCSVを見るなら、COUNTIFを使う方法が簡単だ。

A列がメールアドレスなら、補助列に次のような式を入れる。

=COUNTIF($A:$A,A2)

結果が2以上なら、その値は複数回出現している。

ただし、ヘッダーを含む位置や空欄の扱いには注意する。空欄を重複として数えるかどうかも先に決める。

「重複だから削除」は危険

同じメールアドレスが2行あっても、片方が古いデータとは限らない。

例として、

といったケースがある。

だから安全な重複チェックは、削除ではなくフラグを付けるところから始める。

「何行目と重複しているか」をレポートに残せると、確認が楽になる。

大きなCSVでは再現性を優先する

数十行なら目視でも確認できる。

しかし数千行以上になると、毎回フィルターや式を組み直すより、同じルールで繰り返せる方法が向いている。

最低限、次が残る形にする。

これで「なぜこの行を止めたのか」を後から追える。

重複チェックの順番

  1. 一意であるべき列を決める
  2. 空欄をどう扱うか決める
  3. 重複を検出する
  4. 行番号付きで確認する
  5. 削除・統合は業務ルールに従って別工程で行う
  6. 修正後にもう一度チェックする

重複検出の挙動を試すための無料CSVサンプルも用意した。

「見つける」と「直す」を分ける。それだけでCSV作業はかなり壊れにくくなる。