MS Excel: Sumproduct только видимые строки (используйте sumproduct с промежуточной суммой (9,aray))
Довольно просто.
Я хочу использовать sumproduct, но только для видимых строк.
Я пробовал =sumproduct(A2:A10, промежуточный итог (9,B2:B10)) ... не работал, даже как формула массива.
Я, наверное, упускаю что-то очевидное, но... почему это не работает? Как я могу заставить это работать? Спасибо
3 ответа
Для этого используйте формулу:
=SUMPRODUCT(A2:A10,SUBTOTAL(9,OFFSET(B2:B10,ROW(B2:B10)-MIN(ROW(B2:B10)),0,1)))
Как сказано в комментариях: имейте в виду, что SUBTOTAL
не работает со скрытыми вручную строками. Только строки, которые скрыты из-за "фильтра", будут пропущены в расчете.
РЕДАКТИРОВАТЬ
Благодаря XOR LX: при увеличении параметра SUBTOTAL
на 100 он также будет работать со скрытыми вручную рядами. Формула тогда будет:
=SUMPRODUCT(A2:A10,SUBTOTAL(109,OFFSET(B2:B10,ROW(B2:B10)-MIN(ROW(B2:B10)),0,1)))
Альтернативно вы можете добавить новый столбец, который выводит0
или1
если строка скрыта, и добавьте этот массив вSumProduct
формула.
Формула дляIsHidden
столбец:
= IF( SUBTOTAL(103,A2)=1, 1, 0)
=SUMPRODUCT(A2:A10,SUBTOTAL(109,OFFSET(B2:B10,ROW(B2:B10)-MIN(ROW(B2:B10)),0,1)))
Он будет работать с обеими строками, скрытыми вручную или с помощью фильтра.