Как использовать формулу INDEX-MATCH в Excel для получения нескольких результатов

  • Поделись Этим
Hugh West

Работа с большим количеством данных приводит к получению множества результатов. В Excel есть очень удобный способ извлечения множества результатов. В этой статье мы покажем вам, как использовать функцию INDEX-MATCH формула в Excel для получения нескольких результатов.

Скачать шаблон практики

Вы можете скачать бесплатный практический шаблон Excel отсюда и потренироваться самостоятельно.

INDEX MATCH Multiple Results.xlsx

4 полезных способа применения функций INDEX & MATCH в Excel для извлечения нескольких результатов

В этом разделе будет подробно рассмотрено использование функция ИНДЕКС и функция MATCH вместе в Excel, чтобы получить несколько результатов.

1. поиск нескольких результатов в массиве с помощью формулы INDEX MATCH в Excel

Рассмотрим следующий набор данных, в котором мы хотим найти различные оценки студентов на разных экзаменах.

Мы можем получить это, выполнив INDEX-MATCH формулу в нашем рабочем листе.

Шаги по нахождению множества результатов в наборе массива с помощью INDEX-MATCH функции приведены ниже.

Шаги:

  • Выберите имя из набора данных ( B5:B11 ) и поместите имя в другую ячейку, чтобы позже использовать номер ссылки на ячейку (например, имя Вильерс в Ячейка G4 ).
  • В другой ячейке, которую вы хотите использовать в качестве ячейки результата (например. Ячейка G7 ), напишите следующую формулу,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),""),ROWS($A$1:A1)))))

Вот,

$C$5:$C$11 = массив для поиска поискового значения

$B$5:$B$11 = массив, в котором находится искомое значение

  • Нажмите Войти .

Вы заметите, что результат для данных (например. Вильерс ), который вы помещаете в выделенную ячейку ( G4 ), появится в ячейке результата (например. 65 в G7 ).

  • Теперь перетащите строку вниз на Наполнительная рукоятка чтобы получить остальные результаты того же значения поиска.

Поскольку этот процесс не является постоянным для какого-либо конкретного значения, поэтому вы можете выбрать любые данные поиска в выделенной ячейке (например. G4 ), и результат для этих конкретных данных будет автоматически обновляться в ячейке результата (например. G7 ).

Чтобы понять больше, смотрите рисунок ниже.

Формула разбивки:

Давайте разберем формулу, чтобы понять, как мы получили результат.

  • MATCH($B$5:$B$11, $G$4, 0) становится,

-> MATCH({"Флинтофф"; "Роналдо"; "Плесси"; "Вильерс"; "Бекхэм"; "Вильерс"; "Плессис"}, "Вильерс", 0)

-> Выход: {#N/A; #N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}

Объяснение: Если искомое значение находит совпадение в массиве поиска, тогда МАТЧ возврат функции 1 , в противном случае возвращается #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) становится,

-> ISNUMBER({#N/A; #N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})

-> Выходные данные: {FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.

Объяснение: Как функция ЕСЛИ не может обрабатывать значения ошибок, поэтому функция ISNUMBER используется здесь для преобразования значений массива в булевы значения.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") становится,

-> IF({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")

становится

-> IF({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")

-> Выход: {""; ""; ""; 4; ""; 6}

Объяснение: Во-первых, в ЕСЛИ Функция преобразует булевы значения в номера строк и пробелы. Позже, функция МАТЧ и функция ROW s вычисляет массив с последовательными числами, от 1 до n, где n - последнее числовое обозначение общего размера диапазона ячеек. As $B$5:$B$11 имеет 7 значений, поэтому массив становится {1; 2; 3; 4; 5; 6; 7} .

  • SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1)))) становится

-> SMALL({""; ""; ""; 4; ""; 6}, ROWS($A$1:A1))

-> SMALL({""; ""; ""; 4; ""; 6}, 1)

-> Выход: 4

Объяснение: Первый, функция SMALL определяет, какое значение нужно получить, основываясь на номере строки. Далее, функция Строки Функция возвращает число, которое меняется каждый раз, когда ячейка копируется и вставляется в ячейки ниже. Первоначально она возвращала 4 согласно нашему набору данных. В следующей ячейке ниже, ROWS($A$1:A1) изменения в ROWS($A$1:A2) и возвращается 6 .

  • INDEX($C$5:$C$11, SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11))), ""), ROWS($A$1:A1)))) становится

