以不同的费率创建时间表

时间:2017-02-20 10:56:35

标签: excel excel-formula

情境:

我有一个excel时间表需要根据以下值计算标准时间1x,加班1.5x,加班2x:

  1. 如果开始时间和结束时间介于08:00和16:45之间,则将小时数x1
  2. 相加
  3. 如果完成时间介于16:45和00:00之间,则将小时数除以x1.5
  4. 如果完成时间介于00:00和08:00之间,那么总和小时数为x2
  5. 示例数据:

    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
    

    我一直绞尽脑汁和可能的方法做到这一点,但一直不断下降,是否有人知道如何创建一个公式来做这种事情?

2 个答案:

答案 0 :(得分:2)

啊,我太晚了,因为其他答案已被接受,如果它涵盖了48小时的时间段,那就太好了。无论如何,这是我看起来的样子 - 可以在以后提供一些解释。

enter image description here

以下是与细胞D2相关的定义

enter image description here

所以基本公式是

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

这是基于计算在不同地方引用的两个范围的重叠的标准公式,例如here但是当班次结束在午夜之后的情况下,增加1(相当于一整天)。只要夜班结束(在J4中)也输入1整天(24:00小时),这适用于标准时间(从D2开始)和加班X 1.5(从E2开始)。对于加班时间X 2,如果工作小时数在午夜分开,则班次开始(0:00)和班次结束(08:00)必须调整24小时,因此F2中的公式为

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

答案 1 :(得分:1)

创建一个时间矩阵并使用if语句来确定时间是否属于班次。将每班次所需的时间相加。

以下是我的示例http://www.scotlang.com/Overtime.xlsx的链接。

Shcreenshot