CSVの重複行を安全に削除するには、1件のレコードを特定できるカラムを照合し、候補グループを確認してから、不要な行を削除するか、残したい値をマージします。この方法は、1つのCSVファイルにも、同じDatablistコレクションへインポートした複数のファイルにもご利用いただけます。

最初の照合には、メールアドレス、電話番号、企業Webサイト、SKUなど、値が変わりにくい識別子をお使いください。表記ゆれやフォーマットの違いがある場合は、Smart、fuzzy、phonetic matchingを使用し、確信度の低いグループはレビュー対象として残します。

CSVファイルの重複データをマージする

Datablistで重複レコードをマージする例
Datablistで重複レコードをマージする例

Datablistは、スプレッドシートでは難しいデータ処理に適しています。使いやすいオンラインCSVエディターをお探しの際にぜひご活用ください。

このガイドでは、数千件のデータを含む2つのCSVファイルを使用します。両方を1つのコレクションに読み込み、4つのカラムのうち1つを基準に重複を除去します。同じ手順で、単一のCSVファイルも重複排除できます。

チュートリアル用CSVファイルはこちらからダウンロードできます:CSVファイル1とCSVファイル2

CSVファイルには、First Name、Last Name、Email、Job Titleの4つのカラムがあります。今回は、同じメールアドレスを持つレコードをマージします。

1つのセルに複数のメールアドレスが入っている場合は、重複検出を実行する前に、複数の値を含むCSVセルを行に分割してください。エクスポート元のファイルが大きすぎて安全にインポートまたは確認できない場合は、重複排除の前に大容量CSVファイルを分割します。

重複データをマージする流れは、次の4ステップです。

  1. CSVファイルをDatablistコレクションに読み込む
  2. 重複チェックに使用するプロパティを選ぶ
  3. 競合しない重複データを自動でマージする
  4. 残った重複データを手動でマージする

Step 1:CSVファイルをDatablistに読み込む

新しいコレクションを作成する

最初に、CSVファイルをDatablistへ読み込みます。Datablistを開く(登録不要)から始めてください。

新しいコレクションを作成するには、**+**付きの「New collection」ボタンをクリックします。作成後、コレクション名とアイコンを設定してください。

続いて、Import CSVボタンをクリックします。

新しいコレクションを作成

CSVファイル用のプロパティを作成する

CSVファイルを読み込むと、そのカラム名を使ってコレクションのプロパティを作成できます。DatablistにCSV内のすべてのカラムが表示されるため、それぞれに対応するプロパティを作成してください。

CSVファイル自体にはカラムのデータ型が定義されていません。Datablistはインポートした値を基にデータ型を提案し、並べ替えや絞り込みをしやすくします。インポート前に、提案内容をご確認ください。

SKU、アカウントID、郵便番号などの識別子は、Textのままにすることをおすすめします。たとえば、00127をNumberに変換すると先頭のゼロが失われ、照合キーが変わってしまいます。適切な型が分からない場合は、プロパティ型のガイドをご覧ください。

コレクションのプロパティを作成

内容を確認してインポートする

確認ステップでは、CSVの行がファイルの内容どおりに表示されます。データの形式が正しく、一貫していることをご確認ください。その後、「Import items」ボタンをクリックすれば完了です! 💪

内容を確認してインポートし、2つ目のCSVファイルをアップロード

ほかのCSVファイルも同じ手順で読み込む

プロパティを設定したコレクションが用意できたら、「Import CSV/Excel」を使い、ほかのCSVファイルやExcelファイルも同じコレクションへインポートします。

Step 2:CSVの重複データを検出する

CSVファイルを読み込んだら、Clean > Merge duplicatesを開きます。余分な行に残すべきデータがない場合は、代わりにRemove duplicatesを選択してください。

Duplicates Finder
Duplicates Finder

次の2つのモードをご利用いただけます。

  • All Properties:行全体を比較します。
  • Selected Properties:レコードを特定するカラムだけを比較します。

ここでは、emailプロパティだけで連絡先を特定できるため、Selected Propertiesモードを選び、プロパティにemailを指定します。

エイリアスやメールラッパーによって値が異なる場合は、メール専用のワークフローでメールアドレスの表記違いを重複排除してください。

このチェックではデータは変更されません。結果画面には重複グループと一致した理由が表示され、処理可能なReadyグループと、確認が必要な候補が分けられます。

重複データを検出して削除

マージせずにCSVの重複行を削除する

削除だけを行う場合は、結果画面でRemove duplicatesを選択します。

  1. Record to keepを確認します。デフォルトはMost Completeです。ほかのレコード選択ルールには有料プランが必要です。選ばれた行は変更されずに残ります。
  2. いくつかのグループを開き、KeepとRemoveが付いた行を比較します。削除対象の行に、残しておきたい電話番号、メモ、より新しい値などが含まれていないかご確認ください。
  3. そのような値を残す必要がある場合は、Merge and preserve dataを選択し、以下のStep 3へ進みます。単に削除した場合、残す行へ追加の値はコピーされません。
  4. Readyグループが意図どおりであることを確認したら、Remove ready duplicatesをクリックします。確定する前に、データ損失に関する警告をご確認ください。

たとえば、メールアドレスまで同一の2行なら、1行にまとめられます。一方、メールアドレスは同じでも電話番号が異なる2行では、どちらか一方を変更せずに残すか、電話番号を保存先レコードへマージするかを判断する必要があります。

