如果我每天早上8点到下午6点之间只工作10个小时,有没有可以考虑工作日的功能

问题描述 投票:0回答:1

样本数据

工作时间上午 8 点 - 下午 6 点=(NETWORKDAYS(B2,C2)-1)*("18:00:00"-"8:00:00")+IF(NETWORKDAYS(C2,C2),MEDIAN(MOD( C2,1),"18:00:00","8:00:00"),"18:00:00")-MEDIAN(NETWORKDAYS(B2,B2)*MOD(B2,1),"18: 00:00","8:00:00")

我们的工作时间为工作日上午 8 点至下午 6 点,周末不工作。任务可以随时到达系统中,我们只在工作时间之间拿起它并进行处理。上面是我用来提取完成任务的工作时间(上午 8 点 - 下午 6 点)的公式。我的问题是,我一天只工作 10 个小时吗?当自定义为 [h]:mm:ss 时,这个公式正确地给出了小时:分钟:秒。如果我自定义格式 d :hh:mm:ss,我会得到 1 天 23 小时 54 分 43 秒。我的要求是4天7小时54分47秒。我正在努力找出公式。请问我可以请求你帮我解决这个问题吗?谢谢你

“花费时间”列包括总时间,包括周末。它的原始数据

Sample data

excel powerbi
1个回答
0
投票

我同意您可以对公式结果进行一些算术转换以获得天数+小时的评论。

另一种方法是直接分解公式:

公式

=NETWORKDAYS(B2,C2)-1
的第一部分计算工作日,而第二部分
=IF(NETWORKDAYS(C2,C2),MEDIAN(MOD(C2,1),upper,lower),upper)-MEDIAN(NETWORKDAYS(B2,B2)*MOD(B2,1),upper,lower)
则处理开始日期和结束日期(如果不是假期)的工作时间。

所以基本上,您可以使用第一部分来计算天数,然后使用第二部分来计算剩余工作时间。

第二部分,

=IF(NETWORKDAYS(C2,C2),MEDIAN(MOD(C2,1),upper,lower),upper)-MEDIAN(NETWORKDAYS(B2,B2)*MOD(B2,1),upper,lower)
将始终产生位于
[-10 Hours, 10 Hours]
lower boundary = lower-upper
upper boundary =upper-lower
)范围内的数字。当这部分为负数时,需要进行一些调整。

在下表中,D 列使用

=NETWORKDAYS(B2,C2)-1
,E 列使用
=IF(NETWORKDAYS(C2,C2),MEDIAN(MOD(C2,1),upper,lower),upper)-MEDIAN(NETWORKDAYS(B2,B2)*MOD(B2,1),upper,lower)

在第4行中,您可以看到E列为负数,这意味着您需要从D列中减去一天以获得“完整工作日”,并在E列中添加10小时以获得剩余工作时间。

第二个表显示我使用的公式。

enter image description here

任务ID 到达日期 出发日期 工作日 十进制格式的存根小时数 完整工作日 存根时间
1-2QPM 44575.8044560185 44575.8044560185 =工作日(B2,C2)-1 =IF(NETWORKDAYS(C2,C2),MEDIAN(MOD(C2,1),上,下),上)-MEDIAN(NETWORKDAYS(B2,B2)*MOD(B2,1),上,下) =IF(E2>=0,D2,D2-1) =IF(E2>=0, E2,(上-下)+E2)
1-2QPM 44575.8044560185 44575.8472916667 =工作日(B3,C3)-1 =IF(NETWORKDAYS(C3,C3),MEDIAN(MOD(C3,1),上,下),上)-MEDIAN(NETWORKDAYS(B3,B3)*MOD(B3,1),上,下) =IF(E3>=0,D3,D3-1) =IF(E3>=0, E3,(上下)+E3)
1-2QPM 44575.8472916667 44582.6630439815 =工作日(B4,C4)-1 =IF(NETWORKDAYS(C4,C4),MEDIAN(MOD(C4,1),上,下),上)-MEDIAN(NETWORKDAYS(B4,B4)*MOD(B4,1),上,下) =IF(E4>=0,D4,D4-1) =IF(E4>=0, E4,(上下)+E4)
1-2QPM 44582.6630439815 44582.6815277778 =工作日(B5,C5)-1 =IF(NETWORKDAYS(C5,C5),MEDIAN(MOD(C5,1),上,下),上)-MEDIAN(NETWORKDAYS(B5,B5)*MOD(B5,1),上,下) =IF(E5>=0,D5,D5-1) =IF(E5>=0, E5,(上下)+E5)
1-2QPM 44582.6815277778 44582.7260185185 =工作日(B6,C6)-1 =IF(NETWORKDAYS(C6,C6),MEDIAN(MOD(C6,1),上,下),上)-MEDIAN(NETWORKDAYS(B6,B6)*MOD(B6,1),上,下) =IF(E6>=0,D6,D6-1) =IF(E6>=0, E6,(上下)+E6)
© www.soinside.com 2019 - 2024. All rights reserved.