如何使用Office365 Excel数组公式计算所有行和月份的年初至今总额?

huangapple go评论71阅读模式
英文:

Using Office365 Excel array formulas, how to calculate ytd totals for all rows and months?

问题

可以一个数组公式计算每个月和名称的年初至今总额吗?请查看期望的结果。我尝试按行进行,但出现#calc!错误。

英文:

Can one array formula calculate ytd totals for each month and name? See desired results. I tried doing it by row but getting a #calc! error.

如何使用Office365 Excel数组公式计算所有行和月份的年初至今总额?

Formula:

=LET(data,B5:D7,BYROW(data,LAMBDA(r,SCAN(0,r,LAMBDA(a,v,a+v)))))

Data:

Jan Feb Mar
A 1 2 3
B 4 5 6
C 7 8 9

答案1

得分: 3

你之所以得到 #CALC! 是因为 BYROW() 不能返回数组输出,它只能返回单个值。尝试使用以下公式:

=DROP(REDUCE("",BYROW(B2:D4,LAMBDA(rw,TEXTJOIN("|",1,SCAN(0,rw,LAMBDA(a,x,a+x))))),LAMBDA(acc,dt,VSTACK(acc,TEXTSPLIT(dt,"|")))),1)

如何使用Office365 Excel数组公式计算所有行和月份的年初至今总额?

英文:

You getting #CALC! because BYROW() can't return array output. It can only return single value. Try-

=DROP(REDUCE("",BYROW(B2:D4,LAMBDA(rw,TEXTJOIN("|",1,SCAN(0,rw,LAMBDA(a,x,a+x))))),LAMBDA(acc,dt,VSTACK(acc,TEXTSPLIT(dt,"|")))),1)

如何使用Office365 Excel数组公式计算所有行和月份的年初至今总额?

答案2

得分: 3

另一种更干净的方法可以使用MAKEARRAY()。尝试以下公式。

=MAKEARRAY(ROWS(B2:D4),COLUMNS(B2:D4),
LAMBDA(r,c,SUM(TAKE(CHOOSEROWS(B2:D4,r),1,c))))

如何使用Office365 Excel数组公式计算所有行和月份的年初至今总额?

英文:

Another cleaner approach could be using MAKEARRAY(). Give a try to the following formula.

=MAKEARRAY(ROWS(B2:D4),COLUMNS(B2:D4),
LAMBDA(r,c,SUM(TAKE(CHOOSEROWS(B2:D4,r),1,c))))

如何使用Office365 Excel数组公式计算所有行和月份的年初至今总额?

huangapple
  • 本文由 发表于 2023年6月6日 09:26:00
  • 转载请务必保留本文链接:https://go.coder-hub.com/76410889.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定