この記事で書きましたように、火事になりかねない状況を放置などありましたので、【ロイヤルバス】、【エイブル】ご利用時は、ご注意下さい。

Excelで関数を使い、自動で定時の出社や退社時間を入力されるようにする(勤務表の作り方、その3)

前回のExcelで関数を使い、自動で曜日を入力されるようにする(勤務表の作り方、その2)では、関数を使い、基準となる年月日を入力するだけで、曜日が自動で入力される方法を書きましたが、勤務表をExcelで作る場合、定時の時間も自動で入力されるようにしておきたいと思います。

仕事が小売業などで、休みが不定期な場合は、前もって定時の時間を入力したテンプレートを作成し、計画として休みにした日をキーボードの 「Delete」 で消すしか無いと思うのですが、休みが土日など決まっている場合は、基準となる年月日を入力するだけで、出勤日は、定時の時間を入力して、休みの日は、セルを空白にするという事も可能です。



画像
このように、自動で、土日は空白にして、平日は定時での出社時間と退社時間を入力するようにできます。



画像
A1のセルの 「2016/1/1」 から 「2016/2/1」 などに年月日を入力し直す事で、このように空白になっている所が変わり、30日~31日の日付の無い所も、空白になります。



入力方法
上のようにするには、まず、日付や曜日が自動で入力されたり、消えたりする必要があります。
この記事の内容だけ、実施しても上のようにはなりませんので、日付や曜日が自動で入力されたり、消えたりするようにしていない場合は、前回までの記事も参考にしてみて下さい。


セルへの入力は、上のセルから順に下のように入力していきます。

=IF(B4="土","",IF(B4="日","","8:30"))
=IF(B5="土","",IF(B5="日","","8:30"))
=IF(B6="土","",IF(B6="日","","8:30"))
=IF(B7="土","",IF(B7="日","","8:30"))
=IF(B8="土","",IF(B8="日","","8:30"))
=IF(B9="土","",IF(B9="日","","8:30"))
=IF(B10="土","",IF(B10="日","","8:30"))
=IF(B11="土","",IF(B11="日","","8:30"))
=IF(B12="土","",IF(B12="日","","8:30"))
=IF(B13="土","",IF(B13="日","","8:30"))
=IF(B14="土","",IF(B14="日","","8:30"))
=IF(B15="土","",IF(B15="日","","8:30"))
=IF(B16="土","",IF(B16="日","","8:30"))
=IF(B17="土","",IF(B17="日","","8:30"))
=IF(B18="土","",IF(B18="日","","8:30"))
=IF(B19="土","",IF(B19="日","","8:30"))
=IF(B20="土","",IF(B20="日","","8:30"))
=IF(B21="土","",IF(B21="日","","8:30"))
=IF(B22="土","",IF(B22="日","","8:30"))
=IF(B23="土","",IF(B23="日","","8:30"))
=IF(B24="土","",IF(B24="日","","8:30"))
=IF(B25="土","",IF(B25="日","","8:30"))
=IF(B26="土","",IF(B26="日","","8:30"))
=IF(B27="土","",IF(B27="日","","8:30"))
=IF(B28="土","",IF(B28="日","","8:30"))
=IF(B29="土","",IF(B29="日","","8:30"))
=IF(B30="土","",IF(B30="日","","8:30"))
=IF(B31="土","",IF(B31="日","","8:30"))
=IF(B32="土","",IF(B32="日","",IF(B32="","","8:30")))
=IF(B33="土","",IF(B33="日","",IF(B33="","","8:30")))
=IF(B34="土","",IF(B34="日","",IF(B34="","","8:30")))

このような入力になります。
これは、曜日の入力されているセルを参照して、土曜または日曜だった場合は、空白になります。
29日以降の入力は、曜日の入っているセルを参照して、土曜、日曜または、曜日の入るセルが空白だった場合は、空白になります。

