Оглавление
Работа с большим количеством данных приводит к получению множества результатов. В Excel есть очень удобный способ извлечения множества результатов. В этой статье мы покажем вам, как использовать функцию INDEX-MATCH формула в Excel для получения нескольких результатов.
Скачать шаблон практики
Вы можете скачать бесплатный практический шаблон Excel отсюда и потренироваться самостоятельно.
INDEX MATCH Multiple Results.xlsx4 полезных способа применения функций 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 автоматически делает это за вас.
Заключение
В этой статье подробно объясняется, как использовать ИНДЕКС МАТЧА Я надеюсь, что эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть какие-либо вопросы по этой теме.