![如何在 Excel 中对数值进行求和直至达到指定的总和](https://linux22.com/image/1615580/%E5%A6%82%E4%BD%95%E5%9C%A8%20Excel%20%E4%B8%AD%E5%AF%B9%E6%95%B0%E5%80%BC%E8%BF%9B%E8%A1%8C%E6%B1%82%E5%92%8C%E7%9B%B4%E8%87%B3%E8%BE%BE%E5%88%B0%E6%8C%87%E5%AE%9A%E7%9A%84%E6%80%BB%E5%92%8C.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:5),1))<$A$1)*ROW(1:5),,))+1,1))
但是我遇到了一个问题,即在 ROW 公式中设置的区间内无法达到总和。
在此示例中,如果将 ROW 设置为 ROW(1:5) 并将 A1 设置为 14,您将得到 19。因此,即使达到最大 ROW,公式仍会继续添加。
我怎样才能阻止这种情况?
/阿斯格
答案1
如果你只有A1
阈值,然后有 5 个单元格的值,你可以使用这个公式A7
=IF(A2>=A1,A2,IF(SUM(A2:A3)>=A1,SUM(A2:A3),IF(SUM(A2:A4)>=A1,SUM(A2:A4),IF(SUM(A2:A5)>=A1,SUM(A2:A5),SUM(A2:A6)))))
它不是很优雅(并且无法扩展到更大的数据集),但应该可以解决问题
就目前情况而言,它的行为确实符合 OP 的要求(13 或 9)