• ベストアンサー

別のブック間で重複しないデータのみの抽出方法

エクセルの、 ブックAに2020年の会員データ、 ブックBに2021年の会員データが それぞれ700人~800人分入力されています。 会員データは住所、氏名、生年月日、 電話番号等のデータが入力さています。 データは 1,2020年のみデータがある人 2、2020年と2021年どちらもデータがある人 3,2021年のみデータがある人 の3種類あるのですが、1,3のデータのみを 氏名で検索して別シートに抽出したいです。 いろいろ調べたのですが、該当するやり方が 見つからずこちらに質問させて頂きました。 どなかた分かる方教えて頂けませんで しょうか。よろしくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.1

両方のブックを開いて ブックAの適当な空いた列にA2から氏名が入っているとして =COUNTIF([ブックB]Sheet1!$A$2:$A$1000,A2) と入れて下に必要なだけコピーします。 フィルターで結果が0の行だけ表示して表示されたデータをコピーして別シートに貼り付けます。 同様にブックBでも =COUNTIF([ブックA]Sheet1!$A$2:$A$1000,A2) として同じ操作をしてみてください。 ブック名やシート名、セル位置は実際のものに合わせてください。 範囲は絶対参照($付)にしてください。

PVA
質問者

お礼

ご回答ありがとうございます。kkkkkmさんの方法で出来ました!!VBAは出来ないので私にはこのやり方が一番シンプルでわかりやすかったです。同姓同名等の場合のやり方まで教えて頂きありがとうございます。とても助かりました、ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.4

No.3の方が同姓同名を心配していますが たとえば、氏名と電話番号などを連結し、他人と重複しないデータを同じ行の適当なセルに作成してそこで判定すれば問題はないと思います。 氏名の間や文字の前後にスペース(全角半角)があったりなかったりした場合の事を考えると 連結したいデータを作成したいセルに(A2が氏名B2が電話番号とした場合) =SUBSTITUTE(SUBSTITUTE(A2&B2," ","")," ","") として必要なだけ下にコピーして No.1の式の範囲や対象を作成したセルに変更してみてください。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

エクセル関数で、ということだろうね。 まあ2ブック間(対比)が限度だろうが。 ーー 下記は既出の#1のご回答の方式のことです。 他!ブックのセル(セル範囲)を参照する関数式の書き方をWEBででも勉強せよ。 そしてBブックの注目の1列の各セル1つについて、Aブックの同種データの列全体に対し、COUNTIFをかけて、関数結果が1より大なら(IF関数で)、同じデータがどこかにあるということなので、サイン記号や文字列でも設定する。 その式の複写を約800行にわたって行う。 その時、探す対象のセル範囲指定には$を付けて、式の複写で変化しないようにする。 ーー 逆に、Bブックの1列の各セル1つについて、Aブックの同種データの列全体に対し、COUNTIFをかけてやってみる。 === こういうレベルのものは、既製ソフトが売られるわけでもなく、自作せざるを得ないようだが、VBAで「マッチングのアルゴリズム」を使ってやるのがよいと思う。A,Bを、会員番号があればそれで2ブックをソートして、マッチングを行う。 すると、(1)Aにだけあり(2)A,Bにあり(3)Bだけにあり、が1パス(処理)で出せる。 この問題のレベルになると、VBAを使えないと、不便だと言うように思う。 ユニークな会員番号がないと、同姓同名などの問題が出て、ぴしゃりとした結果が出ない。 関数でやる場合も、名前でやると同じ問題が起こる。 そういうことを、質問に断ってないということは、こういう問題をやる以前のレベルだということだと思う。エクセルを使って、処理を始めるのはよいが、先の利用法を見通して、データベース的なことも考えて使わないといけない。

PVA
質問者

お礼

同姓同名という問題もありますね、気付かせて頂きありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.2

