教えて!しごとの先生
教えて!しごとの先生
  • 解決済み

エクセルでシフトを管理しています。 現在シフトは週ごとに1シートで管理しています。 その週ごとに管理しているシートか…

エクセルでシフトを管理しています。 現在シフトは週ごとに1シートで管理しています。 その週ごとに管理しているシートから別シートに、自分が指定した日の出勤者の名前と出退勤の時間を抽出したいです。 週ごとのシートには出勤者の出退勤の時間が記入されています。 休みの人は空欄です。 縦に名前の列 横に日付と曜日 そのシフトを打ち込むセルは三つのセルで構成されていて左から出勤時間、真ん中がポジション、右に退勤時間となっております。 自分がどんなシフト表を使っているのか画像を添付しようと思っているのですが、その前にまず自分のやろうとしている事が出来るのかどうなのかが知りたくて質問してしまいました。 簡単な質問で答えにくいとは思いますがよろしくお願い致します。 エクセル初心者ですので詳しくはわかりませんが、出来ればマクロを使わずに出来たらと思っています。

補足

追伸 出来れば出勤の早い順に並べられたらと思ったいます。

続きを読む

137閲覧

回答(1件)

  • ベストアンサー

    多少面倒ですが数式で出来ます。 こちらで想像して作成したレイアウトで回答させてもらいますので参考にして下さい。 Sheet1が週間シフト表です。横に長いので一部非表示にしてあります。 Sheet2のB1に日付を入力すると3行目以降に自動で表示されます。 Sheet2の行目の項目名は先に入れておきます。 SheetのX列以降に作業用の列を使います。 X1 =MATCH(Sheet2!B1,B1:T1,0) X4 =IF(A4="","",IF(INDEX($B$4:$T$10,ROW(A1),$X$1)<>"",A4,"")) 下へコピー Y4 =IF($X4="","",INDEX(B$4:T$10,ROW(A1),$X$1)) 右へAA4までコピー Y4からAA4を下へコピー AB4 =IF(Y4="","",Y4*100+COUNTIF($Y$4:Y4,Y4)) 下へコピー Sheet2のA3 =IFERROR(INDEX(Sheet1!X$4:X$10,MATCH(SMALL(Sheet1!$AB$4:$AB$10,ROW(A1)),Sheet1!$AB$4:$AB$10,0)),"") 右と下へコピー B列とD列の書式は時間にします。 人数が増えると式は違ってきます。 もし応用が難しいようでしたら、実際の最大人数を返信で教えて下さい。

この質問を見ている人におすすめの求人

< 質問に関する求人 >

シフト(東京都)

求人の検索結果を見る

< 質問に関する求人 >

初心者(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    職場・人間関係に関する質問をキーワードで探す

    「#シフトで働きやすい」に関連する企業

    ※ 企業のタグは投稿されたクチコミを元に付与されています。

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    求人の検索結果を見る

    Q&A閲覧数ランキング

    カテゴリ: 職場の悩み

    転職エージェント求人数ランキング

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる