• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで複数のシートからのデータ抽出)

エクセルで複数のシートからのデータ抽出

bunjiiの回答

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>複数シートのCOUNTIFとVLOOKUPで出来そうな気がしたのですが思うようにいかず。 VLOOKUP関数で抽出するのは無理なのでINDEX関数とLARGE関数、COUNTIF関数の他幾つかの関数を組み合わせれば可能です。 Excel-2010で検証してみましたが(検索シート)のA列にあるNo.が提示の画像に符合できませんので他の項目のみでしたら下記の数式で対応できました。 Sheet3!B5セルへ数式を入力して右と下へオートフィルコピーしました。 =IFERROR(INDEX(Sheet1!$B$3:$E$22,LARGE(INDEX((FIND($B$2,Sheet1!$B$3:$B$22&$B$2)<LEN(Sheet1!$B$3:$B$22))*Sheet1!$A$3:$A$22,0),COUNTIF(Sheet1!$B$3:$B$22,$B$2&"*")-ROWS($5:5)+1),COLUMNS($B:B)),IFERROR(INDEX(Sheet2!$B$3:$E$22,LARGE(INDEX((FIND($B$2,Sheet2!$B$3:$B$22&$B$2)<LEN(Sheet2!$B$3:$B$22))*Sheet2!$A$3:$A$22,0),COUNTIF(Sheet2!$B$3:$B$22,$B$2&"*")-ROWS($5:5)+COUNTIF(Sheet1!$B$3:$B$22,$B$2&"*")+1),COLUMNS($B:B)),"")) Sheet3!のA列の条件を明示して頂ければ数式の修正を試してみます。

akira0723
質問者

お礼

早々のご回答、それも大作をありがとうございます。 但し、当方のスキルとこれまでの実績?からこれを当方が動くように出来るまでには相当の時間が掛かる事は自信があります。 残念ですが如何ともしがたい現実とご提案の関数は諦めます。

akira0723
質問者

補足

当初はもっと簡単に関数で出来ると思ったのですが。 最初に考えたのは、両方のシートのA列に通し番号(No)を振って氏名の一部を、 「No&*氏名*」でVLOOKUPで引っ張ればできるのでは? と思ったのですが、式が長くなってしまって(それでもご回答の半分以下程度)何度も最初からやり直したのですがうまく行かず。 連番だと2枚のシートにまたがるので、シート①とシート②でCOUNTIFで*氏名*の個数を連番にすれば出来る?とかトカ・・・ 結局長い式には頭が付いて行かず断念した次第です。