No.1ちょっと修正 ブックAの適当な空いた列にA2から氏名が入っているとして ↓ ブックAの適当な空いた列の(A2から氏名が入っているとして)2行目に

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

  • エクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成し

    エクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成したいのです。 シート毎に個人情報を入力してますが、同時に別ブックにて氏名、住所、連絡先のみを一覧にしたいです。 個人情報のシートは ブック名「顧客情報詳細」の氏名欄がA6をブック「一覧表」のA1に。 住所はJ6→B1  連絡先J8→C3  といった具合です。 教えていただけないでしょうか?  宜しくお願い致します。

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

    エクセルを使って重複データをチェックしようと思っていCOUNTIFで試したのですがうまくいきません・・・ご存知の方教えてください。m(__)m   A     B       C         D       E     F   店番  顧客番号  氏名(カナ)   電話番号   住所1   住所2 という表の電話番号が重複する先を抽出したいのです。データ件数は約3000件ほどあります。できれば重複したデータは別のシートに店番順に表示をしたいのですが関数でできるのでしょうか?

  • SQL 重複データの抽出

    こんにちは SQLで教えてください 今 会員番号ごとの重複データがあります 例  会員番号 日付    金額 住所 その他1 その他2     1 2001/01/01  120 XXXX YYYYY  UUUUUU     1 2001/12/01  130 XXX YYYYY IIIII ⇒ 2 2001/08/12 50 pppp iiiii ooooo 3 2003/01/06 60 iiiii iiii uuuuu ⇒ 3 2002/03/18 10 22222 eeeee nnnnn 3 2001/08/19 500 ddddd rrrrr rrrrr 上記の様なデータで会員番号ごとで日付の最大のレコード(同一日なら入力順に最初)のレコードを抽出したいのですが distinctを使うと会員番号と日付のデータしか抽出されませんので その他の項目も抽出したいのですが... SQLでできなければ VB2005でもいいのですが?....   どうかよろしくお願いします。

  • エクセルでデータ抽出し、別のファイルを作成したいのですがVBAを勉強し

    エクセルでデータ抽出し、別のファイルを作成したいのですがVBAを勉強しないと出来ませんか? 例えば、エクセルで作成した顧客名簿には氏名、年齢、生年月日、住所、電話番号が入力されており、そこから1960-1980年生まれで住所が大阪府の人をセレクトし、別のエクセルデータに出力するとしたらどうすればいいのでしょう? 昔にCOBOLをかじったことがあり、頭の中ではすごく簡単な作業に思えるのですが・・・ よろしくご教授願います

  • VBA 別BOOKへのデータ転記について

    VBA初心者です。 以下のことがしたいのですが、 コードをご教示いただきたくお願いいたします。 BOOKが5つあります。 BOOK1:抽出用(Sheet2に日々の受注データを入れています)        BOOK2:転記100用 BOOK3:転記200用 BOOK4:転記300_400_500用 BOOK5:工事番号用 BOOK1:抽出用はA列からQ列まで工事番号ごとに2行目から受注データが入っています。 抽出用のsheet2のA列に「1」と入力することで転記したいデータだというフラグにし、 抽出用O列のコード100,200,300,400,500(工事の種類のようなものです)を見て、 該当のBOOK2から4にその工事番号が転記がされているか? (されていれば登録済みのメッセージ表示) 転記がされていなければ新規に登録、 新規登録の際に、抽出用Sheet2のD列の工事番号、I列の件名、K列の数量を表示して、 このデータを新規登録しますか?のようなメッセージを出し、Yesなら新規登録。 さらに、新規に登録した際にはその工事番号を名前とするBOOK5を新規作成、 BOOK5にも抽出用の受注内容を転記。 BOOK2から4に転記された工事番号をクリックすると その工事番号のBOOK5にジャンプするようにしたいのです。 抽出用A2とA4に「1」と入力された場合(O列は共に200) BOOK1抽出用データの転記したいセル番地  →  BOOK3転記200用のセル番地 A2のデータ D2 → A7 K2 → A8 C2 → A9 H2 → A10 I2 → A11 F2 → D7 L2 → D8 M2 → D9 J2 → D10 C2 → I5 Q2 → J5 A4のデータ D4 → A12 K4 → A13 C4 → A14 H4 → A15 I4 → A16 F4 → D12 L4 → D13 M4 → D14 J4 → D15 C4 → I10 Q4 → J10 BOOK2から4は1つの工事番号を5行使用して表わしています。 ですので、1つの工事番号が7から11の行、 2つ目の工事番号が12から16行目となり、それぞれ100件分の工事番号を入れられるように 作成してあります。 またBOOK5については、(A2のデータの場合)以下のように転記し、ファイル名を抽出用D2の工事番号にしたいです。 A2のデータ D2 → A3 K2 → A4 C2 → A5 H2 → A6 I2 → A7 F2 → F3 L2 → E4 M2 → E5 J2 → E6 大変長くなってしまいましたが、以上のようなことをしたいと考えておりますが、 当方、VBA初心者でして参考書とネットを駆使して抽出用のVBA(CSVデータをコピーして加工する)ことにすら大苦戦しております。 なんとかお力を貸していただけないでしょうか? ご教示よろしくお願いいたします。

  • データの抽出方法

    お世話になっております。 以下のような場合で、いっぺんに抽出できる良い方法があれば教えて頂きたく、よろしくお願いいたします。 会社が運営するWebサイトの会員データ (エクセルで、レコード数は1万弱)の集計。 プレゼントキャンペーンに応募して頂いた会員の個人データで、 各自、個人情報以外に4桁の抽選番号が登録してあります。 プレゼントの当選番号に該当する全ての会員データを抽出したいのですが、 一つの抽選番号に対して何名も該当者がいるため、VLOOKUPが使えず、 当選番号も数十通り程あるので、オートフィルタも時間がかかってしまいます。。。。 宜しくお願いします。

  • エクセルで、抽出したいデータがあります!!

    エクセルで、抽出したいデータがあります!! 個人で年1回、支給額も支給年月も異なるデータを抽出したいのですが。   支給年月日  H22.4.20  H22.5.15  H22.6.30・・・・ 番号 氏名     4月     5月     6月  ・・・・計 1   A     1000                  1000 2   B                   1500    1500 3   C            1200           1200 上記のような表があり、個人の支給額と支給年月日を抽出するのに、 いちいち上から一つずつ探して以下のような表に記入しています。 番号 氏名  支給額  支給年月日 1   A   1000   H22.4.20 2   B   1500   H22.6.30 3   C   1200   H22.5.15 個人の支給額と支給年月日を簡単に抽出する方法はないでしょうか? よろしくお願いいたします。

  • ブック間を跨いでのエクセルデータの抽出

    よろしくお願い致します。 妙案があれば、教えて頂きたいです。 ブック1・2それぞれ、A列に複数行のデータがあります。 ----------------- 【ブック1(重複データ無し)】   ABCDEFGH・・・ 【ブック2(重複データ有り)】 ABBCDEFGHH・・・ ----------------- ブック2のデータから、ブック1にあるデータだけ、 新しいシート(ブック3等)に抽出したいと思っています。 現在は、ブック1のデータを一つずつブック2でフィルタをかけ、 フィルタ結果をカット→ブック3にペーストして抽出しています。 データ量が膨大なため、最適な方法があれば教えて頂きたいです。 よろしくお願い致します。

  • データベースとデータの抽出について

    データベースとデータの抽出について エクセル2003で以下のような、表を作っています。 データは現在、A列に10000万件程度入っています。 4列目の購入日付データの年、月、日がそれぞれのセル(D2、E2、F2) に分割入力されています。 このデータベースから、氏名と購入日付を基準キー にして、顧客NOと購入日付(1つのセルに結合)、 購入商品を抽出し、シート2に転記していきたいです。 抽出方法は、シート2に以下のような形で検索  表示したいです。 (シート2) 氏名(B1に表示)→C1に入力 抽出開始年月日(D1に表示)→年はE1、月はG1、日はI1に入力  抽出終了年月日(D2に表示)→年はE2、月はG2、日はI2に入力 検索後、表示される顧客NOと購入日付、購入商品は 同じシート2の以下のセルに表示したいです。 顧客NO(L1に表示)→L2から下に表示 購入日付(M1に表示)→M2から下に表示 購入商品(N1に表示)→N2から下に表示 したいです。 日付が分割入力されているため、抽出がうまくできません。 氏名、または名字だけでうまく検索できるコードはあるでしょうか。 どうぞよろしくお願いします。

このQ&Aのポイント
  • M.2のSSDを増設ボードに載せてPCケースのLEDを点灯させる方法について相談を受けました。
  • 変換ボードにはLEDのピンがあるため、マザーボードと増設ボードから出ている線を混合することは可能ですが、半田ごての経験のない方でも対応可能な方法があるか検討しています。
  • 解決策としては、マザーボードと増設ボードのLED線を直接つなぐのではなく、マザーボードからのLED線を増設ボードにつなげることでLEDの点灯を実現できます。
回答を見る

専門家に質問してみよう