Как найти наибольшее значение и вернуть значение двух первых соседних ячеек в Excel?

Я хотел бы иметь два первых значения, но у меня есть два точно таких же самых высоких значения, например, мое самое высокое значение равно 20, а два человека имеют 20, поэтому Excel возвращает мне первое лицо, но не второе, и я хотел бы иметь второе с. Моя формула такова:

French one: =INDEX(D3:D14;EQUIV(MAX(H3:H14);(H3:H14);0))
English one: =INDEX(D3:D14;MATCH(MAX(H3:H14);(H3:H14);0))

Он возвращает мне, например, «Джон», и я хочу, чтобы он вернул мне «Джон Элисон», потому что у Джона и Элисон самое высокое значение 20. Большое спасибо.


person Helloworld    schedule 30.09.2017    source источник
comment
Вы хотите, чтобы ваш результат возвращался в одну ячейку, как Джон Элисон?   -  person TotsieMae    schedule 30.09.2017
comment
Да, это то, что я хочу   -  person Helloworld    schedule 30.09.2017


Ответы (2)


Если ваша версия Excel поддерживает более новую функцию textjoin, используйте эту формула массива.

=TEXTJOIN(CHAR(32), TRUE, IF(H3:H14=MAX(H3:H14), D3:D14, ""))

Если ваша версия Excel не поддерживает более новую функцию textjoin затем нажмите на тег textjoin, чтобы получить предложения по альтернативным вариантам.

введите здесь описание изображения

person Community    schedule 30.09.2017
comment
Хороший джип! Я пока живу прошлым, еще не догнал TEXTJOIN... :) - person barry houdini; 30.09.2017
comment
Спасибо, чувак, все должно работать, я обновлю свой софт и дам тебе свой отзыв. - person Helloworld; 30.09.2017
comment
Спасибо @Helloworld; Я был обеспокоен тем, что вам, возможно, нужны были только первые два совпадения, независимо от того, было ли их три или больше, но этого можно было бы достичь, объединив исходную формулу с вариантом «второго совпадения» формулы Барри ниже. - person ; 30.09.2017
comment
Что ж, отлично, это сработало, но у меня есть вопрос: можно ли поставить запятую между обоими именами? - person Helloworld; 30.09.2017
comment
Если вам нужна только запятая, измените CHAR(32) на CHAR(44). Если вам нужна запятая и пробел, используйте CHAR(44)&CHAR(32). - person ; 30.09.2017

Попробуйте использовать эту формулу в K2

=IFERROR(INDEX(D$3:D$14;SMALL(IF(H$3:H$14=MAX(H$3:H$14);ROW(H$3:H$14)-ROW(H$3)+1);ROWS(K$2:K2)));"")

подтвердите с помощью CTRL+SHIFT+ENTER и скопируйте вниз

Это даст вам все совпадения в последовательных ячейках

person barry houdini    schedule 30.09.2017
comment
Это не работает, это дает мне только одно имя, например, это дает мне Джона, но у Элисон также есть 20, так что это должно дать мне Джона Элисон, но это не так. - person Helloworld; 30.09.2017
comment
Мое предложение даст вам только одно имя на ячейку, поэтому, если вы поместите эту формулу в K2 и перетащите в K3, вы получите Джона в K2 и Элисон в K3. Если возможно более 2 совпадений, вы можете перетащить их дальше, чтобы получить их все. Как только спички закончатся, вы получите бланки - person barry houdini; 30.09.2017
comment
Получить все результаты в одной ячейке с формулами сложнее. Какое максимальное количество совпадений? - person barry houdini; 30.09.2017