繁体   English   中英

Google表格中重置运行总计的ArrayFormula

[英]ArrayFormula of Resetting Running Total in Google Sheets

我正在寻找一个(非拖动)ArrayFormula 的运行总计,每次 alt 列中的值更改时都会重置。 例子:

          desired result
a    2          2
a    3          5
a    5         10
b    2          2
c    3          3
c    4          7

所以每次第一列中的值都会改变总和重置。 如果重要,表格总是排序的。


非复位常规运行总计公式:

  •  =ARRAYFORMULA(SUMIF(ROW(B1:B6), "<="&ROW(B1:B6), B1:B6))
  •  =ARRAYFORMULA(MMULT(TRANSPOSE((ROW(B1:B6)<=TRANSPOSE(ROW(B1:B6)))*B1:B6), SIGN(B1:B6)))

我试图以某种方式将它与这个计数器公式结合起来,但到目前为止还没有运气:

=ARRAYFORMULA(COUNTIFS(A1:A6, A1:A6, ROW(A1:A6), "<="&ROW(A1:A6)))

我也做了一些研究,但只找到了我感兴趣的脚本或拖动/MS Excel 公式解决方案,例如:

=SUM(INDIRECT("L"&SUMPRODUCT(MAX(($H$2:H4=0)*ROW($H$2:H4)))+1):L5)
-----------------------------------------------------------------------------------------------------------
=SUM(L$3:L5)-SUM(M$4:M4)
-----------------------------------------------------------------------------------------------------------
=SUM($C$2:$C2)-IFERROR(SUM($C$2:OFFSET($C$1,LOOKUP(2,1/($B$2:$B2="reset"),ROW($B$2:$B2)-ROW($B$2)+1),0)),0)
-----------------------------------------------------------------------------------------------------------
=MOD((ROW()-ROW(E$1))*1,(1+5))

如果表格总是按 A 列排序,您可以这样做:

=ARRAYFORMULA(SUMIF(ROW(B1:B6), "<="&ROW(B1:B6), B1:B6)-SUMIF(A1:A6, "<"&A1:A6, B1:B6))

在此处输入图像描述

如果表格未排序,您仍然可以使用 vlookup 进行排序:

=ARRAYFORMULA(SUMIF(ROW(B1:B6), "<="&ROW(B1:B6), B1:B6)-SUMIF(row(A1:A6), "<"&vlookup(A1:A6,{A1:A6,row(A1:A6)},2,false), B1:B6))

在此处输入图像描述

此外,您还可以尝试

=ArrayFormula(if(len(A:A),mmult(--transpose(if( (transpose(row(A:A))>=row(A:A))*(A:A=transpose(A:A)),B:B, 0)),row(A:A)^0),))

如果数据未排序,这也应该有效。

在此处输入图像描述

@JPV 解决方案的修改侧重于speed

=INDEX(MMULT(1*TRANSPOSE(IF((TRANSPOSE(ROW(
 INDIRECT("A2:A"&MAX(ROW(A2:A)*(A2:A<>"")))))>=ROW(
 INDIRECT("A2:A"&MAX(ROW(A2:A)*(A2:A<>"")))))*(
 INDIRECT("A2:A"&MAX(ROW(A2:A)*(A2:A<>"")))=TRANSPOSE(
 INDIRECT("A2:A"&MAX(ROW(A2:A)*(A2:A<>""))))), 
 INDIRECT("B2:B"&MAX(ROW(A2:A)*(A2:A<>""))), 0)), ROW(
 INDIRECT("A2:A"&MAX(ROW(A2:A)*(A2:A<>""))))^0))

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM