エクセルで条件を満たすデータを検索して表示する方法

このQ&Aのポイント
  • エクセルで特定の条件を満たすデータを検索し、対応するデータをすべて表示させる方法を教えてください。
  • エクセルのシフト表で、特定の条件に該当する職員の名前を一覧で表示させたいです。LOOKUP関数を使った場合、一番最初に該当する名前しか表示されないため、すべての対応者の名前を表示する方法を教えてください。
  • エクセルで特定の条件に該当するデータを検索し、すべての対応データを表示させる方法を教えてください。LOOKUP関数を使用しても一番最初の該当データしか表示されないため、解決策を教えてください。
回答を見る
  • ベストアンサー

エクセルで、ある条件で検索し、対応するデーターをすべて表示させる方法を教えてください。

こんばんは。大変お世話になっています。 エクセルでシフト表を作っています。 職員は100名ほど、勤務時間の種類は8種類ほどあります。 A列に名前が並び、B列の2行目から日付が並んでいます。       1日  2日  3日  4日  ・・・ 佐々木   A   休   C    A 佐藤    休   D   D    B 鈴木    B   B   A    休 田中    休   D   D    D 別のシートに、その日の勤務職員をシフト別にそれぞれ表示させた一覧表を作りたいのです。 =LOOKUP(F3,B2:B5,A2:A5)  (F3=シフトコードが入っている) とLOOKUP関数で入れてみたのですが、一番最初の反応する名前が表示されるだけで、すべての対応者の名前は出ませんでした。 どうすればできるでしょうか? 教えてください。 よろしくお願いします。

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

  • ベストアンサー
回答No.1

現在の表を「職員別日別」とすると >その日の勤務職員をシフト別にそれぞれ表示させた一覧表 ・職員別シフト別の表にして、対応する位置に職員名を表示 ・シフト別に対象者のみを隙間なく表示 どちらでしょう? A列で職員名、B列で当日のシフトを参照すれば (today,day,index,row)、前者だと簡単にできますよね(if) 後者だと、いったん前者のような表をつくって (if のかわりに、countif でインデックスを作る) この表を元に一覧化(match,index,iserror...)、、かな (VBAでの質問に変えた方が回答つきやすいかも)

orennji1111
質問者

お礼

ご回答ありがとうございます。 VBAでの質問として、もう1つ、新しく質問してみました。 引き続き、よろしくお願いします。

