Excel - 计算特定时间范围内的时间

时间:2017-09-21 11:21:45

标签: excel date time

我必须计算机器再次可用的时间。 工作时间为每天上午06:00至晚上22:00。

如果我只是用时间添加时间,结果就像这样。

| Job Duration (hours) | Start            | End              |
| 18,75                | 21.09.2017 06:00 | 22.09.2017 06:15 |
| 20,14                | 21.09.2017 11:30 | 22.09.2017 07:38 |

这对我来说是错误的,因为工作时间仅为上午06:00至晚上22:00。

我想达到以下结果:

| Job Duration (hours) | Start            | End              |
| 18,75                | 21.09.2017 06:00 | 22.09.2017 07:45 |
| 20,14                | 21.09.2017 11:30 | 22.09.2017 15:38 |

提前致谢。

1 个答案:

答案 0 :(得分:1)

看一下这个例子

Broken down results

要获得结束时间,我会计算作业所需的 实际时间 ,即非工作时间和工作时间。 在工作日(6到22岁)之间有16个小时,在那里有8个非工作时间(22到6个小时)。

=8*(INT(A2/16)+IF(60*((A2-INT(A2/16)*16)+HOUR(B2))+MINUTE(B2)>60*22,1,0))+A2

要打破这个公式:

  1. 通过执行INT(A2/16)*8计算非工作时段的数量。这将工作时数除以作业持续时间
  2. I然后使用IF(60*((A6-INT(A6/16)*16)+HOUR(B6))+MINUTE(B6)>60*22测试作业持续时间是否会花费更长时间。这将计算作业是否会超过晚上10​​点。我在两分钟内比较两者而不是几小时的准确性。如果工作将在晚上10点过后,我会再增加一个非工作期
  3. 然后我将非工作时段的总数乘以非工作时数(8)
  4. 最后将非工作时间总计添加到原始工作时间
  5. 总而言之,这计算了非工作时间+工作时间,以便为我提供 实际时间

    然后我使用以下内容将 实际时间 添加到开始时间:

    =B2+C2/24
    

    得到我的结束时间。

    最后,我将这些公式结合起来,在一栏中给出答案

    =B2+(8*(INT(A2/16)+IF(60*((A2-INT(A2/16)*16)+HOUR(B2))+MINUTE(B2)>60*22,1,0))+A2)/24
    

    给出结果:

    Final Results