英文:
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.
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)
英文:
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)
答案2
得分: 3
另一种更干净的方法可以使用MAKEARRAY()
。尝试以下公式。
=MAKEARRAY(ROWS(B2:D4),COLUMNS(B2:D4),
LAMBDA(r,c,SUM(TAKE(CHOOSEROWS(B2:D4,r),1,c))))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论