• ベストアンサー

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

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

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

  • ベストアンサー
  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.4

作業列を作ります。 <シート3> 各シートのA列にA1から氏名が入っているとすると、シート2のB1に =IF(COUNTIF(シート1!A:A,A1)=1,ROW(),"") といれ好きなところまで下までコピーします。 シート3のA1に =OFFSET(シート2$A$1,SMALL(シート2!B:B,ROW())-1,0) といれ好きなところまで下にコピーします。 <シート4> シート2のC1に =IF(COUNTIF(シート1!A:A,A1)=0,ROW(),"") といれ好きなところまで下までコピーします。 シート4のA1に =OFFSET(シート2$A$1,SMALL(シート2!C:C,ROW())-1,0) といれ好きなところまで下にコピーします。 それぞれ入力箇所によって違ってくるので詳細な入力場所を教えていただければ幸いです。

kalmit
質問者

お礼

ありがとうございます。 おかげさまでなんとかできました。助かりました。

その他の回答 (4)

  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.5

あとこれだとエラー値が出てきますのでISERROR関数を用いて =IF(ISERROR(SMALL(シート2!B:B,ROW())),"",OFFSET(シート2$A$1,SMALL(シート2!B:B,ROW())-1,0) ) などとしてください。

kalmit
質問者

お礼

重ね重ね、ありがとうございます!!

回答No.3

隙間があいてもよければ、リストがみんなA1からズラッと下に伸びていると仮定して、 Sheet3!A1 : =if(iserror(vlookup(Sheet2!A1, Sheet1!A:A, 1, FALSE)),"", Sheet2!A1) Sheet4!A1 : =if(Sheet3!A1="", Sheet2!A1, "") でできますね。

kalmit
質問者

お礼

ありがとうございます。参考にします

  • Ryokucha
  • ベストアンサー率25% (115/450)
回答No.2

シート3に シート1とシート2の両方に氏名が載っている人のリストを出す。 原始的な方法かも知れませんが、シート1とシート2の内容を全てシート3にコピーして、名前で並び替えをして、さらに名前をキーにして集計をかけて個数を数えます。 集計がされたらオートフィルタで個数が2個以上を選び出せば重複している人はわかります。 シート4に シート2に氏名があってシート1にない人のリストを出す。 シート1を名前で並び替えて、シート2の名前をキーにvlookupでfalseを付けてシート1に対して照会をかけたらどうでしょう?名前が無い人の欄には#N/Aが表示されます。 残念ながら、どちらも基のシートに追加した場合は作業が必要です。

kalmit
質問者

お礼

ありがとうございます。参考にします

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.1

こんにちは。 できると思いますが、Excelでやるとしんどいですよ。 Accessじゃだめですか?

kalmit
質問者

お礼

ありがとうございます。Accessでやると簡単なんですが、どうしてもExcelで処理しなければいけないので。。。

