質問

2013年06月19日 17時19分
  • 顧客情報の重複チェックについて

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

いつもありがとうございます。

顧客情報の重複チェック方法について、
良い方法がないか、アドバイスを頂ければ嬉しいです。

◆最終目的
 新顧客データベース(クラウド)へ、過去10年近くの顧客データを全て入れること

◆第一次デットライン
 6月21日(金) ((+_+))

◆経緯
6ヶ月ほど前に、顧客管理データベースをクラウド化しました。
現在、弊社のサービスをご利用頂いている顧客情報はすでに移行して運用しているのですが、
過去10年間の顧客情報も全て移行することになりました。

◆移行に関する課題
 顧客データがいくつものファイルに重複してあります。

 ・旧DB(アクセス)
 ・楽メールDB(フォーム送信されたデータの蓄積)
 ・メール配信ソフトのDB(基本、メールアドレス、名前、会社名くらい)
 ・各営業PCローカルにあるリスト(excel)
 ・ファイルサーバーにあるリスト(excel)

 あるリストには、住所があり、あるリストにはなく・・・と言う感じです。
 ちなみに、メールアドレスしかない顧客も移行が必要です。
 全て見込み客として、登録するためです。

◆自分が考える方法

 1)現在のクラウドDBより、現顧客リストをダウンロード
 2)それと、上記のリスト全てと、まずはメールアドレスで重複チェック
 3)現クラウドDBに登録がないメルアドは、登録対象とする
 4)登録対象のものを、各DBと重複チェック
 5)それぞれの情報を合体させる(あるリストには、住所があったりするので、それらを合体させる)

 6)現DBへ登録

(※)クラウドのサポートへ相談したら、
   重複チェックについては、登録前の事前にやるしかない、とのことでした。

金曜日完了となると、寝ないで進めるしかないと、
ちょっと覚悟決めています。。。

データ件数は、重複も含めて10万件くらいです。

メルアドでの重複チェックですが、顧客名での重複チェックを
どうしようか、同時に悩んでいます。。。

重複チェックの方法ですが、今の私の知識だと、
システムを組んだり、ということができないので、
地道にvlookupしか思い浮かびません。

他に、何かチェックの方法などありますでしょうか?
やっぱり、覚悟するしかないですよね・・・?泣

宜しくお願い致します

4件の回答があります

回答

状況が今ひとつ飲み込めないので、的確な回答にはならないと思いますが...

・すでに運用しているのなら、”慌てて”過去10年間の顧客情報も全て移行する 必要もないような気がします。期限を延ばしてはいかがでしょう。6/21にやらなくてはならない理由がありますか?

・顧客データ といっても キーになるようなもの(例:顧客コード)は無いのでしょうか それがなければ実態は重複していても問題ないので 全部!ドカーンと入れておいてあとから検査して削除する のはどうでしょうか

・重複チェックとして。 Excelの列は最大公約数的に項目を設定して全データを落としこむ。各項目でソートして「キーとなる項目が同じで空欄のセルがあったら同じキーの上のセルから内容を持ってくる」ようなマクロを組んで実行する によって データ行を集約する のはどうでしょうか

2013年06月19日 19時00分

回答

ご指摘のようにメールアドレスでの重複チェックがもっとも現実的な解と思います。

Excelでの一般的な重複チェックのやり方
Excelに全て放り込んでメールアドレスを第一優先としてソートをかけていきます。
住所は昇順ソートでかけ、入力があるものと空欄があったときに入力があるものが下に出てくるように設定します。
同様にほかの項目も適宜設定します。
開いた列に=if(メールアドレスの列1行目=メールアドレスの列2行目,1,0)
と入力すると、1行目と2行目が重複した時に上の行に1が立ち、下の行に0が立ちます。
後は同様に下に展開していくだけです。
(5件重複していた場合は一番下にだけ0が立ちます)

10万件もあるということなので相当重いでしょうが、
vlookupよりはマシかと思います。

2013年06月20日 06時56分
csp

回答

お疲れ様です。
期限が明日なので今からやるには厳しいかもしれませんが・・

私ならSQLServerを使ってやります。
一度テーブルに入れてしまえば、重複チェックや抽出処理も容易です。
テーブルに入れるのも一度Excel形式にすれば一括コピペで終わります。

以下手順です。
1)クラウドDBより現顧客リストをダウンロードし、
SQLServer上でそれと同じレイアウトのテーブルを作成する。
2)他のデータをCSVで出力するなどし、Excel上でデータをテーブルと同じレイアウトに整理する。
3)Excelの範囲選択で全データをコピーする。
4)SQLServerのテーブル編集機能で作成したテーブルを開きペーストする。
5)10万件なので、1時間程度待機する。
6)SQLでメールアドレスでグルーピングしてカウントした結果が2件以上のデータを抽出する。

で、書き込みを見ていると顧客コードがないようなので、メールアドレスがキーになりますよね。

6)の方法で抽出したデータをメールアドレスと住所のテーブル・・
というふうに分割していけば、最後にまとめて重複データの情報を結合できます。
ダウンロードURLを貼っておきます。良ければ、参考にしてください。

回答

Access で テーブルを取り込んで クエリで メールアドレスが重複するものをまとめてしまえばよいと思います。

あなたもコメントしましょう!