每小时测量的平均值和标准偏差
Average and Standard Deviation for every hour of measurements
我有一个 Excel 文件,其中包含时间日志和每次测量的数据,该列表会保留数天的日志。我想计算每小时测量值的平均值和标准差。
我的问题是每个小时的测量量不同,所以我什至无法开始。
列表如下所示:
Time measurement
28/8/2013 16:17 3831
28/8/2013 16:36 3668
28/8/2013 16:36 3685
28/8/2013 16:36 3676
28/8/2013 17:13 3671
28/8/2013 17:36 3669
28/8/2013 17:36 3664
28/8/2013 18:36 3654
28/8/2013 18:36 3661
我需要这样的输出:
Hour Average Stdv
28/08/2013 16:00 3715 77.64448897
28/08/2013 17:00 3668 3.605551275
28/08/2013 18:00 3657.5 4.949747468
有什么想法吗?
使用 Time
表示 ROWS 和 measurement
表示 VALUES 两次数据透视,一次作为平均值,一次作为 StdDev。通过选择年、月、日和小时对行进行分组。
一个AVERAGEIFS function可以轻松完成第一个任务。
=AVERAGEIFS(B:B, A:A, ">="&D3, A:A, "<"&D3+TIME(1, 0, 0))
您将需要一个 数组公式 作为第二个 STDEV.S function 的条件。
=STDEV.S(IF(A:A>=D3, IF(A:A<D3+TIME(1, 0, 0), B:B)))
数组公式需要用Ctrl+Shift+Enter↵完成。
尝试将整列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将引用范围缩小到最小值。
如果 A 列中的日期时间按升序排序,则此标准公式应该有效。
=STDEV.S(INDEX(B:B, IFERROR(MATCH(D3-TIME(0, 0, 1), A:A)+1,2)):INDEX(B:B, MATCH(D3+TIME(0, 59, 59), A:A)))
虽然这看起来更复杂,但它使用 INDEX/MATCH 函数对将 B 列的值范围解析为 A 列的匹配值。这应该大大减少对一长串日期时间的计算。这不是数组公式,不需要 Ctrl+Shift+Enter。
我有一个 Excel 文件,其中包含时间日志和每次测量的数据,该列表会保留数天的日志。我想计算每小时测量值的平均值和标准差。
我的问题是每个小时的测量量不同,所以我什至无法开始。
列表如下所示:
Time measurement
28/8/2013 16:17 3831
28/8/2013 16:36 3668
28/8/2013 16:36 3685
28/8/2013 16:36 3676
28/8/2013 17:13 3671
28/8/2013 17:36 3669
28/8/2013 17:36 3664
28/8/2013 18:36 3654
28/8/2013 18:36 3661
我需要这样的输出:
Hour Average Stdv
28/08/2013 16:00 3715 77.64448897
28/08/2013 17:00 3668 3.605551275
28/08/2013 18:00 3657.5 4.949747468
有什么想法吗?
使用 Time
表示 ROWS 和 measurement
表示 VALUES 两次数据透视,一次作为平均值,一次作为 StdDev。通过选择年、月、日和小时对行进行分组。
一个AVERAGEIFS function可以轻松完成第一个任务。
=AVERAGEIFS(B:B, A:A, ">="&D3, A:A, "<"&D3+TIME(1, 0, 0))
您将需要一个 数组公式 作为第二个 STDEV.S function 的条件。
=STDEV.S(IF(A:A>=D3, IF(A:A<D3+TIME(1, 0, 0), B:B)))
数组公式需要用Ctrl+Shift+Enter↵完成。 尝试将整列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将引用范围缩小到最小值。
如果 A 列中的日期时间按升序排序,则此标准公式应该有效。
=STDEV.S(INDEX(B:B, IFERROR(MATCH(D3-TIME(0, 0, 1), A:A)+1,2)):INDEX(B:B, MATCH(D3+TIME(0, 59, 59), A:A)))
虽然这看起来更复杂,但它使用 INDEX/MATCH 函数对将 B 列的值范围解析为 A 列的匹配值。这应该大大减少对一长串日期时间的计算。这不是数组公式,不需要 Ctrl+Shift+Enter。