我有一张 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 天