微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在谷歌表中的数组中找到特定周期的移动平均值/最大值/最小值

如何解决如何在谷歌表中的数组中找到特定周期的移动平均值/最大值/最小值

我有一个包含以下数据的谷歌表。我必须找到 14 个(任何时期)时期的移动平均线。可以通过复制粘贴平均函数找到但是我想在数组中找到它。

感谢任何人的帮助。

screenshot of data

解决方法

平均:

=INDEX(IFNA(VLOOKUP(ROW(A1:A),QUERY(SPLIT(FLATTEN(ROW(A1:A)&"×"&ARRAY_CONSTRAIN(
 SPLIT(FLATTEN(QUERY(TRANSPOSE(IF(ROW(A1:A)<=TRANSPOSE(ROW(A1:A))=TRUE,TRANSPOSE(A1:A*1)&"×",)),9^9)),"×"),9^9,14 +N("14 day window"))),"select Col1,avg(Col2)
  where Col2 is not null
  group by Col1"),2,)))

enter image description here

最大:

=INDEX(IFNA(VLOOKUP(ROW(A1:A),TRANSPOSE(A1:A)&"×",max(Col2)
  where Col2 is not null
  group by Col1"),)))

分钟:

=INDEX(IFNA(VLOOKUP(ROW(A1:A),min(Col2)
  where Col2 is not null
  group by Col1"),)))
,

这是一种更简单的方法,可能对您有用:

=ArrayFormula(if(A2:A="","",(sumif(row(A2:A),"<"&row(A2:A)+14,A2:A)-sumif(row(A2:A),"<"&row(A2:A),A2:A))
/countifs(row(A2:A),">="&row(A2:A),row(A2:A),A2:A,"<>")))

enter image description here

运行平均值在数据末尾使用递减范围。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。