Подсчёт значений с условием в столбце с формулой

Автор eeigor, 15 февраля 2021, 14:44

0 Пользователи и 1 гость просматривают эту тему.

eeigor

Добрый день!
Раскрываю тему
Как подсчитать в отфильтрованных строках количество текстовых значений в столбце?
Значения получены формулой извлечения данных – ВПР (VLOOKUP), возвращающей найденную строку, в случае ошибки, возвращается пустая строка "" (в ней и есть проблема: она считается). Пустые строки надо при подсчёте пропустить.
Я, конечно, знаю один вариант (subtotal with condition) с использованием функции СМЕЩ (OFFSET), но он тормозит.
Есть ли другой способ?

СЧЁТЕСЛИ (COUNTIF) не учитывает фильтр.
AGGREGATE или SUBTOTAL не позволяют включать условие.
AGGREGATE(6, ...) – PRODUCT, но нет SUMPRODUCT, чтобы перемножить с условием...
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

economist

Служебный столбец, в котором формула возвращает 1 для текста и 0 для пустоты/числа.
И сверху ПРОМЕЖУТОЧНЫЕ ИТОГИ или как оно там.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

sokol92

#2
"Формулист" из меня никакой, зато есть хорошие примеры для подражания. Автофильтр установлен в A1:A7 (A1 заголовок):

=SUMPRODUCT(SUBTOTAL(103;OFFSET(A1;ROW(1:6);))*(A2:A7<>""))

Для больших диапазонов, естественно, не эффективен. Вариант из ответа #1 выглядит оптимальным.
Владимир.

eeigor

Всё понимаю. У меня ещё и ВПР работает «слева», в смысле извлекает столбец слева от искомого (тормоз 2).
Ну а через вспомогательный столбец всё можно решить. Думал, может, появилось что-то, но, вижу, что надо ждать, пока в АГРЕГАТ (AGGREGATE) не добавят SUMPRODUCT.
Спасибо за ответы.
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community