解決済み
エクセルでシフトを管理しています。 現在シフトは週ごとに1シートで管理しています。 その週ごとに管理しているシートから別シートに、自分が指定した日の出勤者の名前と出退勤の時間を抽出したいです。 週ごとのシートには出勤者の出退勤の時間が記入されています。 休みの人は空欄です。 縦に名前の列 横に日付と曜日 そのシフトを打ち込むセルは三つのセルで構成されていて左から出勤時間、真ん中がポジション、右に退勤時間となっております。 自分がどんなシフト表を使っているのか画像を添付しようと思っているのですが、その前にまず自分のやろうとしている事が出来るのかどうなのかが知りたくて質問してしまいました。 簡単な質問で答えにくいとは思いますがよろしくお願い致します。 エクセル初心者ですので詳しくはわかりませんが、出来ればマクロを使わずに出来たらと思っています。
追伸 出来れば出勤の早い順に並べられたらと思ったいます。
137閲覧
多少面倒ですが数式で出来ます。 こちらで想像して作成したレイアウトで回答させてもらいますので参考にして下さい。 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列の書式は時間にします。 人数が増えると式は違ってきます。 もし応用が難しいようでしたら、実際の最大人数を返信で教えて下さい。
< 質問に関する求人 >
求人の検索結果を見る
< 質問に関する求人 >
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
求人の検索結果を見る