根据日期范围计算滚动平均值
Calculate rolling average based on date range
我有一个 google 表格,我每天早上都会用它来称体重
第 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
这是一张可能有用的电子表格图片。我根据日期
对我想要的 运行ge 值进行了颜色编码
我以前尝试过/正在做的事情
我尝试使用 VLOOKUP 公式,但我认为它无法添加滚动计算。 INDEX/MATCH 似乎也可行,但不确定它是如何工作的
在我刚刚输入原始数据旁边的另一列之前,运行这个
=ROUND(AVERAGE('Daily Measurements'!B89:B96),1)`
然后运行一个对应的VLOOKUP。
但我需要一个更坚固的
我目前正在根据 PreviousDate + 7
公式
计算每个星期一的日期
尝试:
=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))
我有一个 google 表格,我每天早上都会用它来称体重
第 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
这是一张可能有用的电子表格图片。我根据日期
对我想要的 运行ge 值进行了颜色编码我以前尝试过/正在做的事情
我尝试使用 VLOOKUP 公式,但我认为它无法添加滚动计算。 INDEX/MATCH 似乎也可行,但不确定它是如何工作的
在我刚刚输入原始数据旁边的另一列之前,运行这个
=ROUND(AVERAGE('Daily Measurements'!B89:B96),1)`
然后运行一个对应的VLOOKUP。
但我需要一个更坚固的
我目前正在根据 PreviousDate + 7
公式
尝试:
=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))