• ベストアンサー

エクセルでの重複削除について教えてください。

仕事での会員のデータをまとめているのですが、数が多すぎて重複しているデータを見つけられません。 データは名前・住所・電話番号etcなのですが、住所が変更されているのに、電話番号と名前は変わってないという例がたくさんあるようです。件数が数千件になっているので、目で探すのは大変です。早急に作らなければならない書類なのですが、技術者がいない為、大変困っています。簡単に削除できる方法があったら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

次の方法は如何でしょうか。 1.表全体を選択 2.書式→条件つき書式 3.「数式が」を選択し、=COUNTIF($C$1:$C1,$C1)>1を入力(電話番号列を想定) 4.書式→パターン→任意の色を選択 5.OK  ※二つ目の重複行が色付けされる。 6.電話番号列先頭をクリック→データ→並び替え  ※項目削除は目視確認し、行削除する

その他の回答 (4)

noname#123709
noname#123709
回答No.5

#1です。 下記の△の部分を電話番号の入力されている列番号にしてやれば、重複して いればその行の△列目に最初にそのデータが出現した行以外の行を削除します。 Sub test() Dim i As Long, j As Long For j = 1 To Range("A65536").End(xlUp).Row For i = Range("A65536").End(xlUp).Row To j + 1 Step -1 If Cells(j, △).Value = Cells(i, △).Value And Cells(i, △).Offset(, 1).Value = "" Then Rows(i).Delete Shift:=xlUp End If Next i Next j End Sub

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

これは経験から (A)名前 (B)住所 (C)電話番号 それぞれの列だけで、ソートし、同じ内容(氏名なら氏名)の同じ塊りの行を目視により、住所、電話番号も勘案して、人間が常識や全知能を働かせてチェックしないといけない。営業担当がやるのが良いが。 関数や条件付き書式で、事たれりではダメ。ビジネスでは、ケースによってはトラブルや訴訟になりかねない。氏名同一、同一人と即断も危険。 それを(A)(B)(C)各々で繰り返すこと。2-3千件ならすぐ終わります。しかし通常は疑問点が相当数出て、問い合わせしたりする必要もあるので、至急は難しかろう。ある程度確実な行だけで、見切り発車せねばならないかもしれない。 重複行(の列だけ)に色をつけるのは 条件付書式で、数式が、=OR(A2=A3,A1=A2)と入れてパターン色を設定 する。チェックの省力化の足しになる。 >住所が変更されているのに、電話番号と名前は変わってないという 住所変更したら、氏名が変わるの?電話番号も変わらない場合あると思うよ。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

そのブック内に新しいワークシートを作成して A1 電話番号 A2 ="=*" として「データ」「フィルタ」「フィルタオプションの設定」 「指定した範囲」に「●」 「リスト範囲」元のシートの全範囲 「検索条件範囲」「$A$1:$A$2」 「抽出範囲」「$A$3」 「重複するレコードは無視する」にチェックしてOKする。 3行目がに項目名となり、4行目以降にデータが抽出される。 この内容を新しいブックにコピーして保存する。 現行のブックは念のために残しておいてください。

noname#123709
noname#123709
回答No.1

>重複削除 とタイトルにありますが、同じ個人名で重複データが5件あった場合に どのデータを残すのでしょうか?判断基準があるのでしょうか? それとも重複しているデータを強調すればいいのでしょうか? 仮ですが、A列に名前が入っているとしてA列の値を上から順番に見て重複 していればその行のB列に最初にそのデータが出現した行を入力していく物 です。 Sub test() Dim i As Long, j As Long For j = 1 To Range("A65536").End(xlUp).Row For i = Range("A65536").End(xlUp).Row To j + 1 Step -1 If Cells(j, 1).Value = Cells(i, 1).Value And Cells(i, 1).Offset(, 1).Value = "" Then Cells(j, 1).Offset(, 1).Value = j Cells(i, 1).Offset(, 1).Value = j End If Next i Next j End Sub

furuchi
質問者

補足

説明不足ですみません・・・。 A列に住所・B列に名前・C列に電話番号が入力されていて、電話番号を基準に重複を探しています。 住所が変更されているのはもちろんですが、名前も漢字で入力されていたり、平仮名で入力されていたりと、同じ人物名でもバラバラな状態です。昔からのデータですので、しっかりとした管理を怠ってしまっていました・・。重複の電話番号があった場合、住所・名前は関係なく、一つだけ残して重複したものは削除したいのですが、簡単にできる方法はありませんか? よろしくお願い致します。

関連するQ&A

専門家に質問してみよう