根据日期范围计算滚动平均值[重复]
Posted
技术标签:
【中文标题】根据日期范围计算滚动平均值[重复]【英文标题】:Calculate rolling average based on date range [duplicate] 【发布时间】:2022-01-14 10:35:35 【问题描述】:我有一个每天早上用来称体重的谷歌表格
第 1 列是自动生成的时间戳。权重是我输入的值
Timestamp Morning weight
7/1/2021 8:41:55 185
7/2/2021 5:50:54 185.8
7/4/2021 8:16:58 186.2
7/5/2021 9:45:23 184
7/6/2021 5:56:06 184.2
7/7/2021 6:52:24 183.4
7/8/2021 4:37:18 184.8
7/9/2021 5:46:20 183.8
7/10/2021 10:07:58 184.2
7/11/2021 9:07:25 182.4
7/12/2021 6:39:53 182.8
7/14/2021 5:36:02 183.4
7/15/2021 6:14:42 181.2
7/16/2021 5:30:41 182.6
7/18/2021 7:00:43 181
7/19/2021 5:14:21 180.6
7/22/2021 5:54:42 180.2
7/23/2021 5:46:52 179.4
7/24/2021 8:14:06 180.8
7/25/2021 6:58:56 180.4
7/29/2021 7:25:15 180.8
7/30/2021 6:09:04 180.4
7/31/2021 7:34:20 180
8/1/2021 8:35:40 179.6
8/2/2021 5:48:48 178
8/3/2021 5:36:37 179.4
8/5/2021 5:53:58 179.8
8/6/2021 5:43:34 179
我想计算一下我每周的平均体重。有时我忘记输入数据,所以我想根据可用的数据进行计算:
7/19/2021 181.76 // calculated from 180.6 + 181 + 182.6 + 181.2 + 183.4` / 5
7/26/2021 180.2 // calculated from 180.4 + 180.8+179.4 + 180.2` / 4
这是一张可能有用的电子表格图片。我根据日期对我想要的范围值进行了颜色编码
我尝试过/之前做过的事情
我尝试使用 VLOOKUP 公式,但我认为它无法添加滚动计算。 INDEX/MATCH 似乎也可行,但不确定它是如何工作的
在我刚刚在原始数据旁边输入另一列并运行此之前
=ROUND(AVERAGE('Daily Measurements'!B89:B96),1)`
然后运行相应的 VLOOKUP。
不过我需要一个更强大的
我目前正在根据PreviousDate + 7
公式计算每个星期一的日期
【问题讨论】:
【参考方案1】:尝试:
=INDEX(QUERY(WEEKNUM(A2:A, 2), B2:B,
"select Col1,avg(Col2)
where Col2 is not null
group by Col1
label Col1'week number'"))
更新
四舍五入到小数点后一位:
=INDEX(TEXT(QUERY(WEEKNUM(A2:A, 2), B2:B,
"select Col1,avg(Col2)
where Col2 is not null
group by Col1
label Col1'week number'"), "@", "0.0"))
或:
=INDEX(TRUNC(QUERY(WEEKNUM(A2:A, 2), B2:B,
"select Col1,avg(Col2)
where Col2 is not null
group by Col1
label avg(Col2)''"), 1))
或:
=INDEX(ROUND(QUERY(WEEKNUM(A2:A, 2), B2:B,
"select Col1,avg(Col2)
where Col2 is not null
group by Col1
label avg(Col2)''"), 1))
【讨论】:
在avg
上是否有简单的方法将小数点四舍五入到小数点后一位?例如例如 170.1 而不是 170.0999999
@VincentTang 确定,答案已更新
谢谢大家欣赏这个!以上是关于根据日期范围计算滚动平均值[重复]的主要内容,如果未能解决你的问题,请参考以下文章