Мне нужна помощь со следующим заданием:
Задача:
На вкладке «Вес продукта» вы можете видеть, что каждый продукт взвешен по значению на клиента. Пожалуйста, создайте Код продукта для каждого клиента на основе этих весов от самого высокого до самого низкого.
Вам нужно выбрать только 2 лучших продукта и перечислить их, чтобы создать код. Если клиент активен только в одном продукте, вам нужно повторить букву, чтобы у нас был двухбуквенный код для каждого клиента.
Примеры:
- Если у Клиента 1 вес продукта A составляет 0,37, продукта B — 0,45, а продукта C — 0,18, то код продукта будет — BA.
- Если у Клиента 2 вес продукта A составляет 0,85, продукта B — 0,15, а для всех остальных продуктов — ноль, то код продукта у клиента будет — AB.
- Если у Клиента 3 вес равен 1 для Продукта D и ноль для всех остальных продуктов, то Код продукта у этого Клиента будет – DD.
- Если у Клиента 4 нулевой вес по всем продуктам, у него не будет кода продукта, и он может быть помечен как «Не активен».
Вот как выглядит этот лист:
Customer A B C D
ETC024007 0.22 0 0.78 0
ETC024305 0 0 1 0
ETC024674 1 0 0 0
ETC024764 1 0 0 0
ETC024903 1 0 0 0
ETC025540 1 0 0 0
ETC026419 0 0 1 0
ETC026442 0 0 1 0
ETC031213 1 0 0 0
ETC032050 1 0 0 0
ETC032646 0 0 1 0
ETC042838 0.44 0.14 0 0.42
ETC050897 0.02 0.98 0 0
ETC051706 0.07 0 0.93 0
ETC051796 1 0 0 0
ETC053121 0.99 0.01 0 0
ETC053131 0 0 1 0
ETC053159 1 0 0 0
ETC053343 0.1 0 0.9 0
ETC053346 1 0 0 0
ETC053449 1 0 0 0
ETC053517 1 0 0 0
ETC053697 1 0 0 0
ETC053849 1 0 0 0
ETC053923 1 0 0 0
ETC053940 1 0 0 0
ETC054251 1 0 0 0
ETC054283 0.56 0 0.44 0
решение1
Вот формула, которую я придумал:
=INDEX($A$1:$E$1,1,MATCH(LARGE(B2:E2,1),A2:E2,0))&INDEX($A$1:$E$1,1,MATCH(IF(LARGE(B2:E2,2)=0,LARGE(B2:E2,1),LARGE(B2:E2,2)),A2:E2,0))
Я поместил ваш массив данных на рабочий лист, начиная с ячейки A1, и вставил эту формулу в ячейку F2 (с заголовком «Код продукта») и заполнил остаток столбца. Это должно дать результаты, которые вы ищете.
Веселиться!