• ベストアンサー

エクセルデータの重複の削除!

是非教えて頂きたいのですが、アクセスを使わずに エクセルで一度に3万件くらいのデータ(名前や住所や電話番号等) を入力しているのですが、この度その中で重複しているデータを 消す事になりました。 一気に消すやり方が誰もわからずに困っております。 名前と住所が完全に一致した物を消すマクロ? というのでしょうか、何か方法があったら 教えて下さいませ! マクロという事もよくわかりませんが、 是非とも教えていただければと思っております。 宜しくお願い致します!

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

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

エクセルでは、もちろん問題にもよりますが、一般論で (1)操作による方法 (2)関数 (3)VBA(マクロ) があります。#1は(1)によるご回答です。 原理的に、関数の場合はセルや行の「削除」はできません。 ですから重複しないものを抜き出すことになります。 また書式も移せません。 (2)の回答を上げておきます(imogasi方式) データ例 Sheet1のA,B列A2:B9に A列  B列  C列(ワーク列) a x 1 b y 2 c z 3 d u 4 a x e s 5 f d 6 c z C2に関数 =IF(AND(COUNTIF($A$2:A2,A2)=1,COUNTIF($B$2:B2,B2)=1),MAX($C$1:C1)+1,"") と入れて、C9まで式を複写する。 結果は上記C列の通り。 これで1つめ(初出)に連番を振れました。 Sheet2に行って、 A2に =INDEX(Sheet1!$A$1:$B$10,MATCH(ROW()-1,Sheet1!$C$1:$C$10,0),COLUMN()) と入れて、B2まで横に式を複写。 A2:B2を範囲指定して、B2で+ハンドルを出し、A7:B7まで引っ張る。 結果はSheet2のA2:B7に A列  B列 a x b y c z d u e s f d 3万行あるらしいが、そのケースについて、上記がうまくいくか、メモリ塔載バイトとともに、教えてほしいですね。 実際のケースでSheet2に当たるシートで、式を複写する行数は、Sheet1に当たるシートのC列の最大数+1行までしてください。

minittumei
質問者

お礼

ありがとうございます! 私にはちょっと難しいかもしれませんが、 頑張ってやってみます!

その他の回答 (2)

  • bari_saku
  • ベストアンサー率17% (1827/10268)
回答No.3

No.1さんの回答に補足。 こちらだと「名前もしくは住所が重複したもの」しか消すことができないので、名前と住所を一緒に表示をするセルをつくり、その列で判定させた方がいいと思います。 手っ取り早い方法としてはA列に名前、B列に住所、C列が空いているとして、Cの列に =A1&B1 と入力し、エンター。次にオートフィルでコピー。 (二行目以降からデータが始まっている場合は適宜なおして下さい) そうすると、名前と住所が合体したセルができるので、そのセル(この場合はC行)で重複削除の手順を踏めばいいのでは。 ただし、実際は同じ名前や住所でも、例えば名字と名前の間に空白があったりなかったりですと、別物扱いになります。 最後にソートをかけて、目でチェックもした方がいいと思います。

minittumei
質問者

お礼

補足ありがとうございます! 試してみたいと思います!

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

前後の処理(準備・後始末)が必要になるでしょうが、重複を消す(なくす)方法を。 1.範囲を選択します。Shift+CTRL+↓で簡単にできるはず。 2.メニューのデータ>フィルタ>フィルタオプションの設定をクリック。 3.「重複するレコードは無視する」をチェック(レ点をつける) 4.左端行番号の色が変わったらOKだが、もう一度範囲を選択しなおす。 5.コピーする。 6.新しいシートに貼り付けする。 これでどうでしょう?

minittumei
質問者

お礼

ありがとうございます。 ちょっとやってみます!

関連するQ&A

専門家に質問してみよう