
У меня проблемы с использованием SUMPRODUCT
вместе с фильтром. У меня следующая формула:
=SUMPRODUCT(LEN(B3:B7)-LEN(SUBSTITUTE(B3:B7;".";"")))
Мне нужно посчитать, сколько "." находится в диапазоне. Однако, когда я использую некоторые фильтры, он всегда подсчитывает все "." в этом диапазоне, но я хочу, чтобы он подсчитывал только видимые.
Нормальный:
После фильтра:
Как я могу это сделать?
решение1
Добавьте условие к вашей SUMPRODUCT
формуле:
=SUMPRODUCT((LEN(D3:D8)-LEN(SUBSTITUTE(D3:D8,".","")))*SUBTOTAL(103,OFFSET(D$2,ROW($A$1:$A$6),0)))
ПРОМЕЖУТОЧНЫЙ ИТОГможет игнорировать скрытые строки. В этом случае мы используем , 103
потому что он возвращает 1
для непустых ячеек, что полезно. Нам нужно изменить его с помощью функции OFFSET
, чтобы он возвращал количество как массив, а не как одно значение. Ключевой момент — в выборе диапазонов.
D3:D8
должен быть диапазоном, в котором вы хотите подсчитать текст.
D$2
должен быть ячейкой непосредственно над этим диапазоном,
$A$1:$A$6
может быть в любом столбце, но он должен начинаться в строке 1 и иметь столько же строк, сколько диапазон, в котором вы подсчитываете текст. Я использовал A1:A6
просто по привычке и для удобства. Он служит только для того, чтобы дать нам массив для чисел, в которые можно вводить данные, OFFSET
чтобы можно было SUBTOTAL
хорошо играть с SUMPRODUCT
.