Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >包含平均函数计算移动平均的Google数组公式

包含平均函数计算移动平均的Google数组公式
EN

Web Applications用户
提问于 2022-01-29 10:22:50
回答 2查看 430关注 0票数 0

我有许多列,它们用诸如=average(E2:E4)这样的公式计算一系列移动平均线(用于3天移动平均值)。我想使用数组公式代替,因为我不断地将数据添加到列表中。问题是,我为平均E1:E3使用的数组与我想要创建的数组公式方向相同,其中的值将是,例如,E2:EE4:E

一个3天移动平均线的例子

编辑:对不起。我只是想把我的问题说得太简洁。我想要一个更通用的公式,因为我不只是做一个3天的移动平均,而是一个7天,14天,和30天,每一个单独列。我真的不想把一个分母里的30个项目加在一起。

谢谢你到目前为止的回复。

EN

回答 2

Web Applications用户

发布于 2022-01-29 14:16:19

删除F2:F中的所有内容,只留下标题。

然后,如果您在一个使用逗号作为参数描述器的国际区域设置中,请在F2中放置以下公式:

=ArrayFormula(IF(E2:E="",,(SUMIF(ROW(E2:E),"<="&ROW(E2:E)+1,E2:E)-SUMIF(ROW(E2:E),"<"&ROW(E2:E)-1,E2:E))/ARRAY_CONSTRAIN(ISNUMBER(E:E)+ISNUMBER(E2:E)+ISNUMBER(E3:E),ROWS(E2:E),1)))

如果您在一个使用分号作为参数分隔符的国际区域设置中,请在F2中使用此版本:

=ArrayFormula(IF(E2:E="";;(SUMIF(ROW(E2:E);"<="&ROW(E2:E)+1;E2:E)-SUMIF(ROW(E2:E);"<"&ROW(E2:E)-1;E2:E))/ARRAY_CONSTRAIN(ISNUMBER(E:E)+ISNUMBER(E2:E)+ISNUMBER(E3:E);ROWS(E2:E);1)))

从本质上讲,这个公式表示,“将一行后向和一行之间的数字相加,然后除以其中许多单元格持有实数(例如,不是文本、布尔值或空值)。”

票数 0
EN

Web Applications用户

发布于 2022-01-29 11:30:00

尝试:

=transpose(index(query(transpose(split(regexextract(substitute(substitute("~"&join("~",indirect("E1:E"&max(row(E:E)*(E:E<>""))))&"~~","~","#",sequence(counta(E:E),1,4,1)),"~","#",sequence(counta(E:E),1,1,1)),"#(.*)#"),"~")),"select avg(Col"&join("), avg(Col",sequence(counta(E:E)))&")"),2))

编辑:这里有一个更通用的公式,它也适用于中间的空白单元格:

=index(iferror(transpose(index(query(--transpose(split(regexextract(substitute(substitute("~"&join("~",indirect("E1:E"&max(row(E:E)*(E:E<>""))+1))&"~~","~","#",sequence(rows(indirect("E1:E"&max(row(E:E)*(E:E<>""))+1)),1,4,1)),"~","#",sequence(rows(indirect("E1:E"&max(row(E:E)*(E:E<>""))+1)),1,1,1)),"#(.*)#"),"~")),"select sum(Col"&join("), sum(Col",sequence(rows(indirect("E1:E"&max(row(E:E)*(E:E<>""))+1))))&")"),2)/transpose(mmult(transpose(n(isnumber(ifna(transpose(split(regexextract(substitute(substitute("~"&join("~",indirect("E1:E"&max(row(E:E)*(E:E<>""))+1))&"~~","~","#",sequence(rows(indirect("E1:E"&max(row(E:E)*(E:E<>""))+1)),1,4,1)),"~","#",sequence(rows(indirect("E1:E"&max(row(E:E)*(E:E<>""))+1)),1,1,1)),"#(.*)#"),"~")))))),{1;1;1})))))

演示

票数 -1
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/162620

