Как суммировать значения в Excel, пока они не достигнут указанной суммы

Как суммировать значения в Excel, пока они не достигнут указанной суммы

Я хочу иметь пороговое значение в одной ячейке (A1) и использовать его в качестве эталона для добавления ячеек.

Предположим, у меня есть

А1 - 10

А2 - 4

А3 - 2

А4 - 3

А5 - 4

А6 - 6

Я хочу добавить ячейки на основе A1(Порог).

Если A1 равен 10, то будет добавлено A2:A5, сумма = 13

Если A1 равен 9, то будет сложено A2:A4, сумма = 9

Формула СУММ:

=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)

Связанный контент