这听起来很简单,但我一直在努力寻找解决方案。在我去秃头之前的任何帮助都会很棒。
我需要一个能够
的公式05/12/2012 5:30 PM
并说07/12/2012 5:45 PM
); 我希望公式的结果如下所示“例如2 Days 0 Hrs and 15 Mins
”。
由于
答案 0 :(得分:6)
您可以使用NETWORKDAYS
和NETWORKDAYS.INTL
来实现此目标
需要进行一些操作,因为这些操作会返回整个天:
使用这些函数计算非工作日数,然后从开始日期和结束日期之间的差值中减去
=E3-D3-(NETWORKDAYS.INTL(D3,E3,"0000000")-NETWORKDAYS(D3,E3,$A$16:$A$24))
这将返回工作日差异,其中1.0 = 1天
NETWORKDAYS.INTL(D3,E3,"0000000")
计算两个日期之间的整天(无周末,无假期)
NETWORKDAYS(D3,E3,"0000000",$A$16:$A$24)
计算两个日期之间的整个工作日(周六/周日周末,根据$A$16:$A$24
列表中的假期)
两个日期之间非工作日的差异。
E3-D3
是开始和结束日期/时间之间的时间(1.0 = 1天)
使用自定义数字格式以您需要的格式显示结果
d "Days" h "Hours" mm "Mins"
注意:此格式不适用于负值,当结束日期早于开始日期时,您需要另一种格式。
答案 1 :(得分:0)
以下公式的作用类似于没有其他格式或操作的处理。
为了使其更加稳定,我已将英国2012/13的所有假日日期变为“Excel序列号”格式,并将它们放在数组中。
将公式中的“D5”替换为您的课程的单元格引用或指标“结束日期”和“E5”与您的课程或“完成日期”的指标。
=IF(E5<D5,"-"&TEXT(D5-E5,"h:mm"),NETWORKDAYS(D5,E5,({40910,41005,41008,41036,41064,41065,41148,41268,41269,41275,41362,41365,41400,41421,41512,41633,41634}))-1-(MOD(E5,1)<MOD(D5,1))&" days "&TEXT(E5-D5,"h:mm"))