如何计算平均起床时间和起床时间?


5

我有两列的电子表格。A包含入睡时间(我上床睡觉的时间),B包含唤醒时间(我醒来的时间)。我该如何计算平均上床时间和起床时间?

例如;

A = 11:45 pm、11:00pm、12:15am、12:45am、12:00am

B = 6:00 am、5:00am、5:30am、7:00am、6:00am

另外,如何计算行之间的总睡眠时间?即使我转换为24小时格式,Excel中的典型平均公式也会被丢弃。任何想法将不胜感激。


欢迎使用超级用户。您能否澄清以解释“睡前总平均时间”是什么意思?您想知道什么?您是说如果我们晚上11点和午夜是睡觉时间,您的平均时间是11:30 pm?至于计算时间,请包括日期...,这样您的日期计算将变得更加容易(正确)。
2014年

谢谢。基本上从A列中的时间开始,我试图弄清楚您所说的是什么;如果是晚上11点和12点,则平均值为1130pm。
老虎

Answers:


2

如果在日期中加上时间,则可以像普通数字一样简单地减去和求平均值。但是,数字格式对于正确显示数据很重要。

例如:

在此处输入图片说明

在小区中的公式C2= B2-A2和在细胞的平均值公式A7= AVERAGE(A2:A6)

C列的自定义数字格式使用h“ hrs” mm“ min”,AB列使用m / d / yyyy h:mm AM / PM。单元格A7B7使用标准的时间数字格式。


谢谢!这非常有效,只是一个问题。在A列中,如何管理从PM> AM开始的时间。例如,在第3行和第4行中,日期被跳过了一天。如果我要在上午和下午之间的几分钟切换到第四点呢?
老虎

这就是包括日期的原因。Excel将日期/时间存储为单个值,因此日期+时间是连续的比例。整数部分是自参考日期开始的天数,小数部分是一天的一部分。Excel并不认为AM / PM只是格式。它是连续体上的日期+时间值减去另一个日期+时间值。
fixer1234 2014年

是的,就像fixer所说的,只需在显示的单元格中完全按照显示的日期和日期输入日期:12/4/2014 12:15 AM。Excel会将其与日期和时间关联为一个数字。

哎呀,所以需要输入实际的日期和时间。再次感谢!
老虎

1
只要您不睡超过24小时,就可以不加约会地进行操作!只需将Bed时间放在A2中,将Wake时间放在B2中,然后在C2中使用此公式-= MOD(B2-A2,1)-在某些情况下使用日期可能会有所帮助,但我会小心平均那些列,例如,=AVERAGE(A2:A6)可能会给您所示示例中的有效结果,但是如果不存在第6行怎么办=AVERAGE(A2:A5)?您得到了什么?对这些值进行平均会带来问题,因为您将平均值包括在内。
巴里·胡迪尼

2

要准确地执行此操作而不必添加日期:

在不使用日期的情况下计算睡眠时间和平均值。

正如@ barry-houdini在评论中提到的那样,要使“小时睡眠”正常工作,您将需要使用MOD自下午2:00/24:00开始“回绕”的时间,这在电子表格世界中等于1。要做到这一点:

C3: =mod(B3-A3,1)

一旦有了持续时间,平均值就很简单:

C2: =AVERAGE(C3:C7)

对于实际时间的平均值,ARRAYFORMULA如果有可能需要在任一列中的时间“绕开”午夜(例如,一侧可能有一些值,而另一侧可能有一些值),则需要使用实际时间的平均值。为此,我们有:

A2: =ARRAYFORMULA(AVERAGE(if(A3:A7>0.5,A3:A7,A3:A7+1)))

上面的公式简单地获取范围内的每个值,检查它是否超过0.5(正午),如果不加 1 ,则将其移动到第二天,然后对所有值取平均值。0.5假设您在中午之前不上床睡觉,但是如果您的日程安排不寻常,您显然可以更改时间。

对于平均的唤醒时间,大多数人可能不需要上述时间,因为通常您会在一天的午夜和第二天的午夜之间醒来,因此您的任何价值观都无需“四处走动”。说:

B2: =AVERAGE(B3:B7)

要使用日期准确地做到这一点:

使用日期计算睡眠时间和平均值。

添加日期实际上仅掩盖了计算平均值的问题,因为它同时使用日期和时间作为平均值。它在计算特定日期的时间,该时间是所有日期和时间值的平均值。这导致两个问题:

  1. 如果您错过任何一天的数据,那么您的平均值将完全被抵消
  2. 如果您有偶数天的数据,它将为您提供相反的AM / PM时间值

您真正想要平均的是TIMEVALUES,因此我们只需将其添加到上面公式中的每个范围即可:

A2: =ARRAYFORMULA(AVERAGE(if(TIMEVALUE(A3:A7)>0.5,TIMEVALUE(A3:A7),TIMEVALUE(A3:A7)+1)))

B2: =ARRAYFORMULA(AVERAGE(TIMEVALUE(B3:B7)))

C2不需要更改,因为它仍然只处理持续时间而不是日期。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.