関連するQ&A

  • EXCELで2つのシートから一致しない情報だけ抽出

    こんにちわ。 例えばシートAに1000名分の出荷リスト名簿が有って、シートBに出荷済み名簿が有るとします。 エクセルを使ってシートAの中から未出荷の名前だけリストアップされるようにしたいのですが、何か良い方法はないものでしょうか。 お手数をおかけしますが、ご存知の方がいらっしゃいましたら アドバイスよろしくお願いいたします。

  • EXCELで他のシートのデーターを反映させるには

    office2000のEXCELです。 仮に「シート1」と「シート3」があります、「シート1」にはA列(氏名)B列(年齢)とします、 「シート3」は会員名簿で氏名(C列)と年齢(D列)が書かれています(60件位)。  「シート1」のA列(氏名)をクリックすると「シート3}の名簿が表示されて氏名(c列)をクリックする事により「シート1」のA列(氏名)B列(年齢)が入力できるような仕組みは可能でしょうか。   リスト入力・コンボボックス等チャレンジしてみましたが何れもうまくいきませんでした。 初心者にはむりでしょうか? 宜しくお願いいたします。

  • エクセル リストから抽出

    部署毎に名簿リストがあります。 別シートでは個人名と他の情報があります。これには部署名がないので、 個人名の行に部署名を入れたいのですが、リストから呼び込むことは できますか? 名簿リストは下記のようになっています。 部署1 部署2 部署3 名前a 名前b 名前c 名前d 名前e 名前f 別シート 名前a 他情報 部署名(←ここに自動で入れたい) 名前b 他情報 部署名(←ここに自動で入れたい) 名前a 他情報 部署名(←ここに自動で入れたい) 名前は重複する可能性があります。 マクロは全く経験がありません。 どなたかご教授ください。よろしくお願いします。

  • Access]2つのテーブルを比較してフィールドの一部が一致したデータを抽出

    2つの名簿テーブルを比較してどちらのテーブルにも含まれている個人を抽出したいと考えております。 テーブル名とフィールドは以下のとおりです。 ==================== テーブル名「名簿A」 氏名 電話番号 住所 メールアドレス ==================== テーブル名「名簿B」 姓 名 電話番号 住所 メールアドレス ==================== たとえば、この2つの名簿をメールアドレスで一致したものを抽出する場合は選択クエリのデザインビューで「名簿A」のフィールドを読み込ませ、 メールアドレスフィールドの抽出条件として Like [名簿B].[メールアドレス] を入れれば抽出ができたのですが、メールアドレスは、名簿ごとに記入されていたりしなかったりするので、名前での一致を行いたいと思っています。 ここで問題なのが、名簿Aは「氏名」で入力されているのに対し、名簿Bでは「姓」と「名」が別フィールドになっております。 そこで自分なりにやってみたのが、選択クエリのデザインビューで「氏名」のフィールドの抽出条件として Like (*[名簿B].[姓]*) を設定するものでした。 これがうまくいけば最終的には Like (*[名簿B].[姓]*) And Like (*[名簿B].[名]*) という風にして、名簿Aの「氏名」フィールドに名簿Bの「姓」も「名」も入っているものを抽出できるかな?と考えたのですが、上記のように入力すると、自動的に Like ("*[名簿B].[姓]*") となってしまい、何も抽出されなくなってしまいました。 このような方法では希望する抽出は行えないのでしょうか? お分かりのかた、よろしくお願いいたします。

  • エクセル 複数条件での抽出

    自社名簿(sheet1)と、系列会社の名簿(sheet2) A列:ID番号 B列:氏名 C列:所属グループ D列:支店 共に、同じ表です。  sheet1とsheet2を照らし合わせ、A~Dまでの情報が全て一致する(sheet2に重複してる)該当者のみに  sheet2のE列に★印が反映されるようにしたいのです。 条件が一つですと、沢山の簡易的な関数でわかりやすのですが、 複数の条件での方法が、他の質問者様の回答の説明をみてもしっくりきませんでした。 ご教授宜しくお願いします。

  • Sheetの変則コピー方法

    Sheet1のセルに氏名と個人に関する情報が3つ横に並んでいます。 縦には数百人分の情報があります。 Sheet2にはA4横サイズで1列25名の2列で50名のリストとしたい。 Sheet1のリストは行の途中での挿入や削除が発生しますが、Sheet2にはSheet1で並べられた順序を反映させたリストとするにはどうすれば良いでしょうか。

  • 複数シートの名簿から重複する氏名を探知する方法

    お世話になります。 エクセルの操作方法を教えてください。 ここにとある名簿があるとします。4種類あります。 とりあえず、4種類の名簿をひとつのファイルにまとめます。 (シートは別々とします) さて、この4種類の名簿シートの中で、 4種類すべてに名前が登場する人物がいたら、それを特定したいと思います。 どんな方法を使えばいいでしょうか? 質問を簡単にするために、以下を定義します。 4種類の名簿は全部構成が同じものとします。 また氏名の入力も同じフォーマットであるとします。 具体的にいえばA列に 漢字姓(全角スペース)漢字名 が入っているとしましょう。 漢字姓(全角スペース)漢字名が完全一致するものだけを「一致」とします。 漢字の入力間違いや、全角スペースの入れ忘れによる部分一致は「一致」とはみなさないもの、とします。 作業のためにシートをコピーしたり、作業のために一時作業シートに4つの名簿を全部コピーするのはかまわないとします。 関数だけで実行する方法を教えてください。 よろしくお願いします。

  • Excelで合致するデータの抽出について

    初歩的な質問ですが どうしてもうまく抽出できないので教えて下さい。 Excelでシート1のリストの項目は5列で 社員No.社員名・性別・住所・Telが入力されている 全社員データが200件あります。 またシート2のリスト項目は6列あり 社員No.社員名・支店名・性別・住所・Telが入力されており、 支店名にはすべて東京と入力されているリストが50件ほどあります。 シート2の社員データ50件を、 シート1の全社員リストから 抽出する方法を教えていただけないでしょうか。 抽出場所はどこでもかまいません。 申し訳ありませんが、よろしくお願いします。

  • エクセルで複数の抽出条件から別シートに氏名を記載

    シート名「社員名簿」に個人情報のリフトがあります。別シートに抽出する条件を設定しておくと、名前のみが記載されているという計算式を教えて頂きたいです。 シート名:社員名簿  A 氏名  B 職場 ←製造1課・製造2課・製造3課・製造4課・人事課・総務課・・・ C 役職 ←社長・課長・係長・班長・空白は役職なし D 男女別 男は1 女は2 E 雇用形態 ←正社員1 準社員2 パート3 アルバイト4 派遣社員5 F F以下は抽出条件でない社員情報 G H I 別のシートに抽出条件を設定すると氏名のみが記載されるようにしたいのです。 例えば  A 製造1課の係長 正社員 男 の全て B 製造1課の役職のついていない正社員の男全て C 製造1課のパートの女 エクセル初心者で、上司から今週中に考えなさいと言われるものの相談する方がいなくて・・・ 申し訳ないのですが、教えて頂きたく、お願い申し上げます。

  • VBAを使用した、シートの自動作成とシート名付与

    お世話になります。 VBA初心者です。 この度、1ファイル30~50名の生徒名簿(頭文字毎に計10ファイルあります)を元にして 既存のテンプレートを元に個人シートを作成することになりました。 シート名は対象個人がわかるよう、「生徒番号_個人名」にしたいのです。 自動的にテンプレートをコピーして個人シートを作成したいのですが どのように行えばよろしいでしょうか。 ファイル名:生徒名簿 シート名:名簿 A列…A4:タイトル「生徒番号」 A5より6ケタの生徒番号 E列…E4:タイトル「氏名」 E5より生徒氏名 テンプレートシート名:【テンプレート】生徒No._氏名  ※シート名が「生徒No._氏名」に変更されると、シート内の該当箇所にそれぞれの情報が入るように、   また生徒番号を元に付随する情報を参照関数で拾うようになっています。 お手数ですがお教え頂けると助かります。