こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルで勤務日程表を作りたい!

エクセル2010を使って、添付した画像のような日程表を作りたいです。

月間のシフト表と日程表は別のエクセルブックです。

実際の従業員は20名いる上、勤務時間もバラバラなので「早番」「遅番」と設定する事が出来ません。

日程表は、一番左の列がA列とすると、A列、E列、H列、L列に時間列が入ります。

勤務時間外の時間帯のセルをグレーで塗りつぶしたいのですが、
このような表を作るにはどうしたら良いでしょうか?

どなたかお力を貸して頂けませんでしょうか?よろしくお願い致します。

マルチメディアファイルは削除されたか見つかりません。

投稿日時 - 2011-09-13 04:19:54

QNo.7007505

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

以前、私も勤務時間内に色を付けるエクセルのシートを作成したことがありますので、参考になるかと思います。

日程表に関してですが、以前私が作成したものは下記のものになります。

多機能 勤務シフト表(ガントチャート式)
http://excel-template.jp/article/353095524.html

質問者様と同様1ヶ月分の30枚のシートを1つのブックに収めています。

こちらの場合、白地の表内に赤や緑で線を引いていますので、こちらの色を替えることで質問者様の要望に応えられると思います。

(表全体をグレーにして、線の部分を白くすれば時間帯以外のセルがグレーで塗られたように見えます)


ただし、ご覧のとおり、私のものは名前が縦に並び、時間帯が横に並んでいて、質問者様とはレイアウトが異なります。


この点についてですが、質問者様のように縦に時間帯を並べるのは、横に比べて計算式の入力が煩雑になるかと思います。
(カーソルを+にしてのオートフィルで、式がうまく複製されない可能性があります)


このテンプレートでは、休憩の判定などで計算式が複雑になっていますが、基本的な計算の手順は以下の様になります。

(1)
・退勤時間から出勤時間を出して、勤務時間を出す
・出勤時間を、セル1つ分の時間帯で割る
・これで、白くすべきセルの数が求まる

(2)
・表の出勤時間に該当するセルに(1)の数を表示させる
・その次のセルには、前のセルより1引いた数を表示させる
・これで、出勤時間と退勤時間の間のセルには1位上の数字が入る
(それ以外は、0かマイナスの数値になっている)

(3)
・セルの条件式で、1以上のセルには色を付ける

この手順で、要望する表は作成できると思います。

もちろん、ここで一番難しいのは、(2)の計算式の組み立てです。
具体的には

(条件)
(1)前のセルが1以上なら、前のセルより1引いた数を表示
(2)違ければ、そのセル自体が出勤時間に該当しないか判定
(3)両方違えば0を表示

つまり、以下の式になるかと思います。

=if([一つ前のセル]<>0,[一つ前のセル]-1,if([このセルの時間]=[出勤時間],[(1)の値],0)


実際にどのような計算式が並ぶかは、私の作成したシフト表の式を参考にしていただければと思います。

ダウンロードした段階ではセルに保護がかかっていますが、パスワードはありませんので、書式のセルの保護を解除していただければ数式を見ることができます。(数式部分は、非表示になっているので、列の再表示で表示してください)


以上、長々とした説明で申し訳ありませんが、上記の計算式の条件をIF関数で判定すれば、時間帯が縦に並んだ表の作成も可能だと思います。

頑張ってください!

投稿日時 - 2014-06-08 14:47:05

ANo.1

補足をすべきだ。
>添付した画像のような日程表
添付画像が全体的に文字が小さく、ぼやけて見えない。(シートの範囲は広いものを添付すると、こうなるようだ)
質問者自身で質問を投稿後に確認ぐらい、すべきだ。
人数を2、3名にして、データ例(シートの状態)を質問文に「テキスト」で挙げること。やりたいことの説明文章も添えて。
日程表は1シートで、勤務時間表は1日1シートなのか。

投稿日時 - 2011-09-13 09:56:02

補足

ご指摘ありがとうございます。配慮が足らず済みませんでした。


シフト表は1カ月分を1シートに入力されており、勤務日程表は1日1シートで作成しています。(1カ月分を一つのブックにまとめています)

1月1日の場合、A3のセルより下に従業員の名前、B1のセルに日付、B2に曜日、B3より下に従業員の勤務時間が入力されています。

  A  B 
1 1/1
2     Sun 
3 鈴木 12:00-5:00
4 山田
5 佐藤 3:00-10:00
6 渡辺 10:00-5:00
7 田中 2:00-8:00


それを、別のブックの日程表に、当日勤務する従業員の名前と勤務時間、更に勤務時間外の部分はセルをグレーで塗りつぶしたいのです。

1月1日の場合、A4セルより下に時間、B~N2(最大10名まで)に当日勤務する従業員の名前
B~N3に勤務時間を表示したのですが、A,E,H,L列にam8:30からpm10:00までの30分刻みで時間列が入ります。

  A    B       C      D    E    F
1   1/1(Sun)
2    鈴木     佐藤    渡辺        田中
3    12:00-5:00 3:00-10:00 10:00-5:00     2:00-8:00
4 8:30
5 9:00
6 9:30
7 10:00


どうぞ、よろしくお願いします。

投稿日時 - 2011-09-13 11:09:36

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-