Страницы: 1
RSS
Три магазина, в которых клиент тратит больше всего
 
Добрый вечер.
Просьба помочь в построение следующий формулы.
Есть клиенты, которые тратят в определенных магазинах, требуется извлечь по каждому клиенту три бутика, где он тратит больше всего.
Итог, должен выглядеть так:
Код клиента - три бутика где он тратит больше всего.

Заранее спасибо.  
 
Код
=ИНДЕКС(C3;1+ПОИСКПОЗ(НАИБОЛЬШИЙ(ЕСЛИ(R2C2:R11C2=RC7;R2C4:R11C4);R1C);R2C4:R11C4;))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо, Вам огромное!!!  
Изменено: vikttur - 14.11.2021 22:00:38
 
Код
=ИНДЕКС($C:$C;1+ПОИСКПОЗ(НАИБОЛЬШИЙ(ЕСЛИ(($B$2:$B$11=$G2)*($D$2:$D$11>10000);$D$2:$D$11);H$1);$D$2:$D$11;))
Не бойтесь совершенства. Вам его не достичь.
 
формула далеко не супер, так - начальная заготовка
если в колонке "Траты клиента" будут одинаковые значения в разных строках - результат может быть не правильным
чтобы учесть это формулу нужно будет увеличить в размерах раза в три
а игнорировать еще и меньше 10 тыс. - это еще увеличить размер раза в 2
итого я вам написал формулу на 80 символов, а нужно написать на 80х3х2 = 480 символов, а вносить исправления в такую формулу - это сплошное удовольствие, когда понятно, что где-то не закрыта скобка, но не понятно где

"как доработать?" пишите буквы, цифры, знаки в правильном порядке и доработаете
я воздержусь от получения этого сомнительного удовольствия
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо за ответы.  
 
Ещё вариант:
Код
=ЕСЛИ($F2>0;ИНДЕКС($C:$C;ПРАВБ(НАИБОЛЬШИЙ(($A$2:$A$20=$F2)*($D$2:$D$20>10000)*($D$2:$D$20*100+СТРОКА($2:$20));СТОЛБЕЦ(A2));2));)

*А если меньше трёх:

Код
=ЕСЛИОШИБКА(ИНДЕКС($C:$C;ПРАВБ(НАИБОЛЬШИЙ(ЕСЛИ(($A$2:$A$20=$F2)*($D$2:$D$20>10000);($D$2:$D$20*100+СТРОКА($2:$20)));СТОЛБЕЦ(A2));2));)
Изменено: Светлый - 14.11.2021 18:45:51
Страницы: 1
Наверх