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

Он будет работать с обеими строками, скрытыми вручную или с помощью фильтра.

Другие вопросы по тегам