Страницы: 1
RSS
Подсчет уникальных значений по условию, Подсчет уникальных значений по условию
 
Добрый день. Реализовал данный подсчет "в лоб" - через "счетесли". Но возникла проблема. При большом массиве данных (150-200 тыс строк) даже мощный комп не вывозит расчет.
Покопался в интернете - нашел новую для себе функцию "уник".Счетз(уник) подсчитывает уникальные значения, но никак не могу соединить подсчет с условием.
Во вложении пример. Помогите с моим вариантом или может предложите свой. Спасибо.
 
Код
=СЧЁТЗ(УНИК(ФИЛЬТР($B$1:$B$6;$A$1:$A$6="яблоко")))
Согласие есть продукт при полном непротивлении сторон
 
функция "фильтр" тоже новая)), сейчас попробую
 
работает, но в моем варианте через "счетесли" я сделал целую систему неучета "битых" позиций. Это когда всякие пустышки и нули столбцах условий. С функцией "фильтр" не понимаю как это учесть. Новый пример во вложении.
 
т.е по логике как затащить в эту формулу "фильтр" несколько раз
 
Добрый день. Нужно дополнить фукнцию ФИЛЬТР двумя условиями.
Код
=СЧЁТЗ(УНИК(ФИЛЬТР($B$2:$B$7;($A$2:$A$7="яблоко")*($C$2:$C$7>0)*($B$2:$B$7<>""))))
 
Цитата
т.е в ячейке A12 должно получится 1
=СУММ(СУММЕСЛИМН(C2:C7;A2:A7;"яблоко";B2:B7;УНИК(B2:B7)))
555Стас555, а то может сразу так?:
=LET(_а;A2:A7;_б;B2:B7;_в;C2:C7;а_;УНИК(_а);б_;УНИК(_б);ЕСЛИ({1;0};а_;МУМНОЖ(СУММЕСЛИМН(_в;_а;а_;_б;ТРАНСП(б_));--(б_>-1))))
а так задача для сводной таблицы
 
Раб день закончился, изучу все варианты завтра в том числе на производительность при 200 тыс+ строк. Спасибо.

пс специально задача выведена из рамок сводных таблиц, чтобы делать комплексный обсчет в рамках "одного" действия непосредственно из исходника.
LET - чтото сверхфантастическое, но в примере считает не то. Считает сумму кол-во фруктов по набору условий, а не сумму уникальных городов
Изменено: 555Стас555 - 13.08.2026 12:55:14
 
Цитата
Считает сумму кол-во фруктов по набору условий, а не сумму уникальных городов
ага, тогда чуть подправить:
=СУММ(--(СЧЁТЕСЛИМН(C2:C7;">0";A2:A7;A2;B2:B7;УНИК(B2:B7))>0))
или всё сразу:
=LET(_а;A2:A7;_б;B2:B7;_в;C2:C7;а_;УНИК(_а);б_;УНИК(_б);ЕСЛИ({1;0};а_;МУМНОЖ(-(СЧЁТЕСЛИМН(_в;">0";_а;а_;_б;ТРАНСП(б_))>0);-(б_>-1))))
...сводной тоже можно
Изменено: ПавелW - 13.08.2026 13:22:43 (небольшая коррекция '>0')
Страницы: 1
Читают тему
Наверх