休みが土日で無い場合は、この「」、「」の所を、入力し直す事で、空白になる曜日を変える事が出来ます。
例えば、自動で空白にしたい曜日が 「」 と 「」 だったとすると 「=IF(B4="火","",IF(B4="金","","8:00"))」 となります。

出社時間や退社時間は、 「8:30」 の所を、入力し直す事で、自動で入力する時間を変える事が出来ます。
例えば、自動で入力したい時間が 「17:00」 だったとすると 「=IF(B4="土","",IF(B4="日","","17:00"))」 となります。



曜日を入力しているセルが違う場合

=IF(B4="土","",IF(B4="日","","8:30"))
例えば、この入力の場合、セルの 「B4」 に入力してある曜日を参照します。
もし違う場合は、この例の場合、 「B4」 となっている所を、入力し直します。

例えば、セルの 「F50」 に曜日が入力されている場合は、 「=IF(F50="土","",IF(F50="日","","8:30"))」 となります。



休みが、週1回の場合
休みが、日曜のみなど、週1回の場合は、下のように入力します。

=IF(B4="日","","8:30")
この場合は、日曜は、セルが空白になり、それ以外の場合は、セルに 「8:30」 が入力されます。



逆に週3回以上休みがある場合
定年退職後も会社の意向で、会社に勤める事になり、1週間の内2日間だけ勤めるなどあると思います。
そう言った場合は、下のように入力します。
(上側が28日まで使用し、下側が29日~31日に使用しますが、下側を1日~31日に適用しても問題無く動作します。余計なものを入れると、後で見た時にややこしくなるだけの事です)

週の内3日空白にしたい場合
=IF(B4="土","",IF(B4="日","",IF(B4="月","","8:30")))
=IF(B4="土","",IF(B4="日","",IF(B4="月","",IF(B4="","","8:30"))))

週の内4日空白にしたい場合
=IF(B4="土","",IF(B4="日","",IF(B4="月","",IF(B4="火","","8:30"))))
=IF(B4="土","",IF(B4="日","",IF(B4="月","",IF(B4="火","",IF(B4="","","8:30")))))

週の内5日空白にしたい場合
=IF(B4="土","",IF(B4="日","",IF(B4="月","",IF(B4="火","",IF(B4="水","","8:30")))))
=IF(B4="土","",IF(B4="日","",IF(B4="月","",IF(B4="火","",IF(B4="水","",IF(B4="","","8:30"))))))

週の内6日空白にしたい場合
=IF(B4="土","",IF(B4="日","",IF(B4="月","",IF(B4="火","",IF(B4="水","",IF(B4="木","","8:30"))))))
=IF(B4="土","",IF(B4="日","",IF(B4="月","",IF(B4="火","",IF(B4="水","",IF(B4="木","",IF(B4="","","8:30")))))))



関連記事
Excelで関数を使い、自動で日付を入力されるようにする(勤務表の作り方、その1)

Excelで関数を使い、自動で曜日を入力されるようにする(勤務表の作り方、その2)

Excelで関数を使い、自動で労働時間を入力されるようにする(勤務表の作り方、その4)

Excelで関数を使い、自動で労働時間を合計されるようにする(勤務表の作り方、その5)

Excelで関数を使い、自動で残業時間が計算されるようにする(勤務表の作り方、その6)

Excelで関数を使い、自動で祝日が入力されるようにする(勤務表の作り方、その7)

Excelで関数を使い、祝日の出退社時間が自動で空白になるようにする(勤務表の作り方、その8)

スマホなどのモバイルなどでも見られている方へ

このブログは、Windows10で23インチ画面のデスクトップパソコン(自作)を使用し、作成・確認をしています。
また、今の所、パソコンでこのブログを見られている方の方が多いようなので、パソコンで見る事を想定してブログの作成をしています。

その為、スマホなどを使って見ると見辛いかな?と思う表示になってしまう記事が一部あります。
見辛くなってしまい、すみません。<(_ _)>

この記事へのコメント