我正在尝试计算从收到到完成的处理时间,我需要排除晚上 11 点到早上 8 点这段时间,因为这些时间不是工作时间。我尝试使用该NETWORKDAYS
函数,但无法弄清楚。
类别包括:
- 已收到
- 处理结束(完成时间)
- 开始时间(上午8:00)
- 结束时间(晚上11点)
这是我到目前为止尝试过的,但它会引发错误:
=(NETWORKDAYS(Received,Processing_End)-1) *
(End_time-Start_time) +
IF(NETWORKDAYS(Processing_End, Processing_End),
MEDIAN(MOD(Processing_End,1), End_time, Start_time),
End_time) -
MEDIAN(NETWORKDAYS(Received,Received) *
MOD(Received,1), End_time, Start_time)
我怎样才能做到这一点?
答案1
如果您能提供一些示例数据的话,那将会很有帮助。
我假设收到的时间和完成的时间永远不会在晚上 11 点到早上 8 点之间,因为商店关门了,但它每周七天(一年 365 天)营业,所以我们不必担心周末。
看待这个问题的一种方式是,如果一项工作在收到的同时完成,但n天(即 24×n小时后,简单B2-A2
减法即可得出 24×n小时,当你想得到 15 倍的结果时n小时,因为商店每天营业 15 小时。所以我认为解决方案是做简单的减法,然后从系统中每天的工作中减去 9 小时。
这个公式应该可以做到:
=$B2-$A2 - (INT($B2)-INT($A2))*(1+TIME(8,0,0)-TIME(23,0,0))
我使用INT($B2)
和INT($A2)
来获取日期/时间值的星期部分,看起来很混乱的表达式(1+TIME(8,0,0)-TIME(23,0,0))
是 9 小时(明天早上 8 点减去今晚 11 点)。
以下是屏幕截图: