嗨我需要获得此列的周转时间,不包括周末。我试图减去它但没有排除周末,所以我没有成功获得所需的正确周转时间。请帮助我获得正确的公式,以排除此样本的周末。感谢
答案 0 :(得分:4)
如何使用以下公式,这将计算两个日期之间的工作日:
=NETWORKDAYS(N2,M2)
答案 1 :(得分:1)
由于旧答案中的评论已经增长 - 在某种程度上问题需要编辑以包含所有&#34;其他&#34;要求(various reason为什么这些chameleon questions经常被不满。为了更多&#34;调整&#34;,提出一个新问题。) - 我在这里发布更新的代码。< / p>
首先:由于NETWORKDAYS
从第一天的开始到最后一天的结束计数,它往往会添加一个&#34;额外的&#34;天。要解决这个问题,我们需要记住减去第一天的第一部分(午夜到开始时间)和最后一天的最后部分(结束时间到午夜) - 但前提是它们都是每个工作日。
=NETWORKDAYS(M2,N2)+IF(MOD(WEEKDAY(N2),7)>1,MOD(N2,1)-1,0)-IF(MOD(WEEKDAY(M2),7)>1,MOD(M2,1),0)
接下来,是要求排除假期。 重要!这要求您有一张名为&#34;假期表&#34;的工作表,其中包含您在A栏中假期的日期列表。
我们使用ISERROR(MATCH(..))
作为检查&#34;不在列表&#34;中,NETWORKDAYS
接受列表第三个,可选,参数/参数
=NETWORKDAYS(M2,N2,'Holiday Sheet'!$A:$A)+IF(AND(MOD(WEEKDAY(N2),7)>1,ISERROR(MATCH(N2,'Holiday Sheet'!$A:$A,0))),MOD(N2,1)-1,0)-IF(AND(MOD(WEEKDAY(M2),7)>1,ISERROR(MATCH(M2,'Holiday Sheet'!$A:$A,0))),MOD(M2,1),0)
最后一次&#34;额外&#34;要求是将其计算为工作时间,工作日从07:00到16:00 - 每天工作9小时。首先,将NETWORKDAYS
乘以9小时(TIME(9,0,0)
),然后记住删除第一天的第一部分(针对工作时间更正)和最后一天的最后一部分(也已更正)工作时间)
我们可以使用MEDIAN
从3个值中获取中间数,这样我们就不会在07:00之前或16:00之后使用
=TIME(9,0,0)*NETWORKDAYS(M2,N2,'Holiday Sheet'!$A:$A)+IF(AND(MOD(WEEKDAY(N2),7)>1,ISERROR(MATCH(N2,'Holiday Sheet'!$A:$A,0))),MEDIAN(TIME(7,0,0),MOD(N2,1),TIME(16,0,0))-TIME(16,0,0),0)-IF(AND(MOD(WEEKDAY(M2),7)>1,ISERROR(MATCH(N2,'Holiday Sheet'!$A:$A,0))),MEDIAN(TIME(7,0,0),MOD(M2,1),TIME(16,0,0))-TIME(7,0,0),0)