在Excel中,如何在达到或超出值之前和之前添加值(运行总计)?

时间:2018-01-05 10:31:07

标签: excel excel-formula

Google表格链接:https://docs.google.com/spreadsheets/d/1e6FWnOfwzSXr6DaDvdo7Ruw_4qy9C0YUmvJlEfoQLCU/edit?usp=sharing

我需要什么?我只在A列中有数据。从A2到A97。在B2,B3等等中,我想要一个公式,从该特定行向上增加A列的值,直到达到或超过100%的值。我从Stackoverflow中的其他地方找到了一个Count的公式(如下所示),但它适用于某些行而不是其他行。 (此公式由用户@Jeeped建议)

package.json
(如果我想复制这个公式,在所有后续行中,它会起作用吗?) 请帮我解决我的错误。提前谢谢!

=MAX(INDEX((SUBTOTAL(9,OFFSET(A2, 0,0,ROW($1:$99),1))<=100%)*ROW($1:$99),,))+1

1 个答案:

答案 0 :(得分:0)

似乎你已经拥有的公式非常复杂。如果我正确理解你的问题,你希望B栏中的总数不断增加,直到它们达到100%(或1),然后他们就会继续返回1。

这很简单。您只需将计算放在if语句中,条件等于或大于1(因为1 == 100%),如果条件为真,则返回1,否则返回计算结果。

有一个example sheet here(在这种情况下,Google表格中的公式与Excel相同)

否则在B2中您只需要取A2的值(因为此时没有任何内容可以添加) 然后将以下内容放入B3并将其复制下来:

=if(A3+B2 >=1, 1, A3+B2)

然而对智者要谨慎:

如果您有负值,那么这不是一个好主意。假设您添加50%+ 50%+ 50%= 150%,但在您的情况下,这将只是= 100%。如果我们现在增加-25%,则总数为75%而不是125%

所以,为了清楚起见,如果您确定A栏中的所有数据都是正数,那么您应该只使用上述公式。