Excel の名簿の重複は、全角半角・空白・会社名の法人格・電話番号の形・メールの大文字小文字をそろえてから、メール → 電話 → 会社名と氏名の順で「同じ 1 件」を決めると見つかります。消す前に残す行を決め、どのセルを何から何に直したかの一覧を添えると、あとから確かめられます。
名簿が「同じ人なのに別の行」になるのは、なぜですか
・会社名の書き方が人によって違う。「(株)ABC」「株式会社ABC」「ABC 株式会社」は、Excel には全部別の文字列です
・全角と半角、名字と名前の間の空白、電話番号のハイフンの有無が混ざる。見た目は同じでも一致しません
・メールアドレスの大文字と小文字。頭だけ大文字で書かれたものと全部小文字のものは同じ宛先ですが、Excel の重複の削除では別扱いです
整理の前に、何を決めますか
規則を先に決めてから手を動かすと、途中で迷いません。あとで人に頼むときも、この規則をそのまま渡せます。
1. そろえる形: 英数字と記号は半角、カタカナは全角、空白は半角 1 つ。電話番号はハイフンで区切った形。メールは小文字
2. 会社名の扱い: 「(株)」は「株式会社」に戻す。前株(株式会社ABC)と後株(ABC株式会社)は別の会社のことがあるので、機械では寄せず、人が見ます
3. 「同じ 1 件」と見なす列: メールがあればメール、無ければ電話番号、どちらも無ければ会社名と氏名の組。この順で決めておきます
4. 重複をまとめたとき、どちらを残すか: 古い方を残して、新しい方の値で空欄だけ埋める、のように決めます。両方に値があって違うときは、人が見る印を付けます
Excel だけで手でやるには、どうしますか
1. 元のシートをコピーして「作業用」を作ります。元には触りません
2. 作業用に列を足して、関数でそろえます。全角半角は ASC 関数、空白は TRIM と SUBSTITUTE(全角空白を半角に)、小文字は LOWER。電話番号は SUBSTITUTE でハイフンと括弧を取ってから、TEXT 関数で形を作ります
3. そろえた列で COUNTIF を使い、2 以上の行に色を付けます。これが重複の候補です
4. 色の付いた行を上に集め、どちらを残すかを規則どおりに決めて、残さない行には「削除」の印を付けます。行はまだ消しません
5. 印の付いた行を別のシートに移してから、作業用を納品の形に整えます。消した行が後から要ることがあるためです
100 件なら、この手順で 1 時間ほどです。1,000 件を超えると、関数の列が増えて見落としが出るので、次の「仕組みでやる」方が確実です。
仕組みでやるときは、何が変わりますか
上の規則をそのままプログラムにすると、何千件でも同じ規則で 1 分以内に終わります。大事なのは速さより、何をどう直したかが残ることです。納品の形は 3 つのシートにします。
・整理後: 1 件 1 行にそろえた表
・重複: まとめた元の行と、残した行の対応。「3 行目は 2 行目と同じメールだったので、2 行目に寄せた」が分かります
・直した箇所の一覧: どのセルを、何から何に直したか。「(株)ABC商事 → 株式会社ABC商事」のように 1 セル 1 行で並びます
この一覧があると、依頼した側は直した箇所だけを確かめればよく、全部を読み直さずに済みます。前株と後株のように機械が決めない項目は、「要確認」として一覧に残します。
自分でやるか、頼むか
100 件までなら、上の手順で 1 時間です。件数が多いとき、名簿が複数あるとき、整理したあとも同じ規則で足していきたいときは、規則を先に文章でお見せしてから、3 つのシートでお納めします。
ココナラの出品「Excelの名簿の表記ゆれと重複を整理します」もご覧ください。