Страницы: 1
RSS
Подсчет уникальных значений по нескольким условиям, Подсчет уникальных значений по нескольким условиям в смежных столбцах
 
Добрый день! Помогите, пожалуйста, с решением задачи.

Нужно посчитать количество уникальных ИД документа, при следующих условиях:
1. "Свойства товара Цепочки" равно "Аллергия" и "Аллергия Сорбент" одновременно.
2. "Отдел" = "Город 1"
3. "Сотрудник" = "Сотрудник 1"
 
День добрый
=СЧЁТ(1/(УНИК(ФИЛЬТР(B2:B24;((C2:C24="Аллергия")+(C2:C24="Аллергия Сорбент"))*(D2:D24="Город 1")*(E2:E24="Сотрудник 1")))<>""))
...косяками пошли )
 
Спасибо огромное! Формула работает)

.косяками пошли ) - это да. Сначала создала тему и только потом уже видела, что кто-то пытается решить такую же задачу)
 
До кучи UDF
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Sanja, а если условие, например, нужны значения больше 200, то в Вашей функции надо прописать "<200" вот так? или же без кавычек
 
Добрый день! Проверила формулу на уже боевом файле  с уже большим количество данных. Формула работает, но не совсем так как нужно)

Она считает количество уникальных значений при совпадении одного из условий  - в рабочем файле это "Аллергия" или "Аллергия Сорбент".

Подскажите, пожалуйста, что нужно изменить в формуле, чтобы уникальные значения по Док ИД считались только при выполнении двух условий - чтобы учитывалась не ИЛИ "аллергия" ИЛИ "аллергия сорбент", а именно И "аллергия" И "аллергия сорбент"
 
Цитата
Noctuae90 написал:
а именно И "аллергия" И "аллергия сорбент"
тогда проще искать только  "аллергия сорбент" точнее если поиск поцелым ячейкам ничего не нвйдете
Изменено: bigorq - 09.07.2024 11:10:53
 
А как это может быть и то и другое в одной ячейке? Покажите в файле какие строки нужно учитывать.
 
У Сотрудника 1, работающего в отделе 1 была 1 продажа =один чек, в котором была комбинация продаж "Аллергия" и "Аллергия Сорбент" - в файле выделила желтым цветом, а у Сотрудника 2, работающего в отделе 2 было 2 аналогичных продажи = два чека.

Нужно посчитать количество таких документов. В данном случае у Сотрудника 1 должно получиться значение 1, а у Сотрудника 2 - 2
Изменено: Noctuae90 - 09.07.2024 12:10:32
 
Если идут последовательно Аллергия затем Аллергия Сорбент, то можно =СЧЁТ(1/(УНИК(ФИЛЬТР(B2:B24;((C2:C24="Аллергия")*(C3:C25="Аллергия Сорбент"))*(D2:D24="Город 1")*(E2:E24="Сотрудник 1")))<>"")) чуть диапазон подправить. Но в данном случае нет проверки на номер документа
Изменено: bigorq - 09.07.2024 11:50:40
 
Цитата
Noctuae90 написал:
У сотрудника 1, работающего в отделе 1 было 3 продажи
- нет, одна. Две у другого сотрудника.
Встроенными я пас, если никто не придумает можно подумать как написать UDF
 
Цитата
написал:
- нет, одна. Две у другого сотрудника.
Да, извиняюсь, исправила сообщение. Спасибо)
 
Здравствуйте
Цитата
Noctuae90:  Спасибо
пожалуйста
Цитата
у Сотрудника 1 должно получиться значение 1, а у Сотрудника 2 - 2
пробуйте
=LET(док_;B$2:B$88;цеп_;D$2:D$88;отд_;E$2:E$88;сотр_;F$2:F$88;вкл_;((цеп_=M$1)+(цеп_=N$1))*(отд_=K2)*(сотр_=L2);ЧСТРОК(УНИК(ФИЛЬТР(ЕСЛИ({1;0};док_;цеп_);вкл_)))-СЧЁТ(1/(УНИК(ФИЛЬТР(док_;вкл_))<>"")))
 
Вообще-то пока думал о алгоритме UDF придумалось
Код
=СУММ(ЕСЛИОШИБКА(--(УНИК(ФИЛЬТР($B$2:$B$88;(($D$2:$D$88=$M$1))*($E$2:$E$88=K3)*($F$2:$F$88=L3)))=--(УНИК(ФИЛЬТР($B$2:$B$88;(($D$2:$D$88=$N$1))*($E$2:$E$88=K3)*($F$2:$F$88=L3)))));0))

или что равнозначно
Код
=СУММПРОИЗВ(ЕСЛИОШИБКА(--(УНИК(ФИЛЬТР($B$2:$B$88;(($D$2:$D$88=$M$1))*($E$2:$E$88=K3)*($F$2:$F$88=L3)))=(--УНИК(ФИЛЬТР($B$2:$B$88;(($D$2:$D$88=$N$1))*($E$2:$E$88=K3)*($F$2:$F$88=L3)))));0))
Изменено: Hugo - 09.07.2024 12:46:09 (добавил файл)
 
Hugo, интересный вариант, но вероятно требующий определенной сортировки
 
У кого нет этих функций - в UDF можно собрать два словаря (для "Аллергия" и "Аллергия Сорбент") по остальным общим условиям и затем посчитать сколько в них общих значений.
 
Павел \Ʌ/, Hugo, попробовала Ваши варианты формул - все работают корректно)

Оставила для работы в файле формулу, предложенную Павел \Ʌ/.
Спасибо Вам огромное!
Страницы: 1
Наверх