2

У меня есть следующая таблица и полученные формулы:

Сначала у меня есть продавец и количество продаж.

Затем в колонках D и E, я хочу знать, кто из них лучший.

Формула в E2 имеет вид =LARGE($B$2:$B$11,$D2) и заполнена.

Тогда я хочу узнать имена лучших продавцов. Формула в F2 заполнена =INDEX($A$2:$A$11,MATCH($E2,$B$2:$B$11,0)) .

Проблема в том, что 25 и 15 появляются дважды для Боба, Джеффа, Сью и Карла. Но в столбце F Боб и Сью появляются дважды, поскольку совпадение возвращается только для первого совпадения. Мне нужно 25, чтобы перечислить Боба, а затем Джеффа и 15, чтобы перечислить Сью, а затем Карла.

Я искал способ сделать это, чтобы проверить, сколько раз значение E появляется. Если он появляется несколько раз, найдите, к какому экземпляру этого значения относится ячейка, а затем найдите это значение из совпадения имени. Таким образом, для 25 с 2 значениями F4 будет первым 25 в E, поэтому он вернет Боба, а F5, который вторым 25 вернет Джеффа.

Звучит просто, но я не смог выразить это в рабочей формуле. Я пытаюсь получить единственную формулу в F, дающую желаемые результаты.

2 ответа2

2

Используйте AGGREGATE как небольшую функцию, чтобы вернуть правильную строку в INDEX:

=INDEX(A:A,AGGREGATE(15,6,ROW($B$2:$B$11)/($B$2:$B$11=$E2),COUNTIFS($E$2:$E2,$E2)))

COUNTIFS($E$2:$E2,$E2) вернет 1 для первого и 2 для второго экземпляра числа, вынуждая AGGREGATE вернуть первое, а затем второе имя.

0

Моя маленькая попытка:

=IF(F1<>F2,INDEX($B$2:$B$13,MATCH(F2,$C$2:$C$13,0)),INDEX(OFFSET($B$2:$B$13,MATCH(G1,$B$2:$B$13,0),0,ROWS($B$2:$B$13)),MATCH(F2,OFFSET($B$2:$B$13,MATCH(G1,$B$2:$B$13,0),1,ROWS($B$2:$B$13)),0)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .