• ベストアンサー

Excelで2つの列を比較して重複項目を抽出する

ExcelのシートAに、店名を掲載したレコードが1万行あるとします。 シートBには同じく店名を掲載したレコードが1000行あるとします。 AからBに含まれる店名のレコードを削除する方法を教えてください。 ・できれば店名が完全に一致していない、ゆれのあるケースでも処理したいです。 例えば、シートA「よろず屋商店」とシートB「よろず屋」のように、数文字が重複しているようなケースのものを抽出して、確認できるようにしたいです。 Excelは2010です。 お願い致します。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

>・できれば店名が完全に一致していない、ゆれのあるケースでも処理したいです。 コンピューターが最も不得手な分野です。 完全一致なら可能です。 但し、関数のみで処理するには作業用のセルが必要です。 例えばシートAのZ列を作業用に使い、関数で処理した結果を値のみA列へコピー&ペーストすれば良いでしょう。 1行目は項目名としたとき Z2=IF(COUNTIF(シートB!A:A,A2),"",A2) Z2セルを下へ10000行までコピペします。 Z2:Z10000をコピーして、A2:A10000へ値のみ貼り付ければ目的に合うでしょう。 その後、Z列をクリアしてください。

okhotsk
質問者

お礼

度々すみません。 IF(not(COUNTIF(シートB!A:A,A2)),"",A2) でできますね。 ありがとうございます。

okhotsk
質問者

補足

ありがとうございます。 すみません、この方法を応用して、逆に重複部分だけを抽出(列挙)したいです。重複部分の方が圧倒的に少なく、後の作業が楽になるためです。方法はありますでしょうか。

その他の回答 (2)

  • yoruaru-q
  • ベストアンサー率17% (476/2703)
回答No.3

自分がその作業をするとしたら方針は次のことです。 店名のゆれには、実体にあった店ごとに通番を振って、通番で管理する。 シートAとシートBの重複を探すには、vlookupという関数をうまく使う。

  • msMike
  • ベストアンサー率20% (368/1813)
回答No.2

「ゆれのあるケース」非対応版 Sheet1!C2: =COUNTIF(Sheet2!A:A,Sheet1!A2)=0 下記の条件で[フィルタオプションの設定]を実行 _抽出先    → “指定した範囲” _リスト範囲  → Sheet1!$A:$A _検索条件範囲 → Sheet1!$C$1:$C$2 _抽出範囲   → Sheet1!$B$1 _“重複するレコードは無視する”にチェック入れ ← 念のため

関連するQ&A