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

我必须计算一次机器再次可用的时间。 工作时间为每天上午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 | 

提前致谢。

看看这个例子

分解结果

为了得到你的结束时间,我计算出工作的实际时间 ,即非工作时间和工作时间。 工作日(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计算非工作时间的数量INT(A2/16)*8这将工作时间的数量划分为工作时间
  2. I然后使用IF(60*((A6-INT(A6/16)*16)+HOUR(B6))+MINUTE(B6)>60*22testing作业持续时间是否会花费更长的时间。这个工作是否会过去十点钟,我把这两个分钟比较,而不是几个小时的准确度,如果这个工作超过了10点,我会再加上一个非工作时间
  3. 然后我把非工作时间的总数乘以非工作时间的数量(8)
  4. 最后加上原来的工作时间的非工作时间的总和

总而言之,这是计算非工作时间+工作时间的数量,以给我实际的时间

然后我使用下面的实际时间添加到开始时间:

 =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 

给你的结果:

最终结果