アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

エクセルでシフト表を作っています。
職員は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でしょうか?

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

A 回答 (4件)

VBAなら大枠はこんな感じでしょうか。



Sub Test()
Dim s, clm, rw As Integer
Sheets("シフト表").Range("b2:af5").Clear
shift = Array("", "A", "B", "C", "D", "休")
For s = 1 To 5
For clm = 2 To 32
For rw = 2 To Range("A65536").End(xlUp).Row
If Cells(rw, clm) = shift(s) Then Sheets("シフト表").Cells(s + 1, clm).Value = Sheets("シフト表").Cells(s + 1, clm) & Cells(rw, 1) & Chr(10)
Next rw
Next clm
Next s
End Sub

予め「シフト表」というシートを作って、その1行目に「1日,2日,3日,4日,  ・・・」を、A列に「A,B,C,D,休」をインプットを手作業で行ってね。(VBAでも可能ですが・・)
    • good
    • 0

ピポットテーブルはいかがでしょうか?(A列には”名前”というフィールド名を追加して下さい)



(1)[データ]-[ピポットテーブルとピポットグラフレポート]を選択し、表示されたダイアログで、
分析するデータのある場所を、Excelのリスト/データベース、作成するレポートの種類をピポットテーブルを選択。次へ。
(2)使用するデータの範囲を、氏名とシフトがある範囲を指定。次へ。
(3)作成先を新規。完了

ピポットテーブルのフィールドリストについては、表示したいものをダブルクリックすれば追加されます。

1日の勤務シフトAの人を表示したければ、1日のフィールドオプションをAとすればOK。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
早速試してみたのですが名前を表示させたい場所に、数字ばかりが出ます。
名前を表示させたいのですが・・・。
初心者で申し訳ありません。

お礼日時:2006/05/23 20:19

マルチポストはルール違反です。


http://oshiete1.goo.ne.jp/kotaeru.php3?q=2168510


>その日の勤務職員をシフト別にそれぞれ表示させた一覧表を作りたいのです。

希望する表示例を提示してください。
    • good
    • 0
この回答へのお礼

マルチポストの件、申し訳ありませんでした。
VBAで質問した方が良いとアドバイスいただいたもので・・・。あちらを先に締め切り登録すべきでした。以後気をつけます。教えて下さってありがとうございました。

   A列 B列     C列

1行      1日     2日

2行   A  田中     鈴木
        鈴木     佐藤
        佐藤

3行   B  葉山     平野
        小林     小林
        夏樹     田中

4行   C  高橋     佐々木
        小村     近藤

5行   D  藤村     三谷
        平野     影山



こんな感じが希望なのですが・・・。
よろしくお願いします。

お礼日時:2006/05/23 18:36

シフトコードとは、質問の表で使われているA~Dのことですか?



それならば、表を選択し、メニューの「データ」、「並び替え」で、調べたい日付の列を最優先キーにして並び替えをしたらいいのではないでしょうか?
    • good
    • 0

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