• 締切済み

エクセル 重複セルについて

住所リストを制作しておりまして、 全リストから、一定の人を削除したリストを作りたいのですが、 方法が分かりません。 重複しているセルをソートできればと思うのですが、 どなたかお教えいただけますでしょうか?   A列  B列 C列  D列  1 住所 田中     太田 2 住所 斉藤     田中 3 住所 太田     木村 4 住所 木村     渡邉 5 住所 小林  B列にある氏名の中にD列の氏名が重複していたら、 下記のようなことができますでしょうか? ●C列に”重複”と出る   A列  B列 C列    1 住所 田中 重複 または ●B列と重複するD列のセルが隣に並び変えられる   A列  B列 C列  D列  1 住所 田中     田中 なお、A列とB列は一緒にしたいので、 B列だけが並び変えられることは避けたいです。 緊急SOSです! よろしくお願いいたします。

みんなの回答

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.4

Ano.1です。 式が少し違っていたようです。 =IF(ISNA(VLOOKUP(B2,D$2:D$100,1,FALSE)),"","重複") これでうまく行くと思います。 実際に私のExcelでテストしても答えが出ました。

muamc
質問者

お礼

ありがとうございました!!!!!! できました! 本当に助かりました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。お示しした式は住所と名前が一致している場合に重複と表示させる式です。 しかし、重複が分かったとしても重複の行を1行残して、また重複のない人の行も残して表を整理するためにはその後の操作が必要になりますね。 もっと分かり易く簡単な方法はC2セルに次の式を入力して下方にドラッグコピーします。 =B2&A2 つぎにD1セルには抽出用とでも入力し、D2セルには次の式を入力して下方にドラッグコピーします。 =IF(C2="","",IF(COUNTIF(C$2:C2,C2)=1,MAX(D$1:D1)+1,"")) そこでA列からD列を選択してから「ホーム」タブの「並べ替えとフィルター」から「ユーザー設定の並べ替え」をクリックします。 最優先されるキーに「抽出用」を選び「昇順」でOKします。 これで中腹の行で1行は上の行に並びますがそれ以外の重複の行は後の方の行に並びますのでそれらの行を選択して削除すればよいでしょう。なお、C列が目障りでしたらC列を選択して右クリックし「非表示」を選択すればよいでしょう。

muamc
質問者

お礼

ありがとうございます。 こちらもなぜかできませんでした。。。本当にすみません。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばC1セルに次の式を入力して下方にドラッグコピーします。 =IF(COUNTA(A2:B2)<>2,"",IF(SUMPRODUCT((A$2:A$1000=A2)*(B$2:B$1000=B2))>1,"重複",""))

muamc
質問者

お礼

早速ありがとうございます! 入力してみたのですが、下までドラッグしても 何も出てこなかったので 私の入れ方がよくないのかもしれません。 再度挑戦してみます。

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.1

考え方としては まずD列だけを昇順で並べ替え 次にC列に次の式をセット   =ISNA(VLOOKUP(B2,D$2:D$100,1,FALSE),"","重複") もちろん行が3行目になれば   =ISNA(VLOOKUP(B3,D$2:D$100,1,FALSE),"","重複") という式になります。 これはセルC1に   ISNA(VLOOKUP(B1,D$2:D$100,1,FALSE),"","重複") という式をセットしておいてこれをC2以下に貼り付ければ式を作ることができます。 昇順でD列を並べ替えるとC列の式が変形されますから、ソートの都度式のセットをする必要があります。 以上をマクロで記録すれば自動実行するように出来ます。 式の意味は、B2と同じ値がD$2:D$100になければ空白、あれば重複と表示しなさいという意味です。

muamc
質問者

お礼

早速ありがとうございます!!! トライしてみたのですが、数式に対して多すぎる項目ですという エラーが出てしまいました。 データが多すぎるのでしょうか。。。数を減らして再挑戦してみます。

関連するQ&A