• ベストアンサー
  • 困ってます

エクセルで2つの表から「合致する品目」「合致しない品目」を、抜き出す方法は?

とある披露イベントを開催しました。当日来てくれた来場者の名簿があります(あるのは、名前だけです)。 また、それとは別にとある学校のOBリストがあります。 来場者名簿の中から、 学校のOBの人 OBではない人 を抜き出したいのですが、どうしたらいいでしょうか? -- つまり、 ●イベント来場者リスト(名前だけ)リストA ●OBリスト(名前だけ)リストB の、2つのリストがあり、 リストAの中で、Bと合致する項目を抽出 リストAの中で、Bと合致しない項目を抽出 したいということです。 スッキリとしたマクロや関数で、スマートに処理したいと思っていますので、適した方法がありましたらご教示ください。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数8491
  • ありがとう数2

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

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

リストAをシート1、リストBをシート2としてどちらのシートにもA列に名前が載っているとします。 シート1のB1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",IF(COUNTIF(Sheet2!A:A,A1),"合致名前","不合致名前"))

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。バッチリです!

関連するQ&A

  • NEW環境展ってどんなイベントですか?

    NEW環境展というイベントについて質問です。 1)このイベントの来場者って、企業の方々、もしくは農業を営む方等が多いのでしょうか? 2)来場者はどんな企業の方々が多いのでしょうか? 3)環境展って名前を聞いて行ってみたいと思ったんですが、実際は来場者、出展者ともに、どんなことを目的としているのかイマイチよくわかりません。

  • Excelで、大きな表から抽出する方法を教えて…!

    Excel2007の初心者です。 大きなもとの名簿から、行事に参加する会員と必用な項目を自在に 抽出する関数の使い方を教えてください。 ------- Vlookup関数とHlookup関数の基礎は理解して、別々には使えます。 元の大きな表全体を〔表全体〕と範囲指定しています。 添付図は、Vlookup関数で、〔5〕と〔7〕を入れて、武田と大船を抽出しています。 Hlookup関数で〔1〕と〔3〕と〔2〕……と入れて、市町村と氏名と地区名… と順序を変えてランダムに必用な項目と、選んだ会員の該当する項目を抽出したいのです。 --------- マクロを使わないで、Vlookup関数とHlookup関数の両方の機能を 同時に使う方法、または裏技を教えてください。

  • 各テレビ局の夏休みイベント

    夏休みになると、各テレビ局がイベントを開催しますが、 一番来場者数が多いのはどこかご存知の方いらっしゃいますか? 個人的にはフジテレビが圧倒的かと思いますが。 何となく気になったもので。 よろしくお願いいたします。

その他の回答 (4)

  • 回答No.5
  • tom04
  • ベストアンサー率49% (2537/5117)

こんばんは! すでに回答は出ていますので 参考程度で目を通してみてください。 一例です。 ↓の画像の左がBOOK1で右がBOOK2になります。 BOOK1のD列を作業用の列とさせていただいています。 D2セルに =IF(COUNTIF([Book2]Sheet1!A$2:A$1000,A2),1,"") そして、B2・C2セルは配列数式になってしまいますので この画面からコピー&ペーストしただけではエラーになると思います。 貼り付け後、F2キーを押すか、数式バー内で一度クリックします。 編集可能になりますので Shift+Ctrl+Enterキーで確定してください。 数式の前後に{ }マークが入り配列数式になります。 B2セルは =IF(COUNT($D$2:$D$1000)<ROW(A1),"",INDEX($A$2:$A$1000,SMALL(IF($D$2:$D$1000=1,ROW($1:$999)),ROW(A1)))) C2セルは =IF(COUNTA($A$2:$A$1000)-COUNT($D$2:$D$1000)<ROW(A1),"",INDEX($A$2:$A$1000,SMALL(IF($D$2:$D$1000<>1,ROW($1:$999)),ROW(A1)))) として、Shift+Ctrl+Enterキーで確定です。 最後にB2~D2セルを範囲指定し、D2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、数式は1000行目まで対応できるようにしています。 以上、長々と書きましたが、参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

共感・感謝の気持ちを伝えよう!

  • 回答No.4

こんにちは。 VBAによる一例です。 前提として、 A列の2行目以降: イベント来場者リスト(名前だけ) B列の2行目以降: OBリスト(名前だけ) C列の2行目以降: リストAの中で、Bと合致する項目を抽出 D列の2行目以降: リストAの中で、Bと合致しない項目を抽出 Sub test()   Dim myRng1 As Range, myRng2 As Range, c As Range   Dim i As Long, j As Long   Dim myAns As Variant   Set myRng1 = Range("A2", Cells(Rows.Count, "A").End(xlUp))   Set myRng2 = Range("B2", Cells(Rows.Count, "B").End(xlUp))   i = 2:  j = 2   For Each c In myRng1     myAns = Application.Match(c.Value, myRng2, 0)     If IsError(myAns) = False Then       Cells(i, "C").Value = c.Value       i = i + 1     Else       Cells(j, "D").Value = c.Value       j = j + 1     End If   Next c   Set myRng1 = Nothing   Set myRng2 = Nothing End Sub

