计算两个date(不包括周末)和晚上10点 – 上午10点之间的小时数?

我试图计算两个date/时间之间的小时数,不包括银行假期,晚上10点到上午10点。

我在B3中有开始date时间,然后在G3中结束date时间。 在SLA B13 – B22中,我列出了2015年的银行假期date,我正在使用以下的假期

=SUM(G3-B3-COUNTIFS(SLA!B13:B22,">"&B3,SLA!B13:B22,"<"&G3)) 

出于某种原因,我不能得到这个排除银行假期,但是我也需要考虑到10时至10时括号。

谁能帮忙?

 =NETWORKDAYS(B3;G3;SLA!B13:B22)*12 

* 12,因为每天只有十二个小时(不包括晚上十时至十时)

我已经尝试过你的公式,只要你格式化包含公式的单元格作为一般或数字,以避免将其格式化为date格式,整个过程对我来说都可以正常工作。 当然,这并不排除大概是你想要的周末。

如果开始date和结束date都是银行假期,您可能需要加1以使其变为包含性的,使>变为> =和<变为<=并乘以12以得到以小时计的结果:

 =(G3-B3+1-COUNTIFS(SLA!B13:B22,">="&B3,SLA!B13:B22,"<="&G3))*12 

你可以计算从date时间值直接工作的小时数:基本公式是:

 =(G3-B3)*24-(INT(G3)-INT(B3))*12 

即每一整天减去12小时。

您也可以排除假期(如果在开始date和结束date之间): –

 =(G3-B3)*24-(INT(G3)-INT(B3)+COUNTIFS(SLA!B13:B22,">"&B3,SLA!B13:B22,"<"&G3))*12 

即每天的假期减去12小时。

还有一件事你可以做的是应用一个调整的开始和结束时间Networkdays公式添加:

 =MOD(G3,1)-MOD(B3,1)