• ベストアンサー

EXCELで2つのファイルから重複データで抜き出したいです。

EXCELで2つのファイルから重複データで抜き出したいです。 『A』ファイルという顧客データと『B』ファイルという顧客データがあります。 それぞれ項目は同じで、 A列=顧客コード B列=顧客名 C列=住所   ・   ・   ・ となっています。 『A』ファイルと『B』ファイルそれぞれのファイルには顧客コードに重複はありません。 『A』ファイルと『B』ファイルを比べて 重複データ以外のダブリのないファイルを作成したいです。 よろしくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

BファイルでA列の項目名を含めたデータ範囲(A1セルから)に「リスト」という名前を付けておき、以下の数式を入力してCtrl+Shift+Enterで確定して配列数式して右方向に3つ、下方向に適当数オートフィルすれば、ファイルBののみ存在するデータを取得できます。 なお、除外リストの部分は、AファイルのA1セルから下のデータ範囲を絶対参照してください。 =INDEX(リスト,SMALL(IF(ISNA(MATCH(リスト,除外リスト,0)),ROW(リスト),""),ROW(A1)))&"" 2つのシートを同じブックに持ってこられるなら、上記のように除外リストの範囲に名前を付け、「リスト」と除外リスト」を逆にすれば、逆にAファイルにあってBファイルにないデータを表示できます。 また、数式で表示するのでなければ、フィルタオプションの設定を利用して、簡便に重複外のデータを表示することもできます。 簡単に説明すると、「データ」「フィルタ」「フィルタオプションの設定」でリスト範囲をA表、検索条件範囲をB表にしてOKし。フィルタされたデータをDeleteで削除して、フィルタモードを解除すれば、A表にのみ存在するデータが残りますので、このデータ範囲を選択して、「並べ替え」の操作をして空白行を詰めます。 この逆のフィルタ操作を行い、得られた2つの抽出結果を合体すれば完成です。

その他の回答 (3)

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

質問者は知らないのだろうが、この質問は月に数回質問に出てくると思う。 Googleで「エクセル 関数 重複データ 抽出」で照会すると沢山記事がある。それらの中の数個を読めば、方法・使う関数はわかるだろう。 その後に疑問点を聞くのが、このコーナーを生かす途。 ーー VBAなど出来る人はVBAでやる(私はよくマッチングのロジックなど言っているが)だろうが、それは対象外として。 職場で急ぐときは、シートAのコピーの後の行にシートBを貼り付け、顧客コードでソートし、目視で重複を選び出せば1000件ぐらいでも、物の5分もかからない。 目視の変わりに関数を使って同じ顧客コードが2度出てくる行を探すのも簡単。 同一シートに集めないでない、ソートしなくても出来るかも。COUNTIFで<>0である行を探すとか。 そういう作業列を設ければ、重複分を別シートに持って来ることも出来る(imogasi方式)。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

数式に誤りがありました。 右側にオートフィルですので、正しくは、最初の「リスト」の部分は「A:A」のようにする必要があります。 =INDEX(A:A,SMALL(IF(ISNA(MATCH(リスト,除外リスト,0)),ROW(リスト),""),ROW(A1)))&"" また、顧客コードがわかれば、それ以外のデータはVLOOKUP関数で表示できますので、わざわざこの配列数式を右側にオートフィルする必要はないですね(顧客コードが文字列ではなく数字の場合は、セル参照する検索値に「*1」などの処理が必要です)。 目的にもよりますが、単に重複していないデータを抽出したいだけなら(該当データをリアルタイムで表示しなくてもよいなら)、それぞれの、データ範囲をコピーして、フィルタオプションの設定を行うのが簡単なような気がします。 #また、エクセルはバージョンによって使用できる機能や操作法が異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

比較には同じ次元にして並べ替えます。 新しいシートのC列以降にAファイルのデータを貼付け、その下の行からBファイルのデータを貼付け。A列にはAファイルかBファイルか区別できるようにしておく。B列にはそのファイル内の連番。 あとは、C列の顧客コードで並べて、前行と同じなら両方にあるって解釈です。重複を見つけるのはこれが早くて簡単でしょう。 A列B列でどのファイルの何行目が重複かと判断できます。 それとも Aファイルの内容をシート1、Bファイルの内容をシート2に、シート1でシート2に存在するか判断してマークする、シート2でシート1に存在するか判断してマークする、そんなことしてあとは2つのブックにする、を考えてましたか?。 手段はいろいろありそうなので、自分でできるやり方にしたらと思います。 結果ブックはどういう形かの提示をお願いします。1ブックまとめてか2ブックそれぞれか。