リストの重複行をオンラインで削除
リストを貼り付けて、4 つのルールを切り替えるだけ。元の順序・大文字小文字・空白を保ったままのクリーンな出力が手に入ります。実務で結果を出すデータチームに向けて。
または Ctrl+Enter
みんながここで整理しているもの
04 — 活用シーンCRM、Mailchimp、HubSpot からのエクスポートをインポート前に整理。列の順序を壊さずに済みます。
大量のキーワードシートを監査し、ローンチ前にキャンペーン間で重複する用語を見つけます。
INSERT 前に CSV / TSV から重複を削除。大文字小文字を無視、空白対応、最大 80 MB。
繰り返されるスタックトレースやノイズの多いログ行を、ひと目で読めるリストにまとめます。
使い方
3 ステップ-
01
リストを貼り付けるか .txt をアップロード
デスクトップで 10 万行 / モバイルで 5,000 行までライブプレビュー。それを超える入力は自動で大容量モードに切替 — 同じエンジン、ページは反応し続け、.txt ダウンロードを返します。
-
02
4 つのルールを切り替え
大文字小文字: ABC と abc を同一視するか。前後空白: 比較時に行頭末尾の空白を無視。空行: 空行を捨てる。シャッフル: 重複削除後の出力をランダム化。
-
03
実行を押す
重複は 1 行に統合され、最初の出現が残ります。出力カードはクリーンなリストを元の順序で表示します。
内部の仕組み
技術ノート- アルゴリズム
- O(n) ハッシュテーブル重複削除 · Object.create(null) によるプロトタイプなしマップ
- しきい値の分岐
- デスクトップ: 2 MB / 10 万行 · モバイル: 300 KB / 5K 行 · ハードリミット: 80 MB
- 順序の保持
- 重複削除パスで各行の初出インデックスを記録
全体計算量は O(n + u log u + s log s)(n = 入力行数、u = ユニーク行数、s = 出力長)。以前のバージョンは行ごとのループ内で Object.keys(freqMap).length を呼んでいた — O(n²) で 156K 行に 5 分かかっていました。現実装は同じ入力を約 500 ms で処理します。
ライブしきい値を超えると入力は textarea に入りません(ブラウザネイティブの word-wrap は挿入時に O(n))— 処理は Web Worker に移り、ページは反応し続け、.txt ダウンロードを取得します。
Excel の「重複の削除」も Google Sheets の UNIQUE() も内部でカラムを再ソートしますが、当ツールはデフォルトで元の順序を保持します。ランダム順が欲しい場合はシャッフルをオンにすると Fisher-Yates で並び替えます。
プライバシーと制限
どこに何が残るかすべてブラウザー内で実行。貼り付けたリストは決してアップロードされません — fetch も XHR も走らず、入力データはアナリティクスにも届きません。ページ読み込み後はネットを切断してもツールは動作。1 回あたり 80 MB のハードリミットで複数ギガバイトのログによるタブフリーズを防止。
よくある質問
回答case-insensitive 重複除去は出力も小文字化しますか?
いいえ。大文字小文字トグルは比較にのみ影響 — "Apple" と "APPLE" は重複として扱われ最初のものだけ残りますが、残った行は元の大文字小文字を保持します。出力は小文字化されません。
各重複の「最後の」出現を残すことはできますか?
はい — 2 つのツールを連結します。入力をまず「行の逆順」ツールに通し、その反転リストを重複削除ツールに貼り付け。元の順序が必要なら最終出力をもう一度反転すれば OK。両ステップともローカル、アップロードなし。
Excel の「重複の削除」と何が違いますか?
違いは 3 つ: (1) ブラウザー内で動作 — Excel を開かずどこからでも貼り付け可能、(2) 大文字小文字と空白を正確に保持 — Excel はセルを自動「正規化」することがある、(3) Excel の「重複の削除」は内部でカラムを再ソートすることが多いが、当ツールはデフォルトで元の順序を保持。
カンマを含むクォートフィールドの CSV に対応していますか?
行全体を比較対象の単一文字列として扱います — カンマ入りのクォートフィールドは行全体の一部としてマッチします。カラム単位の重複削除(「カラム B が一致する行を削除」)が必要なら、本ツールは適切ではありません。代わりに Google Sheets の UNIQUE() か Power Query を使ってください。
ファイルサイズの制限は?
1 回あたり 80 MB のハードリミット。デスクトップで 2 MB(モバイルで 300 KB)を超えると大容量モードに切替 — テキストは textarea を経由せず、処理は Web Worker で、結果は出力カードに表示する代わりに .txt としてダウンロードされます。
データはどこかに送信されますか?
いいえ。すべてブラウザータブ内で実行されます — アップロードもサーバー側処理もなく、貼り付けたテキストはアナリティクスにも届きません。ページ読み込み後 Wi-Fi を切ってもツールは動作します。