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

エクセルで夜間の出勤時間の管理をしております。
以前在籍しておられた方が作られたようなのですが
関数初心者の私では読解するのが困難なので
お教えいただきたく投稿しました。
完成されてる表を掲載できればいいのですが・・・
関数を掲載させていただきますので
その関数の読み取り方をお教えいただければ幸甚です。

A列 日付
B列 始業時間
C列 終業時間
D列 計算用退勤表記
E列 拘束時間
F列 労働時間
G列 深夜労働時間
H列 残業時間
I列 普通勤務
J列 深夜勤務
K列 普通残業
L列 深夜残業

D列 =IF(COUNT(B5:C5)=0,0,C5+IF(C5<=B5,"24:00",0))

F列 =IF(E5-$B$37<0,0,E5-$B$37)

G列 =IF(COUNT(B5:C5)=0,0,MAX(0,"5:00"-B5)-MAX(0,B5-"22:00")+MAX(0,D5-"22:00")-MAX(0,D5-"29:00")-$B$37)

H列 =IF(F5-$B$38<0,0,F5-$B$38)

I列 =IF(D5-B5-H5-G5-$B$37<0,0,D5-B5-H5-G5-$B$37)

J列 =IF(I5=0,0,$B$38-I5)

K列 =IF(F5-I5-J5-L5<=0,0,F5-I5-J5-L5)

L列 =IF(G5-J5<=0,0,G5-J5)

基本休憩時間 2:00(=B37)
所定労働時間 8:00(=B38)
深夜終了時刻 5:00(=B39)
深夜開始時刻 22:00(=B40)
深夜労働時間 5:00(=B41)
当番休憩時間 1:00(=B42)

表の内容はこんな感じなのですが。

これでわかりますでしょうか?
基本の時間は20:00~7:00 です

また、万一勤務時間が17:00~4:00の場合
どこの計算式がどのようにわかりますでしょうか?

文字の羅列になって申し訳ございませんが
宜しくお願い申し上げます。

A 回答 (1件)

A日付


B始業時間
C終業時間
D計算用退勤表記
D=IF(COUNT(B5:C5)=0,0,C5+IF(C5<=B5,"24:00",0))
これは、B始業時間とC終業時間がカラなら「0」,C終業時間がB始業時間以下(つまり24:00をまたいだ)ならC終業時間+"24:00"(つまり翌日の同時刻)とし、そうでない(つまり24:00をまたいでいない)ならC終業時間とする。そうしないと、24:00をまたぐと勤務時間がマイナスになってしまうので対策しているのです。
E拘束時間
F労働時間
F列 =IF(E5-$B$37<0,0,E5-$B$37)
これは、E拘束時間-基本休憩時間2:00が0未満(つまりE拘束時間が2:00未満)なら「0」、そうでないならE拘束時間-基本休憩時間2:00とする。ここではE拘束時間がどのように入っているかわからないのでこれ以上説明できません。
G深夜労働時間
G列 =IF(COUNT(B5:C5)=0,0,MAX(0,"5:00"-B5)-MAX(0,B5-"22:00")+MAX(0,D5-"22:00")-MAX(0,D5-"29:00")-$B$37)
これは、B始業時間とC終業時間がカラなら「0」,そうでないなら「0」と"5:00"からB始業時間を引いたものの大きい方(つまりB始業時間が"5:00"以降なら「0」、"5:00"以前ならその時刻から5:00までの時間)から、「0」とB始業時間から"22:00"を引いたものの大きい方(つまりB始業時間が"22:00"以前なら「0」、"22:00"以降なら22:00からその時刻までの時間)を引き、さらに、「0」とD計算用退勤表記から"22:00"を引いたものの大きい方(つまりD計算用退勤表記が"22:00"以前なら「0」、"22:00"以降なら22:00からその時刻までの時間)を足し、さらに、「0」とD計算用退勤表記から"29:00"を引いたものの大きい方(つまりD計算用退勤表記が"29:00"(翌日5:00)以前なら「0」、"29:00"以降なら29:00からその時刻までの時間)を引き、さらに、基本休憩時間2:00を引く。22:00から翌日5:00までを深夜勤務とする計算です。
H残業時間
H列 =IF(F5-$B$38<0,0,F5-$B$38)
これは、F労働時間-所定労働時間8:00が0未満(つまりF労働時間が8:00未満)なら0、そうでないなら、F労働時間-所定労働時間8:00とする。すなわち、8時間以上は残業の扱いです。
I普通勤務
I列 =IF(D5-B5-H5-G5-$B$37<0,0,D5-B5-H5-G5-$B$37)
これは、D計算用退勤表記-B始業時間-H残業時間-G深夜労働時間-基本休憩時間2:00とする。深夜労働でも残業でもない労働時間です。
J深夜勤務
J列 =IF(I5=0,0,$B$38-I5)
これは、I普通勤務が0なら0,そうでないなら所定労働時間8:00-I普通勤務とする。私の理解不足のため、やや疑問があります。深夜勤務を求めているものだと思います。
K普通残業
K列 =IF(F5-I5-J5-L5<=0,0,F5-I5-J5-L5)
これは、F労働時間-I普通勤務-J深夜勤務-L深夜残業が0未満なら0,そうでないならF労働時間-I普通勤務-J深夜勤務-L深夜残業とする。max(0,~)と同じです。F労働時間=I普通勤務+J深夜勤務+K普通残業+L深夜残業から求められる式です。
L深夜残業
L列 =IF(G5-J5<=0,0,G5-J5)
これは、G深夜労働時間-J深夜勤務が0未満なら0,そうでないならG深夜労働時間-J深夜勤務とする。これも、max(0,~)と同じです。G深夜労働時間=J深夜勤務+L深夜残業から求められる式です。
基本休憩時間2:00(=B37)
所定労働時間8:00(=B38)
深夜終了時刻5:00(=B39)
深夜開始時刻22:00(=B40)
深夜労働時間5:00(=B41)
当番休憩時間1:00(=B42)
以上です。わからない点もありますが、理解の参考になれば幸いです。
    • good
    • 1

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