计算两次之间的差异,排除周末,然后取平均值

计算两次之间的差异,排除周末,然后取平均值

我有一张 Excel 2007 工作表,需要计算两个时间之间的差异(不包括周末),然后在一周或一个月结束时,在“差异”列中找到时间量的平均值。

以下是我目前所掌握的信息:

=NETWORKDAYS(A3,H3)-1&" DAYS, "&TEXT(H3-A3,"HH"" HRS AND ""MM""MIN"""))

这给了我结果1 天 02 小时 03 分钟这很好;我只是想不出办法找到用这种格式表示的时间的该列数据的平均值。

有什么建议么?

非常感谢。

答案1

您现有的公式并不总是有效,例如,如果 A3 是星期四 10:00,而 H3 是第二天 09:00,结果不应该是

0 DAYS, 23 HRS AND 00MIN

但该公式的实际结果高出了 1 天,即

1 DAYS, 23 HRS AND 00MIN

为什么不以 hh:mm 形式返回结果,然后计算平均值,即使用这个公式

=NETWORKDAYS(A3,H3)-1+MOD(H3,1)-MOD(A3,1)

自定义格式结果为 [h]:mm 然后你可以简单地平均结果列

注意:该公式的工作原理假设 A3 和/或 H3 始终是工作日

替代解决方案:

使用此公式来解决我发现的问题

=NETWORKDAYS(A3,H3)-1-(MOD(H3,1)< MOD(A3,1))&" DAYS, "&TEXT(H3-A3,"HH"" HRS AND ""MM"" MIN""")

假设您在 J3:J10 中使用该公式获得结果,请尝试使用此公式以相同格式得出平均值

=SUMPRODUCT(MID(0&J3:J10,FIND({"D","H","M"},J3:J10)-2,3)/{1,24,1440})/ROWS(J3:J10)

将结果单元格格式化为自定义:

d" DAYS, "hh" HRS AND "mm" MIN"

注意:此方法的前提是,任何时间段均不超过 99 个工作日,且平均工作日少于 32 天

相关内容