• ベストアンサー

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/17068)
回答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ブックそれぞれか。

関連するQ&A

  • エクセル2010での重複データチェック

    エクセル2010で作成したデータの重複データチェックをしたいです。 顧客コードと、接触日 の両方とも同じデータが入っていれば 最初に出てきた行に1回目 再度出てきたデータ行に重複と表示したいです。 シートの項目(見出し)は下記のようになっています。 A列:顧客コード B列:顧客名 C列:接触日 D列:面談要旨 F列:結果 皆様、年末のお忙しいところ申し訳ありませんが、ご教示ください。 上記説明では、わかりにくいかと思い、スクリーンショットも添付いたします。 よろしくお願いいたします。

  • 「エクセル」で重複したデータだけを呼び出したい。

    「Excel2000」を使用しています。 「重複しているデータだけ抽出する」 ということは出来るでしょうか? たとえば「A列」に名前が入っていて、 「B列」に住所、「C列」に電話番号が 入っているとします。 重複した名前だけを呼び出して、 なおかつ「B列」「C列」の データも表示させたいのですが…。

  • データ重複・エクセルの操作

    メルマガリストをエクセルで管理しています。ASPでの無料サービスを利用していたのですが、メールアドレスしか入力できないタイプでした。なのでメールアドレスのみのリストを作成し、配信不要依頼があればそこから削除してリストを更新していました。今回、有料のサービスに移転したので顧客名も入力することができます。そこでエクセルのA列とB列に元になったデータ(A列にメルアド、B列に顧客名)をいれ、C列に現在更新されたメールアドレスのみのデータをいれて、A列の元データ(メルアド)とC列の新データメルアドを照らし合わせ、合致した場合D列にB列から合致した顧客名を表示するにはどうしたらよいでしょうか? わかりづらくてすみませんが、宜しくお願いいたします。

  • 別ファイルから重複するデータを探したい【エクセル】

    タイトル通りですが、エクセルで複数のファイルにあるデータから重複するコードを探したいのですが、どのようにしたらいいでしょうか? 仮に、ファイルAとファイルBとしますが、 ファイルAには約800件(全て別のコード)のデータがあり ファイルBにも約1000件のデータがあります。 ファイルBにある1000件のうちファイルAで使用しているコードと重複するデータを全て抽出したいのです。 (重複データがあることが判別できるようにしたいです) データはそれぞれの量が違いますし、個別に集計するにはいささか件数が多いので困っています。 分かりづらい文章ですみません… 詳しい方、どうかお知恵を貸してください。 何か補足が必要であれば追記します。どうかお願いしますm(_ _)m

  • エクセル2003 重複データの抽出

    エクセル2003を使っています。 重複したデータの抽出を行いたいのですが、 例えば、  A      B     C      D コード  書籍名  出版社名  著者 といった感じのデータが1万件ほどあります。 このうち、B列の「書籍名」が重複しているデータを抽出したい です。(抽出したものは、書籍名だけではなくて、ほかの出版社や著者の指定したデータも表示させたい。) VLOOKUPなどを使えばできないこともないのですが、一万件の 処理を行う上に、パソコンも非力なので時間がかかってしまい 困っています。 どうぞよろしくお願いします。

  • 23歳の事務をやっているOLです。エクセルでの重複データ抽出についての

    23歳の事務をやっているOLです。エクセルでの重複データ抽出についての質問です。仕事で2つのデータから重複データを抽出しないといけなくなったのですが、エクセルはよくわからないので質問させてください。データには顧客番号と名前が入っています。   A列    B列 1 顧客番号  名前 2 1234   田中太郎 3 2345   鈴木一郎 4 3456   佐藤次郎 5 4567   伊藤三郎 6 5678   吉田四郎 ・ ・ ・ データの形式は2つともこのような感じです。 データAには約1,000件のデータがあり、データBには約300件ほどのデータがあります。 AとBの顧客番号が重複している人の顧客番号と名前を上と同じような感じで別のファイルに表示させたいのですが、どうやってやったらいいのかわかりません>< 助けてください。 どうかよろしくお願いします。

  • エクセル2007 データ抽出(関数)について

    教えてください。エクセルシートにて郵便番号と住所が重複しているデータを抽出したいのです。 例)ある顧客の情報として、シート1のA列に、1から10までの新規顧客の氏名、B列には生年月日が入力されています。C列,D列は空白で、E列には全ての顧客(新規顧客を含みます)の氏名、F列には生年月日、G列には郵便番号、H列には住所が入力されています。このふたつの情報の中から、新規顧客データと全ての顧客データの氏名、生年月日が重複している顧客のみ、C列にその郵便番号、D列に住所を表示させたいのです。 OSはXP エクセル2007です。 困っています。よろしくお願いします。

  • エクセルの重複データを抽出し、最新のデータを残した

    エクセルの重複データを抽出し、最新のデータを残したいです。 A列 B列 1 aaa@aaaa.co.jp 2014/1/1 2 bbb@aaaa.co.jp 2013/1/2 3 aaa@aaaa.co.jp 2014/1/10 4 aaa@aaaa.co.jp 2014/10/10 A列にアドレス、B列に日付が入っているデータがあります。 (他にC列などにも顧客情報が入っています。) アドレスの重複データを抽出し、最新の日付の行が残るようにしたいです。 この場合ですと2と4が残るようにしたいです。 膨大なデータの為、困っています。 良い方法をご存知の方、よろしくお願い致します。

  • エクセル データ作成

    エクセルの資料に関して A列   B列   C列  D列 Aさん  項目1 項目2 項目3 Bさん   Cさん Dさん Eさん ・・・ 仕事の割り振り表を作りたいです。 A列にはメンバーデータ(100人) A列のメンバーをB列C列D列の項目に ランダムで4人ずつ割り振りたいと思います。 それぞれ重複しないように全員を 割り振れる表を作成するにはどうしたらよいでしょうか? 説明がうまくできてないですがよろしくお願いします。

  • Excelで2つのファイルから完全一致のIDを抽出

    Excelで2つのファイルから完全一致のIDを抽出したいです。 エクセルについて質問です。 バージョンは「2010」です。 2つのエクセルデータ「Aファイル」・「Bファイル」があります。 AファイルとBファイルには顧客データがあり、 Bファイルは「A列…会社名」「B列…担当者名」「C列…取引先ID」「D列…取引先担当者ID」という内容です。(会社名が同じで担当者が2・3人いる場合もあります。) Aファイルの方は新規の顧客とBファイルの顧客と重複してあります。 それで、Aファイルの方に、Bファイルの方から「会社名と担当者名が一致」している取引先IDと取引先担当者IDを入力していきたいんですが、簡単にできる方法があったら教えてください。 (AファイルにはIDの列を2つ新規で作ります。)

専門家に質問してみよう