Excel - Як повернути різні значення відповідності з іншими формулами?


2

У мене є наступна таблиця і отримані формули: enter image description here

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

Потім у стовпцях D і E я хочу знати, хто є найкращими людьми.

Формула в Е2 є =LARGE($B$2:$B$11,$D2) і заповнили.

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

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

Я хотів це зробити, щоб перевірити, скільки разів з'являється значення в Е. Якщо воно з'являється кілька разів, то знайдіть, який екземпляр цього значення буде розташовано поруч із коміркою, а потім знайдіть це значення з відповідного імені. Таким чином, для 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)))

The COUNTIFS($E$2:$E2,$E2) поверне 1 для першого і 2 для другого екземпляра числа, примушуючи AGGREGATE повернути перше, а потім друге ім'я.


Дякуємо, це чудово працює. Геніальна частина була COUNTIFS на зростаючому діапазоні.
MichaelE

1
Крім того, "Сукупна" працює лише з Excel 2010 і пізнішої версії для сумісності з попередньою версією, яку я використовував: =INDEX($A$2:$A$11,SMALL(IF(E2=$B$2:$B$11,ROW($B$2:$B$11)-ROW(INDEX($B$2:$B$11,1,1))+1),SUM(IF(E2=$E$2:$E2,1,0)))) але потрібно Ctrl-Shift-Enter. Сума замість підрахунку, а маленька знаходить цей примірник значення.
MichaelE

Якщо @ Скотт не заперечує .. Я просто не розумію ROW($B$2:$B$11)/($B$2:$B$11=$E2) стає діапазоном для функції PERCENTILE.INC () / (-_-)
p._phidot_

@ p._phidot_ 15 Малі, а не Процентні. Він створює масив чисел і помилок (# DIV / 0). The 6 ігнорує помилки. і SMALL повертає правильний номер.
Scott Craner

Завдяки Скотту .. все ще новачок small() Функція маніпуляції .. Я знав aggregate() є прекрасним для ігнорування помилки .. але іноді втрачається, коли вона широко використовується для маніпулювання списком. Принаймні для цього випадку я отримую уявлення про те, як працює 'список' і 'сортувати' механізм .. Завдяки групі. Дуже ціную це. (:
p._phidot_

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)

Дякую, це працює, але воно обмежується лише двома певними значеннями, які є однаковими, я думаю? Відповідь Скотта працює з будь-яким загальним випадком.
MichaelE

Я перевірив його з 3 числа @ краватку .. і я отримав ті ж результати, як Скотт. (:
p._phidot_
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.