![如何在 Excel 中对值进行求和,直到达到指定的总数,然后添加列中的下一个单元格](https://linux22.com/image/1490607/%E5%A6%82%E4%BD%95%E5%9C%A8%20Excel%20%E4%B8%AD%E5%AF%B9%E5%80%BC%E8%BF%9B%E8%A1%8C%E6%B1%82%E5%92%8C%EF%BC%8C%E7%9B%B4%E5%88%B0%E8%BE%BE%E5%88%B0%E6%8C%87%E5%AE%9A%E7%9A%84%E6%80%BB%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%E5%88%97%E4%B8%AD%E7%9A%84%E4%B8%8B%E4%B8%80%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC.png)
我希望一个单元格中有一个阈值(A1
),并将其作为添加单元格的参考。
假设我有
A1 - 10
A2 - 4
A3 - 2
A4 - 3
A5 - 4
A6 - 6
我想根据 A1(阈值)添加单元格。
如果A1
是 10,则会增加A2:A5
,总和 = 13
如果A1
是 9,则会增加A2:A4
,总和 = 9
SUM 公式为
=SUM(OFFSET($A$2,0,0,MAX(INDEX((SUBTOTAL(9,OFFSET($A$2, 0,0,ROW(1:99),1))<$A$1)*ROW(1:99),,))+1,1))
我对第一部分有一个公式......
然后我希望公式在达到阈值后在下一个单元格中添加一定百分比的值:
如果A1
为 10,则应A2:A5
添加单元格,再加上 50% A6
;总和 = 16
答案1
这最簡單这样做的方法是使用你已经找到的间接方法对该单元格进行操作 -
=SUM(OFFSET($A$2,0,0,MAX(INDEX((SUBTOTAL(9,OFFSET($A$2, 0,0,ROW(1:99),1))
<$A$1)*ROW(1:99),,))+1,1),
(0.5)*INDIRECT("A"&MAX(INDEX((SUBTOTAL(9,OFFSET($A$2,0,0,ROW(1:99),1))
<$A$1)*ROW(1:99),,))+3))
我认为第二部分可能会更好或者比第一部分更好,但我还没有想出来。