共感・感謝の気持ちを伝えよう!

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

イベント来場者リストがA2セルからA100セルの範囲内に入力されているなら、以下の式でOBリストに含まれているイベント来場者を抽出することができます。 =INDEX(A:A,SMALL(INDEX(ISNA(MATCH($A$2:$A$100,OBリスト範囲,0))*1000+ROW($A$2:$A$100),),ROW(A1)))&"" 同様にOBリストに含まれていない人は上記の数式の「ISNA」の部分を「ISNUMBER」に置換した数式になります

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • mhassy
  • ベストアンサー率43% (16/37)

ご質問の「表題」は、合致する品目についてとご記入されていますが、ご質問の説明には品目に関する記述が見当たりません・・・ 仮に、品目での一致チェック方法であれば、重複した品の「名称」を考慮する必要が少ないと考えられるため、質問に詳細を記入してさえいれば、スマートな方法の紹介が出来そうだとも思えます。 実際のご質問の文章は「品目」とは無関係な「名前」の一致について記述されています。 名前の場合、姓名なのか? 姓だけなのか? 姓名の間にスペースがあるのか? など、「比較するデータそれぞれ」が正規化されているのかどうかによって、ご希望の「スマートな比較」手段に違いが出ることをご存知ないご様子です。 「山田太郎」と「山田 太郎」は、そのままの比較では「同じ」と認識できません。 正規化を行い、同じ条件で項目を比較できるように編集することが求められます。 また、特にOBリストであれば「同姓同名」が存在することも考慮すべき点です。 比較する片割れの状態についての説明が見当たりません。 OBリスト内の重複の扱いについて、どこにも記述が見当たりません。 表題にある品目の比較ではなく、名前(=曖昧)の比較手段についてのご質問ですが、比較すべきA・Bのリストの「状態説明」が欠如しているように感じます。 「スッキリ」とか「「スマート」などの注文をするわりに、必須な「前提条件・状態」のご説明も無く、しかも表題と異なるご質問内容です。 ご質問をきちんと整理することをお勧めしたいと考えます。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • エクセルで漢字がうまく並び替えソートができません。

    それぞれ別のシートにあった来場者一覧500名程度を青色と顧客名簿1000名程度赤色を一緒の列にし、会社名の株式会社や(株)などを削除し並び替えをし、青赤並んだところをチェックし顧客がどれだけ来場したか見たいのですが、アルファベットやカタカナはうまく並び替えでき、なぜか顧客名簿の漢字が後ろに溜まって赤色のリストが後ろに続きます。しかし青色と赤色にした。”浦和”から始まる文字など は本来上下に並んで良いはずですが、片方ははるかに上の方もう片方ははるかに下に並びます。シートはすべて文字列で文字のフォントやサイズも合わせていますがなぜうまく並びかわらないのでしょうか?教えてください。もちろん”浦和”以外の漢字も多数うまく並びかわっていません。

  • エクセルで入力途中でも抽出できますか

    シート1に名簿(A:氏名、B:ふりがな、C:性別、…)を入力しておき、シート2でふりがなを入力すると、該当する行が抽出できるようにしたいのですが…。 たとえば… シート1で「日本太郎(にほんたろう)」という人が入力されている名簿があるとして、シート2で検索する際、「に」の段階でふりがなの頭に「に」がついている人が表示(リストボックスのように)され、その中ですぐに発見できれば該当項目をマウス等で選択して抽出。数が多く、すぐに発見できないようであれば、続けて「ほ」と入力(表示上は「にほ」)して、同じように頭に「にほ」がついている人を表示(リストボックスのように)、その中ですぐに発見できれば該当項目をマウス等で選択し抽出。といったように、どんどん該当するものを絞っていき、抽出する方法です。中には、同じ名前の方もいるので、最後まで入力した後、氏名の漢字等で選択するようになりますが、こんなことはできますか。 ちなみにエクセルは2002です。わかりにくい説明で申し訳ありませんが、よろしくお願いいたします。

  • Execlで同時アクセスとUI

    イベントで来場者のチェックを行いたいのですが、以下のようなシチュエーションはExeclで可能でしょうか? ・受付は3カ所、それぞれPCを置く ・来場者は500名前後の招待者のみ ・予め招待状にIDを振っておきその番号を受付で入力すると該当者がリストアップしボタンなどを押すとリストに来場日時が自動的にマークされる。 ・受付PCはフォームやボタンなど極力キーボードを使わないインターフェイスを実装 受付ブースでLANを組み、いずれかのPCに入っているExeclを共有して処理できればと考えてるのですが、こうした動作をマクロ(VBA?)などで制作する事は可能でしょうか? また同時アクセスした場合、それぞれの結果(来場マーク)はきちっと保存されるのでしょうか?

  • エクセルでできますか?できるならその方法もお願い致します。

    エクセルで作成したいのですが、どうやっていいものか悩んでおります。ご指導お願い致します。 例)地区の住所録(複数シート)を作成してあります。 役員の緊急連絡網を作成したいのです。 緊急連絡網シートの指定のセル(2、3人分)に氏名を入力すると、 住所録から一致する名前の地区名簿を抽出し、その名簿 からランダムにふりわける。 マクロも組み合わせないとできないでしょうか。 どうぞよろしくお願い致します。

  • 二つのエクセル名簿を比較し、抽出したい

    エクセルでできた名簿が2つあります。 どちらも 列EがID、 列Fが氏名 列Gがフリガナ という構成は同じです。 両方の名簿で同じ人は、同じIDです。 ただ、上記記載以外の列、備考や更新日などは同じ人でも異なったデータが入っています。 二つの名簿ファイルを借りに名簿A、名簿Bとすると 名簿Aにのみ掲載されてる人のレコードのみ抽出したいのです。 両方の名簿から、ABともに掲載されてる人、Bのみに掲載されてる人を除き、Aのみに掲載されてる人だけのリストを作りたい。 理想は、名簿Aのリストはそのままにして、 まったく別の列(例えば列Z)に抽出した人だけ 1を入力するなどが理想です。 1行ずつ目で見て比較していくのは、時間のむだでとてもできません。

  • Excelで2つのシートからの振り分けをしたいのですが

    シート1とシート2それぞれに氏名のリストがあります。 これらの氏名は一部重複しています。 Excelで、以下のように分けて名前を抽出したいのですが どうしたらよいでしょうか。 シート3に シート1とシート2の両方に氏名が載っている人のリストを出す。 シート4に シート2に氏名があってシート1にない人のリストを出す。 つまり、シート3とシート4を足すとシート2になる、という意味ですが。 元のリスト(1と2)を変更しても結果が反映されれば嬉しいのですが、可能でしょうか? Excel2000です。

  • 世界の遊びを探しています!

    実は今国際交流のイベントを開催しようとしています。そこで来場者の方が手軽に参加できる世界の遊びを探しています。どこの国の遊びでもいいのですが条件としては  1:少人数(2,3人)でも大人数でもできるあそびであること 2:20畳くらいの室内でできる遊びであること 3:難しすぎないこと 一応以上の条件を満たしている遊びを知っている方、教えて下さい!!できれば簡単な説明か参考URLをつけていただけるとありがたいですm(__)m宜しくお願いします。

  • Ecxel ボタンを押して日毎にカウントするには?

    VBA超初心者です。 仕事のイベントで、1ヶ月 毎日の入場者数の集計をすることになりました。 EcxelのシートのA列に12/1&#65374;12/31までの日付を入れて、 B列にはその日の入場者数を入力するような表を作り、 横にカウント用のボタンをひとつ付けて、 それを押したらB列の数値が1ずつ加算されるようなものにしたいのですが、 肝心のマクロの中身が作れません。 12/1にボタンを押せば12/1の来場者数欄に1加算され、 12/2に同じボタンを押したら12/2の来場者数欄に1加算されるような、 その日の日付によって入力箇所が変わるようにする方法はありますでしょうか? 不可能な場合は、他に何か良いやり方はないでしょうか。 ご存知の方、教えていただけると大変助かります。 よろしくお願いいたします。

  • イベントであることをやろうと思うのですが........

    ある地方都市にすむ者です。 今度、私の町でイベントがあり、私の会社もこのイベントに企業のPRブースを出店する予定です。 今回のイベントは、3日間通じて行われ、1日あたり一般市民が2~3万人が来場する規模のイベントです。行政、商工会議所がバックアップしていることもあり、テレビや新聞でも大規模にCMを入れ結構地方都市では大きいイベントだと思います。 ここで、私の会社も企業PRブースを出す訳ですが、私の会社では来場者 (弊社のブースに来てくれた人)に、来場プレゼントとしてデジカメで来場者の写真をとり、それをパソコンにとりこんで、世界の有名絵画と合成したものを差し上げる、といった主旨のものを企画にいれています。 たとえば、「モナリザ」の顔の部分を、来場いただいた方の顔に変えて それをシールにしてプレゼントするといったものです。 イメージとしてはプリクラに近いと思いますが、このように大勢の来場者が予想されるイベントで、有名絵画やその他芸術品を何の許可なく使用してもいいものなのでしょうか? また、許可がいる場合はどこで許可をとるべきなのでしょうか? 長々となってしまいましたが、なにとぞ宜しくお願いいたします。

  • エクセルで、現在時間の取得

    お世話になっております。 エクセル(2003)で例えばA1のセルに入力された時間をB1に取得し、しかも、同じ事をA2ならB2、A3ならB3・・・・・・と続けて取得したいのですが、可能でしょうか? 単純にIFとNOW()を組合わせてみましたが、常に再計算されてしまいます。 目的は今度結婚式の受付で来場者の名前を入力して何時何分にいらっしゃったのかを管理するためで、このデータを披露宴のイベントに使用するためです。 よろしくお願いします。