如何计算Excel中的平均时间(如果小时数超过24小时)

时间:2012-04-10 06:23:40

标签: excel time

我有一些时间值,如10:00,8:50,9:45等等(24小时格式)。 我想知道我如何计算这3个项目的平均值,如果小时数超过24(如果更少,那么没有问题)?

感谢。

谢谢大家。它工作,如果只是在单元格中键入值并尝试找到平均值,但如果我使用时间,这已经是我的计算结果,它会工作很奇怪。这里截图:

enter image description here

5 个答案:

答案 0 :(得分:1)

与任何其他数值一样(例如使用AVERAGE()函数)。

使用格式掩码:

[hh]:mm

如果要显示超过24小时(例如,对于SUM()函数)。

答案 1 :(得分:1)

计算一组时间或风向列表的平均值可被视为类似于计算一组向量的平均值(包含方向和幅度的值)。因此,有必要将时间值等于它们在一个圆上的各自位置,得出它们的垂直分量值并求和这些值,以获取任何这种形式的循环群的“平均值”。

假设你有两次,23:00和01:00,那么正常的平均计算(sumproduct / count)会给你带来不正确的值[12 [(23 + 1)/ 2]而不是正确的24:00 / 00:00值。但是,如果您将23:00视为等于24小时圆上的矢量1 <345°且等于1 <15°的01:00,则可以获得它们的矢量平均值[cos(345°)+ cos(15°) )+ i *(sin(345°)+ sin(15°))] = 1 <360°,其值等于24小时圆上的00:00。 但请注意,此方法将相隔12小时取消时间,例如,如果您只有01:00和13:00,则无法确定平均时间。

我将给你留下公式(A列中的时间)

TIME_TO_DEGREES                     COSINE              SINE
=(360/24)*(HOUR(A2)+MINUTE(A2)/60)  =COS(RADIANS(B2))   =SIN(RADIANS(B2))
=(360/24)*(HOUR(A3)+MINUTE(A3)/60)  =COS(RADIANS(B3))   =SIN(RADIANS(B3))
=(360/24)*(HOUR(A4)+MINUTE(A4)/60)  =COS(RADIANS(B4))   =SIN(RADIANS(B4))
=(360/24)*(HOUR(A5)+MINUTE(A5)/60)  =COS(RADIANS(B5))   =SIN(RADIANS(B5))

                                    [C8]                [D8]
               COMPONENT AVERAGES   =AVERAGE(C2:C7)     =AVERAGE(D2:D7)

AVERAGE DEGREES                     DEGREES_TO_HOUR     MAGNITUDE
=ROUND(DEGREES(IF(C8=0,ACOS(C8),
IF(D8=0,ASIN(D8),
ATAN(D8/C8)))),3)
+IF(C8<0,180,0)
+IF(AND(D8<0,C8=0),180,0)
+IF(AND(D8<0,C8>0),360,0)           =E8/360             =(C8^2+D8^2)^0.5

在幅度为零的情况下,尝试计算平均时间是不可行的。

答案 2 :(得分:0)

您是否尝试过使用AVERAGE功能?

我用excel测试了你的值,它给了我正确的平均时间。

答案 3 :(得分:0)

一种方法是将每个单元格时间转换为,然后平均这些秒数,最后转换为 hh:mm:ss 格式

答案 4 :(得分:0)

简单只需单击“单元格(时间)”并将其转换为“自动”到12小时即可

即如果您有 00:31:24 ,则将其转换为“完整日期”,例如 12:31:24

之后,您可以使用“平均值”。