Условная кумулятивная сумма в виде массива-формулы



У меня есть один столбец, значения которого я перечисляю совокупную сумму в столбце результатов. Но это должно произойти отдельно для трех (отсортированных) категорий во втором столбце!
скриншот



Смотрите примерный лист здесь.



Я уже несколько часов безуспешно пытаюсь решить эту довольно простую задачу. Поскольку формула будет частью уже довольно обширного массива-формула это



  1. Обязательно быть Ан массив-формула



  2. Лучше всего, если мы сможем заставить его работать без дальнейших =if() вопросов



Это очень просто решить с помощью формулы перетаскивания, но я не могу перевести это в Формулу массива по какой-то причине!



=SUMIF($B$2:B2,$B$2:B2,$A$2:A2)

551   1  

1 ответ:

На листе "JP" в вашей общей электронной таблице я ввел D2

=ArrayFormula((IF(LEN(A2:A), SUMIF(ROW(A2:A),"<="&ROW(A2:A),A2:A),)))

Посмотрим, сработает ли это?

EDIT: для получения суммарной суммы по категориям попробуйте следующую формулу

=ArrayFormula(if(len(B2:B100), mmult({mmult(if(B2:B100<>"A", 0,transpose(if(transpose(row(B2:B100))>=row(B2:B100),(B2:B100="A")*(A2:A100), 0))), row(B2:B100)^0), mmult(if(B2:B100<>"B", 0,transpose(if(transpose(row(B2:B100))>=row(B2:B100), (B2:B100="B")*(A2:A100), 0))), row(B2:B100)^0) , mmult(if(B2:B100<>"C", 0,transpose(if(transpose(row(B2:B100))>=row(B2:B100), (B2:B100="C")*(A2:A100), 0))), row(B2:B100)^0)}, {1;1;1}),))

Я также добавил эту формулу к листу, которым вы поделились.

Comments

    Ничего не найдено.