-> INDEX($C$5:$C$11, 4)

-> Выход: 65

Объяснение: Сайт ИНДЕКС Функция возвращает значение из заданного массива на основе номера строки и столбца. 4-й значение в массиве $C$5:$C$11 это 65 , поэтому ИНДЕКС возврат функции 65 в камере G7 .

Читать далее: IF с INDEX-MATCH в Excel (3 подходящих подхода)

2. поиск нескольких результатов по имени и дате предстоящего события с помощью формулы INDEX MATCH в Excel

Иногда мы забываем о дате важных событий, и в этом случае на помощь приходит ИНДЕКС МАТЧА функции работают как спасатели.

Ниже приведен пример данных, где мы хотели узнать о предстоящем дне рождения среди наших друзей.

Итак, что мы сделали, так это внедрили ИНДЕКС МАТЧА формула, чтобы узнать, чей день рождения следующий и когда это будет.

Итак, формула, позволяющая узнать имя человека или название предстоящего события, такова,

=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)

А формула, позволяющая узнать дату предстоящего события, такова,

=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)

Формула разбивки:

Давайте разберем формулу, чтобы понять, как мы узнали имя Алекс и дату его дня рождения.

  • MATCH(F5,$C$5:$C$9,1)

-> Выход: 4

Объяснение: Сайт МАТЧ Функция находит позицию значения поиска ( Ячейка F5 = Четверг, 11 ноября 2021 года ) в константе массива ( $C$5:$C$9 = список дат ).

В данном примере мы не хотели точного совпадения, мы хотели, чтобы МАТЧ функция возвращает приблизительное совпадение, поэтому мы устанавливаем третий аргумент в значение 1 (или TRUE ).

  • INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) становится

-> INDEX($B$5:$B$9, 4) +1)

-> Выход: Алекс /(Название события)

Объяснение: Сайт ИНДЕКС Функция принимает два аргумента, чтобы вернуть определенное значение в одномерном диапазоне. Здесь диапазон $B$5:$B$9 сначала аргумент и результат, который мы получили в результате вычислений в предыдущем разделе (MATCH(F5,$C$5:$C$9,1)) , должность 4 это второй аргумент. Это означает, что мы ищем значение, расположенное в позиции 4 в $B$5:$B$9 диапазон.

И,

  • INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) становится

-> INDEX($B$5:$B$9, 4) +1)

-> Выход: вторник, 7 декабря 2021 года

Объяснение: Сайт ИНДЕКС Функция принимает два аргумента, чтобы вернуть определенное значение в одномерном диапазоне. Здесь диапазон $C$5:$C$9 сначала аргумент и результат, который мы получили в результате вычислений в предыдущем разделе (MATCH(F5,$C$5:$C$9,1)) , должность 4 это второй аргумент. Это означает, что мы ищем значение, расположенное в позиции 4 в $C$5:$C$9 диапазон.

Чтобы получить дату предстоящего события, мы просто добавили единицу к позиции ячейки, возвращаемой функцией МАТЧ и это дало нам позицию ячейки следующей даты события.

Читать далее: Формула Excel INDEX-MATCH для возврата нескольких значений по горизонтали

Похожие чтения

  • ИНДЕКС МАТЧ по нескольким критериям с подстановочным знаком в Excel (полное руководство)
  • [Исправлено!] INDEX MATCH не возвращает правильное значение в Excel (5 причин)
  • Как использовать INDEX MATCH вместо VLOOKUP в Excel (3 способа)
  • ИНДЕКС+СРАВНЕНИЕ с дублирующимися значениями в Excel (3 быстрых метода)
  • Как выбрать конкретные данные в Excel (6 методов)

