如何解决如何在谷歌表中的数组中找到特定周期的移动平均值/最大值/最小值
我有一个包含以下数据的谷歌表。我必须找到 14 个(任何时期)时期的移动平均线。可以通过复制粘贴平均函数找到但是我想在数组中找到它。
感谢任何人的帮助。
解决方法
平均:
=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,)))
最大:
=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,"<>")))
运行平均值在数据末尾使用递减范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。