用不同的费率创build一个时间表

场景:

我有一个Excel时间表,需要计算标准时间1倍,加class1.5倍,加class2x基于以下值:

  1. 如果开始时间和结束时间在08:00和16:45之间,则将小时数x1加起来
  2. 如果结束时间在16:45和00:00之间,则将时间加上x1.5
  3. 如果结束时间在00:00到08:00之间,则总和时间为x2

示例数据:

Start time Finish time Standard time Overtime x1.5 Overtime x2 08:30:00 17:00:00 7.5 0.5 0 17:00:00 01:00:00 0 7 1 01:00:00 10:00:00 2 0 7 06:00:00 12:00:00 4 0 2 

我一直在绞尽脑汁和可能的方式来做到这一点,但不断下降,有没有人知道我会如何去创造一个公式做这样的一些?

创build一个matrix的时间,并使用if语句来确定时间是否落在shift中。 根据每个class次的需要总结时间。

这是我的例子http://www.scotlang.com/Overtime.xlsx的链接。

Shcreenshot

啊,我迟到了,其他答案已经被接受了,如果是48小时的话,这个答案是很好的。 无论如何,这是我的样子 – 以后可以提供一些解释。

在这里输入图像说明

这里是关于单元格D2的定义

在这里输入图像说明

所以基本的公式是

 =MAX(0,MIN(ClockOff+Split,ShiftEnd)-MAX(ClockOn,ShiftStart)) 

这是基于计算在不同地方引用的两个范围的重叠的标准公式,例如在这里,但是对于当class次结束在午夜之后的情况,增加1(等于一整天)。 只要晚class结束(在J4中)也作为整整一天(​​24:00小时)input,则这适用于标准时间(从D2开始)和加classX 1.5(从E2开始)。 对于加classX 2,如果工作时间在午夜分开,那么class次开始(0:00)和class次结束(08:00)必须调整24小时,所以F2中的公式是

 =MAX(0,MIN(ClockOff+Split,ShiftEnd+Split)-MAX(ClockOn,ShiftStart+Split))