プロが教えるわが家の防犯対策術!

こんばんは。大変お世話になっています。

エクセルでシフト表を作っています。
職員は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関数で入れてみたのですが、一番最初の反応する名前が表示されるだけで、すべての対応者の名前は出ませんでした。
どうすればできるでしょうか?

教えてください。
よろしくお願いします。

A 回答 (1件)

現在の表を「職員別日別」とすると


>その日の勤務職員をシフト別にそれぞれ表示させた一覧表
・職員別シフト別の表にして、対応する位置に職員名を表示
・シフト別に対象者のみを隙間なく表示

どちらでしょう?

A列で職員名、B列で当日のシフトを参照すれば
(today,day,index,row)、前者だと簡単にできますよね(if)

後者だと、いったん前者のような表をつくって
(if のかわりに、countif でインデックスを作る)
この表を元に一覧化(match,index,iserror...)、、かな
(VBAでの質問に変えた方が回答つきやすいかも)
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/05/23 14:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!