関連するQ&A

  • エクセル VBAで、条件に当てはまるものをすべて表示させる方法を教えてください。

    こんばんは。大変お世話になっています。 エクセルでシフト表を作っています。 職員は100名ほど、勤務時間の種類は8種類ほどあります。 A列に名前が並び、B列の2行目から日付が並んでいます。       1日  2日  3日  4日  ・・・ 佐々木   A   休   C    A 佐藤    休   D   D    B 鈴木    B   B   A    休 田中    休   D   D    D 別のシートに、その日の勤務職員をシフト別にそれぞれ表示させた一覧表を作りたいのです。 =LOOKUP(F3,B2:B5,A2:A5)  (F3=シフトコードが入っている) とLOOKUP関数で入れてみたのですが、一番最初の反応する名前が表示されるだけで、すべての対応者の名前は出ませんでした。 どうすればできるでしょうか? 関数ではダメだとするとVBAでしょうか? 教えてください。 よろしくお願いします。

  • Excel 重複値を検索し全て表示させる関数

    Sheet1の1行目には見出しがあり、A列とB列の2行目から下にデータが入っています。(約200行) A列     B列 田中    13 山本     8 谷口    11 鈴木    6 田中    10 佐々木    9 奥村     15 佐々木   15 佐々木   20 ・ ・ ・ Sheet2のA列1行目から下には別のデータが入っています。(約600行) A列 太田川 山村 田中 多賀先 鈴木 奥村 幸田 ・ ・ ・ Sheet2のA列のデータと完全一致するデータ(名前)をSheet1のA列から探して、同じ名前があれば、その隣のB列にある数値をSheet2のB列に貼り付ける(B列が重複の場合、下に張り付ける。但し、A列の名前は1行目は表示、2行目からは表示、空欄でも構いません)。 見つからない場合はSheet2のB列は空欄のままです。 Sheet2 A列      B列 太田川      山村 田中    13        10 多賀先 鈴木     6 奥村    15 佐々木   9       15       20 幸田 ・ ・ ・ 何卒、ご指導の程宜しくお願い致します。

  • 【Excel】該当データ表示方法について

    Excelの表で、(A)列にデータ名、(B)列にデータ値が入力されているとして、 1.(C)列に(B)列のデータ値の種類を昇順で表示、 2.(D)列に(C)列のデータ値を持つ(A)列の文字を表示、 3.(E)列に(D)列のデータ種類の数を表示 という3つの内容を実現したいのですが、(1つでも) ご存知の方、教えて下さい。よろしくお願いしますm(__)m 【イメージ】   | (A) (B) (C)  (D)   (E) ――――――――――――――――――― (1)| A 10 10 A、D、E   3 (2)| B 20 20 B、G    2 (3)| C 30 30 C、F    2 (4)| D 10 (5)| E 10 (6)| F 30 (7)| G 20

  • エクセルにおいて、検索した個数表示について

    表を作るのに困っていますので、よろしくお願いします。 例えば、 A列A1~A20までのセルに、1~3までの数字がランダムに入っています。 BとDとF列のセルに、あ~おまでの文字が、ランダムに入っています。 A列の数字が1のとき、その行のB、D、Fに、「あ」が何個、「い」が何個、「う」が何個・・・・。 A列の数字が2のとき、その行のB、D、Fに、「あ」が何個、「い」が何個、「う」が何個・・・・。 A列の数字が3のとき、その行のB、D、Fに、「あ」が何個、「い」が何個、「う」が何個・・・・。 という表を作りたいのですが、どうしたら良いでしょうか。 よろしくお願いします。

  • エクセル 表において、2項目で検索、表示させたい 

    lookup matchを組み合わせればいいのでしょうか・・・   A  B  C D  1  10 20 30 2 51 100 400 700 3 52 200 500 800 4 53 300 600 900 という表(A1~D4)があり、今、入力項目X,Yがあるとします。 XにはB1~D1の値(10~30)を、YにはXの列の数字(Xが20なら、Yは 400~600)が入ります。で、X、Yを入力したときにAの列で対応する数字を表示させたいのです。たとえば、X20 Y500 と入力すると、52と表示させたいのです。よろしくお願いいたします。

  • excelでデータ検索

    excelでのデータ検索をする関数について教えてください。 例えば下のような4列の表があるとします。   A B  C D  東京 1 社長 あ  東京 1 部長 い  大阪 1 課長 う  大阪 2 部長 え A~C列の値をキーにして、D列の値を見つけたいのですが (例えば(東京,1,部長)なら「い」という風に。) 何か使える関数はあるのでしょうか。 lookup関数とかだと、1列の値しか対象にできないので..。 よろしくお願いします。

  • エクセル:複数の検索結果を表示するには?

    エクセルで下記のようなシフト表から掃除当番表を作っています。    A   B   C    D     E  1 名前      2/1   2/2    2/3 2 山田  1   10    清掃  3 田中  2   清掃   10    清掃 4 木下  2        清掃   清掃 5 中村  1   清掃        有給 ・ ・ B列には各人の清掃回数がCOUNTIFで入力されます。 ここの表以外のセル(シートは別でも同じでも可)に清掃の人の名前だけを 日別に抽出して表示するにはどうしたらよいでしょうか? 一日の清掃当番は二名と決まっています。 基本のシフト表は行、列をいじれないので、表の範囲以外に表示したいです。 似たような例は検索であったのですが、エクセルを始めてまだ間もなく、 理解力不足もあっていまいち応用がきかないので、よろしくお願いします。

  • Excelのデータ検索方法について教えてください。

    Excelで以下の様な表を作成しています。 a列 b列 ---- --------- key1 2011/3/2 key2 2011/2/4 key3 2011/4/3 key2 2011/5/3 key2 2011/2/24 key3 2011/3/10 key1 2011/1/1 c1にkey1と入れると、d1にa列がkey1でb列の一番新しい日付を表示したいのです。 例えば、 c1にkey1を入力すると、d1には2011/3/2と表示される c1にkey2を入力すると、d1には2011/5/3と表示される 様にしたいのですが、どの様な数式を書けば良いかご伝授いただけないでしょうか? 因みにd1に「=INDEX(B:B,MAX(INDEX((A:A=D1)*ROW(B:B),0)),0)」と入力してみましたが c1に入力した「最後の」b列データになってしまいました。 皆さんのお知恵を拝借させて頂きたく、よろしくお願い致します。

  • エクセル 複数条件でのLOOKUP

    エクセルで、特定のキーで別表を参照してそこから値を表示するにはVLOOKUPを使用すると思いますが、複数条件でLOOKUPする事は可能でしょうか。 例えば、 シート1のA列とD列 シート2のB列とF列  2つの条件に合う(シート1A列=シート2B列 and シート1D列=シート2F列)レコードをシート2のG列からシート1のE列に表示したいと言う場合です。  シート1   A B C D E           1 01 ** ** 01       2 01 ** ** 02 うう       3 05 ** ** 01 ああ          ↑  シート2   A B C D E F G          1 ** 08 ** ** ** 01 いい       2 ** 01 ** ** ** 02 うう       3 ** 05 ** ** ** 01 ああ 判りにくい説明で申し訳ありませんが、よろしくお願いいたします。

  • エクセルで検索・表示の方法を教えてください。

    Sheet1のA列にそれぞれの名前を入力し   A 1 aさん 2 bさん 3 cさん Sheet2に各人のリスト   A   B   C 1      身長 体重 2 aさん  160  65 3 bさん  170  70 4 cさん  155  60 と記入していきリストを作成しておき それをSheet1のD列 E列に aさんの名前をクリックすると aさんの     身長  160           体重  65 などリストを表示させたいのですが、 Sheet1のA列の名前表示は動かないで bさんをクリックするとE列の結果だけ変わるように したいのですが。関数がわかりません。 教えてください。

専門家に質問してみよう