3. создание нескольких результатов в отдельных столбцах с помощью формулы INDEX MATCH в Excel

До сих пор мы получали результаты по строкам. Но что если вы хотите получить результаты в виде отдельные колонки .

Рассмотрим следующий набор данных, который состоит из трех типов профессий, представляющих множество имен людей.

Мы хотели создать группу людей, основанную на профессии, и мы хотели разместить имена по столбцам в соответствии с их профессией.

Чтобы извлечь несколько результатов совпадений в отдельные ячейки в отдельных столбцах, вы можете проделать небольшой трюк с помощью ИНДЕКС функция.

Давайте узнаем, как извлечь несколько результатов совпадений в нескольких столбцах в Excel с помощью сочетания ИНДЕКС функции и другие.

Шаги:

  • Выберите профессию из диапазона данных ( B5:B11 ) и поместите данные в другую ячейку, чтобы позже использовать номер ссылки на ячейку (например, профессия Крикет в Ячейка E5 ).
  • В другой ячейке, которую вы хотите использовать в качестве ячейки результата (например. Ячейка F5 ), напишите следующую формулу,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"")

Вот,

$C$5:$C$11 = массив для поиска поискового значения

$B$5:$B$11 = массив, в котором находится искомое значение

  • Нажмите Войти .

Вы заметите, что результат для данных (например. Крикетчики ), который вы помещаете в выделенную ячейку ( E5 ), появится в ячейке результата (например. Флинтофф в Ячейка F5 ).

  • Теперь перетащите строку по Наполнительная рукоятка чтобы получить остальные результаты того же значения поиска в отдельных столбцах.

  • Снова перетащите строку по Наполнительная рукоятка чтобы получить остальные результаты различных значений поиска (например. Футболист, борцы ) в отдельных нескольких колонках.

Формула разбивки:

Давайте разберем формулу, чтобы понять, как мы получили результат.

  • SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))

Из предыдущего обсуждения мы уже знаем, как МАЛЕНЬКИЙ, ЕСЛИ и ROW функции работают вместе, и мы используем этот прием и здесь для генерации номера ряда, соответствующего N-му совпадению. Как только мы получили номер ряда, мы просто передаем его в ИНДЕКС функция, которая возвращает значение в этой строке.

-> Выход: ( как показано на рисунке ниже )

  • INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))) -> передавая номера строк в ИНДЕКС функция для извлечения значения для соответствующих номеров строк.

-> Выход: ( как показано на рисунке ниже )

  • IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"") -> Обратите внимание, что когда колонки возвращают несуществующее значение, возникает ошибка #NUM Чтобы предотвратить ошибку, мы обернем всю формулу символом функция IFERROR для отлова ошибок и установки пустая строка ("") в качестве возврата.

-> Выход: ( как показано на рисунке ниже )

Читать далее: Excel INDEX MATCH для возврата нескольких значений в одной ячейке

4. Извлечение нескольких результатов в отдельные строки с помощью функции INDEX MATCH в Excel

Если вам интересно, как извлечь несколько результатов в несколько строк тем же способом, что мы делали в предыдущем разделе, то формула будет следующей,

=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5))),"")

Все остальные детали, такие как шаги и разбивка формулы, такие же, как и в разделе 3.

Ключевые моменты, которые вы должны иметь в виду

  • Так как диапазон массива таблицы данных для поиска значения фиксирован, не забудьте поставить доллар ($) знак перед номером ссылки ячейки таблицы массива.
  • При работе со значениями массива не забудьте нажать кнопку Ctrl + Shift + Enter на клавиатуре во время извлечения результатов. При нажатии только Войти будет работать только в том случае, если вы используете Microsoft 365 .
  • После нажатия Ctrl + Shift + Enter Вы заметите, что панель формул заключила формулу в фигурные скобки {} объявляя его как формулу массива. Не вводите эти формулы. скобки {} самостоятельно, Excel автоматически делает это за вас.

Заключение

В этой статье подробно объясняется, как использовать ИНДЕКС МАТЧА Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы по этой теме.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.