どの行を残すか決める前に、照合するカラムを選んでください。 All Propertiesでは、全項目が同じ行を検出できます。Selected Propertiesなら、役職や電話番号が異なっていても、同じ連絡先としてグループ化できます。ただし、同じ企業に複数の担当者がいるため、企業Webサイトだけを照合条件にするのは範囲が広すぎます。

元のCSVファイルは保存しておいてください。処理後は、削除された行数と確認済みグループを照合し、残った識別子をチェックして、クリーンなコレクションをCSVとしてエクスポートします。確認待ちの行はコレクションに残せるため、バッチ処理が完了しても、すべての重複候補が解決済みとは限りません。

Step 3:重複データを自動でマージする

2件目以降のCSVレコードに残すべき値がある場合は、Merge and preserve dataを選択します。Datablistが保存先となるレコードを1件選び、空のプロパティを補完し、競合ルールを適用してから、それ以外のレコードを削除します。

プレビューでは、処理可能なReadyグループと、未解決の競合があるグループが分けて表示されます。レビュー、survivorship、レコード選択の詳しい設定については、Duplicate Finderのドキュメントをご覧ください。

重複データを自動統合
重複データを自動統合

Resolve conflicting valuesを展開すると、ルールの設定が必要なプロパティを確認できます。

競合するプロパティの一覧
競合するプロパティの一覧

競合しない行をマージする

「Merge non-conflicting duplicates」アルゴリズムは「smart merge」を実行します。類似する値や、互いに補完できる値を持つレコードをマージする仕組みです。

たとえば、次の重複データがあるとします。

email            |     First Name   |    Last Name
james@gmail.com  |     James
james@gmail.com  |                  |     Bond

マージ後は次のようになります。

email            |     First Name   |    Last Name
james@gmail.com  |     James        |     Bond

重複する値を結合する

重複レコードに競合する値があっても、データを失わずにマージしたい場合は、値の結合(統合)が便利です。

たとえば、Phoneプロパティをセミコロンで結合します。

email            |       Phone       |     First Name   |    Last Name    
james@gmail.com  |  +33 1 34 65 23   |      James       |                 
james@gmail.com  |  06 13 42 78 23   |                  |     Bond        

マージ後は次のようになります。

email            |   Phone                         |     First Name   |    Last Name
james@gmail.com  |  +33 1 34 65 23;06 13 42 78 23  |     James        |     Bond    

テキストを含むプロパティであれば結合できます。利用可能な区切り文字は、line break、semi-colon、comma、spaceです。マージ時に、1つまたは複数のプロパティを結合できます。

重複項目のマージと値の結合は、LeadリストやCRMのデータクリーニングに最適です。重複するLeadをすべてマージし、Phone、Email、Notesプロパティを結合すれば、クリーンなリストを作成できます。整理済みのLead CSVをエクスポートした後は、CRMへ再インポートするだけです。

選択したレコードの値を残す

このルールでは、選択した保存先レコードの値を残し、競合するほかの値を破棄します。

Most CompleteがデフォルトのRecord to keepルールです。有料プランでは、別のルールを選択したり、survivorshipルールを使ってフィールドごとに残す値を指定したりできます。

drop conflicting valuesオプションは、次のような項目にお使いください。

  • Account Idなど、値が1つでなければならない技術的なプロパティ。
  • 「Relation」型で複数の値を持てないプロパティ。たとえば、Lead ownerやAccount。
  • 結合できないテキスト以外のプロパティ。たとえば、Last ActivityやContacted onなどの日時、チェックボックス。

Step 4:Merging Assistantで手動マージする

重複グループごとに手動で判断する必要がある場合は、Review groupを開きます。Merging Assistantでは、保存先と各プロパティで残す値を選択できます。

重複データをマージ
重複データをマージ

手動で選んだ保存先には、そのDatablist IDが引き継がれます。ほかの行はセカンダリレコードとして扱われます。

CSVの重複行を削除
CSVの重複行を削除

各プロパティを確認し、残す値を選んでからマージを確定します。重複グループから特定の行を除外したり、グループ全体をスキップしたりすることもできます。

必要に応じてCSVへエクスポートする

これでCSVファイルの重複排除は完了です! 結果を別のツールで使う場合は、「Export」ボタンをクリックし、コレクションを新しいCSVファイルとしてエクスポートしてください。

CSV Export
CSV Export

FAQ

Datablistではほかにどのようなデータ処理ができますか?

CSVファイルは、ソフトウェアアプリケーションやデータセットの構造化データを定義するために広く使われています。一方で、CSVの操作は難しく、専門知識が必要になることも少なくありません。

単純な処理であれば、スプレッドシートで十分です。ただし、次のような処理には限界があります。

一意のカラムを使って複数のCSVファイルを結合したい場合は、CSVファイルを結合する方法のガイドをご覧ください。

Datablistは大容量CSVファイルにも対応していますか?

Freeプランでは、ブラウザストレージ上で1コレクションにつき最大100万件を処理できます。有料プランでは、1コレクションにつき最大200万件をインポートできます。ただし、大規模なローカル処理の性能は、ブラウザとデバイスに左右されます。詳しくは、大容量CSVファイルを編集する方法をご覧ください。

重複排除はMicrosoft ExcelやGoogle Sheetsより高機能ですか?

スプレッドシートツール(Microsoft Excel、Google Sheets)にも重複削除機能があります。これは類似する行を削除する仕組みですが、ビジネス用途では、単に行を削除するだけでは十分でないことがあります。

Datablistでは、ファイルを変更する前に重複グループを確認できます。不要な行の削除、相互に補完する値のマージ、競合の解決ができるほか、確信の持てないグループを変更せずに残すことも可能です。


ご不明な点がございましたら、お問い合わせください。