Excel:当日勤務時間の計算式のアドバイスを下さい
Excel2002を使用し、勤務表を作成しています。
修正を繰り返しだいぶ計算ができるようになりました。
今回は、開始13:15終了16:15の場合、休憩なし、当日勤務時間3時間と計算させたいのですが、何かアドバイスあればよろしくお願いします。
現在使用している計算式では以下のように計算されます。
開始8:30終了17:05、休憩45分、当日勤務時間7時間50分※定時
開始7:30終了16:05の場合、休憩45分、当日勤務時間7時間50分
開始8:00終了16:35の場合、休憩45分、当日勤務時間7時間50分
開始13:15終了17:05の場合、休憩なし、当日勤務時間3時間50分
開始13:15終了17:50の場合、休憩なし、当日勤務時間3時間50分
--------------------------------------------------------
開始時刻:C列
終了時刻:D列
開始時刻を15分単位で切り上げる:P列:=CEILING(C6,"0:15")
終了時刻を15分単位で切り上げる:Q列:=CEILING(D6,"0:15")
休憩時間を45分として勤務時間を計算する:R列
--------------------------------------------------------
■休憩時間
=IF(COUNT(C6:D6)<2,0,IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45",IF
((C6>="13:15"*1)*(D6>="17:20"*1),"0:15","0:00")))+IF(R6>="8:00"*1,"0:15","0:00")
■当日 勤務時間
=IF(COUNT(C6:D6)<2,0,IF((C6>="13:15"*1)*(D6>="17:20"*1),R6-"0:15",IF(R6>="8:00"*1,R6-"0:15",R6)))
■休憩時間を45分として勤務時間を計算する
=IF(COUNT(C6:D6)<2,0,AND(C6*D6)*(MIN(IF(AND(D6>="12:30"*1,D6<="13:15"*1),"12:30",Q6),"16:05")-MAX(IF(AND(C6>="12:30"*1,C6<="13:15"*1),"13:15",P6),"07:30")-IF((P6<"12:30"*1)*(Q6>"13:15"*1),"0:45","0:00")+FLOOR(MAX(D6,"16:05")-"16:04:59","0:15")))
お礼
なるほど、こうすればよかったのですね。 複数の組合せのやり方がわからなかったので、とても助かりました。 本当にありがとうございます。