计算两个日期之间的时间,不包括营业时间和节假日

Calculate the time between two dates, excluding business hours and holidays

如何使用Excel或Salesforce平台计算两个日期之间的时间,不包括工作时间和节假日?

假设较早的日期在 A1 中,较晚的日期在 B1 中,则:

=24*(B1-A1-1)-8*(NETWORKDAYS(A1,B1)-2)-16*(NETWORKDAYS(A1,B1)-2 -(NETWORKDAYS(A1,B1,holidays)-2))  

以上内容我没有精简,大家可以自行调整。

24* 开始的部分是两个日期之间的总小时数(不包括时钟偏移)。 Between 也不计算在内——在较早的之后和在较晚的之前。

8* 开始的部分是根据工作时间排除的总小时数。在这里,我假设一天八小时。什么算作周末(标准非工作日)由 Microsoft 决定。如果可用,请使用 NETWORKDAYS.INTL 以获得更大的灵活性。

16* 开始的部分是根据假期排除的(尚未排除的)总小时数。这些天数计算为假设没有假期的工作日与不包括假期的工作日之间的差异,后者通过可选的第三个函数参数排除,这里是一个名为 holidays 的范围。

我从 A1 = 31/12/2014 和 B1 = 12/01/2105 得到的结果是 192,假设周六和周日是周末,1/1/15 在 holidays,可以计算为四个周末(96 小时)加上六个工作日(@16 小时 = 96)。