我与每天必须在 Google 表格中填写信息的老师一起工作。有一个日期列和一个事件计数列。他们每天登录并添加一行新日期和事件计数。
这里是任何人都可以访问的电子表格版本的链接:https://docs.google.com/spreadsheets/d/1tiFe99q1mTIWlsIh2v9toPWE1QTfBZ6F2_rpKlWNi8g/edit?usp=sharing
他们希望在电子表格的顶部看到一个单元格(在标题和数据输入开始的地方上面有几行用于元数据计算——我知道,这不是最佳实践),填充了最近的 10-日滚动平均事件数。
我知道如何制作一个包含 10 天滚动平均值的列:只需 =AVERAGE(),单元格位于同一行,事件计数列中的上方 9 个单元格。
但是,我如何在电子表格顶部制作一个单元格:
如果我确实需要一个 10 天的滚动平均值列,如果不是所有 10 个单元格都是数字(它将包括标题或空白),我如何编写一个使单元格空白的公式,所以它不计算它对于没有足够天数来计算 10 天平均值的任何行?
感谢您考虑我的问题!我将 DAX 用于 PowerBI,我将使用 LASTDATE。想知道 Google 表格是否有相同的概念,但在公式中。
试试这个:
=QUERY($A$24:$D$136,"select avg(D) where B >= date '"&TEXT(TODAY(),"yyyy-mm-dd")&"' and B <= date '"&TEXT(TODAY()+10,"yyyy-mm-dd")&"' label avg(D) ''",0)
在表格中,您可以尝试:
minimum of 10 values
内找不到
D25:D
#1 如果事件列 (
D25:D
) 严格仅容纳值(中间没有空白单元格或文本值)
=let(Σ,counta(D25:D),if(Σ>9,round(average(offset(D25,Σ-10,,10)),2),"-"))
#2 如果事件列 (
D25:D
) 具有混合数据集,如屏幕截图所示
=let(Σ,D25:D,
Δ,choosecols(sortn(filter({Σ,row(Σ)},isnumber(Σ),Σ<>""),10,,2,0),1),
if(counta(Δ)>9,round(average(Δ),2),"-"))