首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用ARRAYFORMULA进行累积和计算

如何利用ARRAYFORMULA进行累积和计算
EN

Stack Overflow用户
提问于 2020-02-26 19:53:16
回答 2查看 1.1K关注 0票数 3

是否可以任意计算(如。( A2*B2)在一组行上,并在使用ARRAYFORMULA获得累积和的过程中?例如,在下面的表格中,我们有数字(A栏)、乘数(B栏)、乘数的结果(C栏)和累计数字(D栏):

代码语言:javascript
复制
  | A       B           C       D           E                F
-------------------------------------------------------------------------------
1 | number  multiplier  result  cumulative  array formula    array formula sum?
2 | 3       4           12      12          12  
3 | 2       4           8       20          8   
4 | 10      1           10      30          10  
5 | 7       9           63      93          63  

我可以用ARRAYFORMULA在细胞E2 (特别是ARRAYFORMULA(A2:A5*B2:B5))中进行增殖。是否可以在单元格ARRAYFORMULA中使用F2 (或替代工具)来显示累计总数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-26 20:31:49

用途:

代码语言:javascript
复制
=ARRAYFORMULA(IF(A2:A="",,MMULT(TRANSPOSE((ROW(A2:A)<=
 TRANSPOSE(ROW(A2:A)))*A2:A*B2:B), SIGN(B2:B))))

票数 2
EN

Stack Overflow用户

发布于 2022-10-17 15:16:26

使用扫描兰卜达函数计算累积和:

=SCAN(0, F5:F, LAMBDA(accumulated_value, cell_value, accumulated_value + cell_value))

与在二次时间(O(N))中运行的ARRAYFORMULA解决方案相比,这将运行得更快,因为它具有线性复杂度(O(N**2))。

其中:

  • 0是累积和的初始值。
  • F5:F是要求和的范围。
  • LAMBDA(accumulated_value, cell_value, accumulated_value + cell_value))是计算每个单元格之和的函数。

样本文件

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

https://stackoverflow.com/questions/60421543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档