查找范围内的时间长度

我试图了解在时间范围内发生的中断的长度。

在一次细胞我有支持期:1级Monday-Saturday 0800-1800

在另外两个单元中,我有中断的开始时间和结束时间

示例:停电开始时间: Wednesday, 24 August 2016 16:47

停电结束: Monday, 29 August 2016 10:15

结果应该返回: 33:28 : 33:28小时工作:

 Wednesday, 24 August 2016 16:47 - 18:00 = + 01:13 Thursday , 25 August 2016 08:00 - 18:00 = + 10:00 Friday , 26 August 2016 08:00 - 18:00 = + 10:00 Saturday , 27 August 2016 08:00 - 18:00 = + 10:00 Monday , 29 August 2016 08:00 - 10:15 = + 02:15 

任何build议感激!

更新

示例Excel

请检查上面的图片,我希望你想要类似的东西。

在列C2中input以下公式

 =INT(IF(DAYS(B2,A2)=0,IF(TEXT(A2,"ddd")="Sun",0,ROUND((B2-A2)/(1/24/60),0) ),IF(DAYS(B2,A2)=1,IF(TEXT(A2,"ddd")="Sun",0,(DATE(YEAR(A2),MONTH(A2),DAY(A2))+1/24*18)-A2 )/(1/24/60) + IF(TEXT(B2,"ddd")="Sun",0,B2-(DATE(YEAR(B2),MONTH(B2),DAY(B2))+1/24*8) )/(1/24/60),IF(TEXT(A2,"ddd")="Sun",0,(DATE(YEAR(A2),MONTH(A2),DAY(A2))+1/24*18)-A2 )/(1/24/60) + IF(TEXT(B2,"ddd")="Sun",0,B2-(DATE(YEAR(B2),MONTH(B2),DAY(B2))+1/24*8) )/(1/24/60) + (IF(DAYS((DATE(YEAR(B2-1),MONTH(B2-1),DAY(B2-1))),A2)<0,0,DAYS((DATE(YEAR(B2-1),MONTH(B2-1),DAY(B2-1))),A2))- INT(((DATE(YEAR(B2-1),MONTH(B2-1),DAY(B2-1)))-(DATE(YEAR(A2),MONTH(A2),DAY(A2)) + MOD(DATE(YEAR(A2),MONTH(A2),DAY(A2)),7)))/7+1)) * 10 * 60 ) )) 

在单元格D2中input下面的公式

 =INT(C2/60) &":" & INT(MOD(C2,60)+0.5) 

然后将C2和D2复制到所需的所有单元格,它将提供您正在查找的中断值。

例如,如果单元格A2包含停电开始dateWednesday, 24 August 2016 16:47Wednesday, 24 August 2016 16:47并且单元格B2包含停电结束dateMonday, 29 August 2016 10:15Monday, 29 August 2016 10:15 ,则可以使用以下内容:

 =DAY(B2-A2) 

这将返回4天。

 =HOUR(B2-A2) 

将返回17个小时

 =MINUTE(B2-A2) 

将返回28分钟。

那么你可以使用以下内容:

 ="The outage lasted for "& DAY(B2-A2) & " days, " & HOUR(B2-A2) & " hours, and " & MINUTE(B2-A2) & " minutes." 

为了产生这个:

停电持续了4天17小时28分钟。