复制
相关文章
JavaScript中的运算符
JavaScript中的运算符,大多数是由标点符号表示的,比如“+”和“=”。而另外一些运算符则是由关键字表示的,比如delete和instanceof。关键字运算符和标点符号所表示的运算符一样都是正规的运算符。
FEWY
2019/05/26
1.3K0
JavaScript能做什么?
JavaScript除了做前端开发,还能做什么? 很多朋友学习的第一门编程语言就是JavaScript,学习的过程中一定会思考这个问题:“JavaScript除了做前端开发,还能做什么?”其实很多人问这个问题的时候,潜意识是有一些懒惰的嫌疑,希望JavaScript能做的事儿越多越好,这样我们专心学好JavaScript,就可以成为万金流,什么都能做,就再也不用管什么java、php、python等等编程语言了。 那我们在思考JavaScript能做什么之前,先看看下面这个问题: 厨房里的一把菜刀除了切
企鹅号小编
2018/01/22
2.1K0
JavaScript能做什么?
Javascript中!!是什么运算符?
刚看到!!的时候也是一脸懵逼,这tm是什么鬼。 !oObject !!oObject 因此!!不是运算符,它只是使用了两次!运算符。 真实案例 真实案例中常见的一个方法就是用来检测IE版本,请看以下代码: let isIE8 = false; isIE8 = !! navigator.userAgent.match(/MSIE 8.0/);//是否为IE8.0 console.log(isIE8); // returns true or false 如果直接打印以下结果,将会输出Araay或null
IT工作者
2022/02/08
5090
javascript 中的位运算符
位与(&)、位或(|)、位异或(^)、非位(~) 左移(<<)、右移(>>)、无符号右移(>>>) &(位与) “&”运算符(位与)用于对两个二进制操作数,逐位取与 第一个数的位值 第二个数的位值 运算结果 1 1 1 1 0 0 0 1 0 0 0 0 |(位或) “|”运算符(位或)用于对两个二进制操作数,逐位取或 第一个数的位值 第二个数的位值 运算结果 1 1 1 1 0 1 0 1 1 0 0 0 ^(位异或) “^”运算符(位异或)用于对两个二进制操作数,逐位取异或 位数据相同得 0,不同得
前端小书童
2020/09/24
9240
JavaScript中的比较运算符
第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。
acoolgiser
2019/01/17
1.3K0
JavaScript中的比较运算符
JavaScript中的比较运算符 JavaScript中的比较运算符粗略的可以分为两种: 相等运算符(==、===、!==)这些 关系运算符(>、<、>=) 在平时开发中,基本不会太关注这两者的差异,我们几乎总是可以获取到我们想要的结果-。- 前几天在群里一个小伙伴问了个问题: console.log(null > 0) // => false console.log(null < 0) // => false console.log(null == 0) // => fals
贾顺名
2018/04/12
1.1K0
JavaScript中的比较运算符
javascript中的for in 和 in运算符
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/51218198
空空云
2018/09/27
6950
JavaScript中的比较运算符
最后一个null >= 0的结果为true。 刚看到这个代码的时候,下意识地会认为结果应该也是false,毕竟上边标明了三种情况都为false。 然而这个就露出了相等运算符和关系运算符两者执行的差异。
贾顺名
2019/12/05
1.2K0
JavaScript中的三目运算符
判断 javascript中的三目运算符用作判断时,基本语法为: expression ? sentence1 : sentence2 当expression的值为真时执行sentence1,否则执行
刘亦枫
2020/03/19
1.3K0
JavaScript中!!、||、?.、??运算符的区别和用法
JavaScript 中有四个常用的运算符,分别是 !!、||、?.、??,它们都可以用于处理值的真假性和空值情况,但它们的行为和逻辑有所不同。本文将介绍这四个运算符的定义、功能和示例,帮助你理解和掌
德顺
2023/08/25
3.1K0
JavaScript(运算符)
在我们都js中,如果运算数不是运算符所要求的类型,那么js会自动将运算数进行类型转换。
全栈开发日记
2022/05/12
6770
JavaScript 运算符
运算符(operrator)也被称为操作符,是用于实现赋值、比较和执行算术运算符等功能的符号。
梨涡浅笑
2020/10/27
5510
JavaScript——运算符
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
岳泽以
2022/10/26
3050
JavaScript运算符
如果将字符串与数字进行比较,那么在做比较时 JavaScript 会把字符串转换为数值。
efonfighting
2019/12/24
4520
JavaScript运算符
在 JavaScript 中轻松处理 this [每日前端夜话0xD1]
我喜欢 JavaScript 中能够更改函数执行上下文(也称为 this)的特性。
疯狂的技术宅
2019/10/17
2.4K0
JavaScript强化教程——JavaScript 运算符
本文介绍了JavaScript运算符的相关知识,包括算术运算符、赋值运算符、字符串运算符、比较运算符、条件运算符和位运算符。这些运算符是JavaScript编程中的基础组成部分,对于理解编程逻辑和代码优化具有重要价值。
IMWeb前端团队
2018/01/08
6820
JavaScript强化教程——JavaScript 运算符
本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— JavaScript运算符 JavaScript算术运算符
IMWeb前端团队
2019/12/04
4360
深度了解 JavaScript 中 三目运算符
通过一个简单的案例,让你更深层的了解判断类型的三目运算符的应用 分为 单条件 和 多条件 两种类型。
全栈程序员站长
2022/09/13
1.4K0
JavaScript 算术运算符、赋值运算符
1、算术运算符: +(加)、 -(减)、 *(乘)、 /(除)、 %(求余) 2、赋值运算符:=、 +=、 -=、 *=、 /=、 %= 3、条件运算符:==、===、>、>=、<、<=、!=、&&(而且)、||(或者)、!(否)
Devops海洋的渔夫
2019/05/31
1.2K0
JavaScript运算符列表
一、运算符 包含 JavaScript 所有运算符及其详细使用说明。 1、一元运算符 只对一个操作数进行调整。 符号 含义 详情 delete 用于删除对象属性,成功返回true,失败返回false 查看 void 可以把语句变成表达式 查看 typeof 返回操作数的类型字符串 查看 + 自增 查看 - 自减 查看 + 1、转换为数字;2、加法;3、连接字符串 查看 - 1、转换成数字;2、减法 查看 ~ 按位进行非操作,反转其操作数的位 查看 ! 逻辑非,对操作数进行否定操作 查看 !! 逻
Learn-anything.cn
2021/12/25
5770

相似问题

'|‘运算符在javascript中做什么?

10

除了除法之外,/运算符在javascript中还能做什么

10

|运算符在Qt中做什么?

11

>>运算符在python中做什么?

17

@运算符在SAS中做什么?

28
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档