Excel — как вернуть разные значения соответствия с помощью других формул?

Excel — как вернуть разные значения соответствия с помощью других формул?

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

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

Затем в столбцах 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 Боб и Сью появляются дважды, потому что Match возвращается только для первого совпадения. Мне нужно 25, чтобы перечислить Боба, а затем Джеффа, и 15, чтобы перечислить Сью, а затем Карла.

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

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

решение1

Используйте AGGREGATE как функцию SMALL, чтобы вернуть правильную строку в 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 вернуть первое, а затем второе имя.

решение2

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

=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)

Связанный контент