如何在 Excel 中对数值进行求和直至达到指定的总和

如何在 Excel 中对数值进行求和直至达到指定的总和

我想要一个单元格(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)

相关内容