计划的结束时间计算,考虑工作时间

我试图寻求解决scheme来计算在工作时间内考虑到目标的计划结束时间。 它不应该考虑周末和假期。

login时间:上午8:00
注销时间:下午5:00

解决时间 – 40小时,开始 – 01/10/2015 08:00:00 AM,计划结束时间:07/10/2015 12:00:00 PM(预计时间)

考虑到:

  1. A栏有variables的描述(A1-> Start,A2-> Factual Start,A3-> Resolution Time,A4->login时间,A5->注销时间和A6->计划结束时间)
  2. B列有variables本身(B1 – > 01/10/2015 08:00:00(格式为TT.MM.JJJJ hh:mm),B3 – > 40:00(格式为[h]:mm:ss) ,B4 – > 08:00(格式化为hh:mm)&B5 – > 17:00((格式化为hh:mm))
  3. C列有一系列国定假期(这个必须是自定义的,因为节假日因国而异)。 在这个例子中,我刚刚定义了圣诞节的C1和圣诞节后的C2(德国也是一个假期)。 格式:TT.MM.JJJJ
  4. 在单元格B2中,您可以使用以下公式来获取实际开始date/时间,以避免在周末(欧洲格式从周六到周日)或在本身是假期的一天中定义比注销稍晚的开始时间的可能性从第3点定义的天数开始):

    =IF(OR(HOUR(B1)>=HOUR(B5),WEEKDAY(B1,11)>5,COUNT(VLOOKUP(B1,C1:C2,1,1))>0),DATE(YEAR(WORKDAY(B1,1,C1:C2)),MONTH(WORKDAY(B1,1,C1:C2)),DAY(WORKDAY(B1,1,C1:C2)))+TIME(HOUR(B4),MINUTE(B4),SECOND(B4)),B1)

  5. 在单元格B5中,您可以使用以下公式来获取计划的结束时间

    =WORKDAY(B2,CEILING((B3+MOD(B2,1)-B$4)/(B$5-B$4),1)-1,$C$1:$C$2)+MOD(B2,1)+B3-CEILING(MOD(B2,1)+B3-B$4,B$5-B$4)+B$5-B$4

当然,你可以调整公式到自己的结构。