对一行求和,直到达到某个值

问题描述 投票:0回答:2

我需要对第 2 行中的值求和,直到达到 A1 中指定的数字,然后停止并显示 0。例如,在 A1 中您有想要达到的值,例如 5。在单元格 c1 中您有 1,d1 您有 2,e1 您有 3,f1 您有 4,g1 您有 5。在单元格 c2 中它应该显示 1,在 d2 中显示 3,在 e2 中显示 5,然后在 f2 和 g2 中显示零。

=MIN(SUM($C$1:C1),$A$1)

这就是我尝试过的......它有效,但在显示所需数字后确实显示最大数字而不是零。

excel excel-formula sum
2个回答
2
投票

总结直到“突破”

=LET(br,C1:G1,bp,A1,bv,0,
    sc,SCAN(0,br,LAMBDA(rr,r,MIN(rr+r,bp))),
    m,XMATCH(bp,sc),
    s,SEQUENCE(,COLUMNS(br)),
IF(ISNA(m),sc,IF(s>m,bv,sc)))


0
投票

您可以简单地说“如果总和小于某个值,则显示该总和,否则显示 0”。
用公式表示:

=IF(SUM($B1:B1)<=20;SUM($B1:B1);0)

结果如下:

如果将公式拖到右侧,

B
$B1
前面的美元符号可确保该值不会更改。

也可以使用其他值来代替

0

=IF(SUM($B1:B1)<=20;SUM($B1:B1);20)

...如果您希望整个事情以零结束:

=IF(OR(F2=20;F2=0);0;IF(SUM($B1:G1)<=20;SUM($B1:G1);20))

© www.soinside.com 2019 - 2024. All rights reserved.