関連するQ&A

  • 複数シートのデータを別シートに結合させたい

    複数シートのデータを別シートに結合させたい Excelの2つのシートに以下のようなデータがあります。 シート1       シート2 名前  金額1     名前   金額2 aaaa  100      aaaa  100 bbbb  100      cccc  200 これをシート3に新たに以下のように作りたいんです。 名前  金額1  金額2 aaaa  100   100 bbbb  100 cccc       200 シート1と2の名前は重複しているものもあり、 名前を基準にして重複しているものは、両方データを 重複してないものは、それぞれのデータのみをひろいたんですが、 件数が多いため、どのようにするのが一番効率よくできるのか わからないんです。 Accessへシートをインポートとして、クエリでなんとか できないものかと考えたのですが、いまいちうまくできません・・・。 元がExcelのデータなので、Excelの関数などを使って出来る方法が あればいいんですが、ExcelかAccessで効率よく出来る方法を 教えていただけないでしょうか? よろしくお願いします!

  • EXCELにて3つの条件を違うシートに抽出したいです。

    エクセルで元データ(sheet1)を3つの条件にあったデータを別シート(sheet2)に抽出し、 なおかつ抽出したデータを元データ(sheet1)から消去する方法はありますか? できれば関数でお願いします。 ☆シート1☆※元データ   A B C D 1 氏名 出身 作業 時間 2 鈴木 愛知 1 1.0 3 渡辺 静岡 2 1.5 4 鈴木 愛知 2 2.0 5 松坂 岐阜 3 0.5 6 鈴木 愛知 3 1.0 7 鈴木 愛知 4 1.5 8 森田 三重 2 0.5 ☆シート2☆ A B C D 1 氏名 出身 作業 時間 2 鈴木 愛知 1 1.0 3 鈴木 愛知 2 2.0 4 鈴木 愛知 3 1.0 5 鈴木 愛知 4 1.5 補足 ・シート2の条件として『氏名』と『出身』が同じでなおかつ『作業』の1,2,3,4がある人のみ。 このとき、『作業』が4がある人のみ抽出したいです。 ・抽出したときにシート1に抽出したデータ(例では鈴木)が消えるようにしたいです。 説明が不十分で伝わりにくいとは思いますが、 よろしくお願いします。

  • エクセルのシート名を入力すると

    こんにちは、お世話になっております エクセルでシートに名前をつけたときに、それをそのシートの中に反映をさせたいです  例sheet1の名前を変更したらそのシートのA1に名前が反映される   または、sheet1のa1に入力した文字がそのシートの名前に反映される こんなことが可能かどうかを含めて教えてください

  • 【エクセル】異なったシートの重複データに印をつける

    お世話になります。 エクセル初心者のため、説明不足等ありましたら申し訳ございませんが、宜しくお願い致します。 シート1: 列Bに3,000件の氏名(氏名はセルB2から入力されています) シート2: 列Bに2,000件の氏名(氏名はセルB2から入力されています) シート1とシート2に共通して存在する氏名を抽出したいと思っています。 シート1の列Aのセルに、重複している社員氏名があれば、数字の1を入れたいのですが、その場合はどのような式を作ればよいのでしょうか。 お忙しいところお手数お掛けいたしますが宜しくお願い致します。

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

    初めてのご質問です。2つの名簿をエクセルにシート別にまとめてありますが、氏名が重複しているものを別シートに抽出したいと思います。フィルタオプションでトライしたのですが、1つだけのセルに重複していない氏名が記載されたり・・と苦戦しております。何か良い方法があれば、非常に助かります・・。

  • エクセルでシートの違う

    1のシートと2のシートで例えば氏名が入力されてて両方のシートにもある氏名を選択できる関数を教えてください。1には存在するが2には存在しないとか、両方のシートにある人を選出したいのです。よろしくお願いします。

  • エクセルの参照シートを一括で置き換える方法について

    エクセルの操作についてお力を貸して下さい。 月ごとの計算結果がデータ抽出によって算出された元データ(5月分元データ)が有り、 元データを別シート(5月分実績表)にシートの参照で数値が反映されるように1つずつのセルに 埋め込んでいます。 毎月続く作業で実績表フォームは一緒なので翌月は元データ(6月分元データ)のシートから 別シート(6月分実績表)として反映させたいのですが5月と同様にシートの参照で数値を反映させたいのですがこれを一括で反映させる方法を教えていただきたいのです。 検索の置き換えでうまく反映できなかったのでどういうふうに指定すれば良いのでしょうか。 お手数をおかけしますが宜しくお願いします。

  • EXCEL データの各シートへの振り分け

    エクセルの1枚目のシートをデータシートとして、各行に入力していきます。 各行の第1列の数字や言葉に基づいて、2枚目以降のシートに順にコピーさせる方法があるでしょうか 具体的には1枚目のシートはデータシートとして 部門 氏名 住所  人事 田村 東京 総務 太田 京都 人事 山田 大阪 2枚目のシートの名前は「人事」3枚目は「総務」で各シートに行ごとコピーさせたいのです マクロはよくわからないのと最初に開くときに面倒なので、なるべく関数で処理する方法を教えてください。

  • エクセルのsheet1をsheet2に反映したい

    エクセルのsheet1に入力した内容を、sheet2の所定の様式(セル)に入るようにするやり方を教えてください。 例えば、sheet1に住所・氏名を入れることによって、sheet2の方にその住所・氏名が決められたセルに入るようにすることなどです。 sheet1は「入力」専用に使い、sheet2はそれが反映されるようにするやり方で、よく「宛名ラベル」などを作るときに使われると思います。 このやり方を知れば、何か他の資料を作る際にも応用できると思いますので、是非知りたいと思います。 当方、還暦を過ぎたオッサンなので、やり方の手順などは分かりやすくお教えいただくよう、宜しくお願いいたします。 なお、OSは、「XP」です。

  • エクセルの使い方

    質問です。 エクセル内に18枚シートがあります。 1枚目のシートの一部を変更すると全部のシートに変更が反映されるようにするにはどうしたら よろしいですか? 1シートずつやるのが大変なのでご指導お願いします。

専門家に質問してみよう