XLOOKUP против INDEX-MATCH в Excel (все возможные сравнения)

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

Сегодня я проведу сравнительный анализ XLOOKUP против Функции INDEX-MATCH в Excel В ранних версиях Excel мы использовали HLOOKUP , the VLOOKUP , и INDEX-MATCH функции для поиска определенного значения в диапазоне ячеек. Однако с появлением Office 365 Excel предоставил нам новую динамическую функцию под названием XLOOKUP для более сложного проведения аналогичной операции. В этой статье я попытаюсь сравнить широко используемые функции, а именно XLOOKUP и INDEX-MATCH .

Скачать Практическое пособие

Получите этот пример файла для лучшего понимания.

Функции XLOOKUP и INDEX-MATCH.xlsx

Введение в функцию XLOOKUP

Сайт XLOOKUP Функция используется для поиска определенного значения в диапазоне ячеек или массиве. После этого она возвращает соответствующее первое совпадение. Она также показывает ближайшее или приблизительное совпадение, если точного совпадения нет.

Синтаксис:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])

Аргументы:

  • Поиск_значения : Это значение, которое мы ищем в определенном столбце диапазона.
  • Lookup_array : Это массив, в котором мы ищем данные. lookup_value Может быть как строкой, так и столбцом.
  • Return_array: Это столбец, из которого берется соответствующее значение параметра lookup_value будет возвращена.

Дополнительные аргументы:

  • Если_не_найдено : Это значение, которое будет возвращено в случае. массив поиска не имеет значения lookup_value.
  • Режим матча : Это число, обозначающее тип соответствия lookup_value Это необязательный аргумент. Он может содержать четыре значения.
  1. Когда это 0 , XLOOKUP будет искать точное совпадение (По умолчанию).
  2. Когда это 1 , XLOOKUP сначала будет искать точное совпадение. Если точное совпадение не найдено, то будет найдено следующее меньшее значение.
  3. Когда это -1 , XLOOKUP сначала будет искать точное совпадение. Если точное совпадение не найдено, то будет найдено следующее большее значение.
  4. Когда это 2 , XLOOKUP сначала будет искать приблизительное совпадение с помощью подстановочных знаков (применимо только для строковых значений поиска).
  • Режим поиска : Это число, обозначающее тип операции поиска, проводимой над массивом lookup_array. Оно также является необязательным. Оно может иметь четыре значения:
  1. Если это 1 , XLOOKUP будет искать сверху вниз в массив поиска (По умолчанию).
  2. Когда это -1 , XLOOKUP будет искать снизу вверх в
  3. Если это 2 , XLOOKUP проведет бинарный поиск в порядке возрастания.
  4. Когда это -2 , XLOOKUP проведет бинарный поиск в порядке убывания.

Введение в функции INDEX-MATCH

Сочетание INDEX-MATCH Функция используется для получения значения из заданного места и сопоставления его с исходным диапазоном.

Синтаксис:

=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)

Аргументы:

Для функции ИНДЕКС:

  • Массив : Это диапазон ячеек, из которых мы хотим извлечь значение.
  • MATCH(lookup_value,lookup_array,match_type): Это номер строки диапазона, в котором находятся lookup_value соответствует определенному значению в массив поиска .
  • No_of_column: Это номер столбца массива, из которого мы хотим вернуть значение, соответствующее параметру lookup_value .

Для функции MATCH:

  • Поиск_значения: Это ценность, которую мы ищем.
  • Lookup_array: Это массив, в котором мы ищем lookup_value Это может быть как строка, так и столбец.
  • Тип матча: Это целое число, обозначающее тип искомого совпадения. Это необязательное значение.
  1. Когда это -1 , МАТЧ сначала будет искать точное совпадение. Если точное совпадение не найдено, будет искать следующее большее значение (По умолчанию) (противоположное значению XLOOKUP ).

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

  1. Когда это 1 , МАТЧ также сначала будет искать точное совпадение. Если точное совпадение не найдено, то он будет искать следующее меньшее значение (противоположно XLOOKUP ).

Но условием является то, что массив поиска на этот раз должны быть отсортированы в порядке убывания. В противном случае будет выдана ошибка.

  1. Когда это 0 , МАТЧ будет искать точное совпадение.

Читать далее: Как выбрать конкретные данные в Excel (6 методов)

7 Сравнение между использованием функций XLOOKUP и INDEX-MATCH

Теперь, когда мы разобрали формулу, давайте обсудим некоторые сходства и различия между двумя функциями. Прежде чем перейти к основным обсуждениям, я покажу основные моменты в таблице для вашего удобства.

Место обсуждения Сходство/ несходство Пояснение
Массив поиска_колонок Сходство Оба поддерживают столбец в качестве массива поиска.
Строка lookup_array Сходство Оба поддерживают строку в качестве массива поиска (lookup_array).
Отсутствие совпадения значения lookup_value Различия XLOOKUP имеет опцию настройки по умолчанию для отсутствия совпадения значения_поиска. Но INDEX-MATCH не имеет такой опции.
Приблизительное соответствие Частичное сходство XLOOKUP может найти следующее меньшее или следующее большее значение, если нет точного совпадения. INDEX-MATCH также может это сделать, но массив lookup_array должен быть отсортирован по возрастанию или убыванию.
Сопоставление подстановочных знаков Сходство Оба поддерживают сопоставление диких символов.
Сопоставление нескольких значений Частичное сходство XLOOKUP может найти либо первое, либо последнее значение, когда несколько значений совпадают. Но INDEX-MATCH может вернуть только первое совпавшее значение.
Формула массива Сходство Оба поддерживают формулу массива.

1. XLOOKUP и INDEX-MATCH для поиска значения в столбце

В этом аспекте существует сходство между двумя функциями. Для XLOOKUP и INDEX-MATCH но массив lookup_array может быть столбцом для обеих функций. Здесь мы ищем точное значение Оценки по физике имени студента в C элл F5 , Дженнифер Марло Мы хотели искать сверху вниз в Имя студента столбец и вернуть " Не найдено " в случае, если совпадение не найдено.

  • Для XLOOKUP , примените формулу в Ячейка G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Для INDEX-MATCH используйте эту формулу в Ячейка G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

Читать далее: Как сопоставить несколько критериев из разных массивов в Excel

2. XLOOKUP и INDEX-MATCH для поиска значения в строке

В этом аспекте также существует сходство между двумя функциями. Для XLOOKUP и INDEX-MATCH , the массив поиска также может быть строкой для обеих функций. Для иллюстрации, у нас есть новый набор данных с функцией Идентификаторы , Имена и Оценки по физике и Градусы .

Давайте на минуту задумаемся о том, что это очень широкий набор данных, и мы не знаем, какое количество Класс Тогда, чтобы узнать оценку конкретного ученика, мы должны использовать столбец Строка заголовков (B4:E4) в качестве массива поиска (lookup_array) и слово " Класс " как lookup_value Мы можем сделать это, используя как XLOOKUP и INDEX-MATCH .

  • Чтобы узнать оценку 3-й студент , the XLOOKUP формула будет выглядеть следующим образом Ячейка G5 .
=XLOOKUP("Grade",B4:E4,B7:E7, "Not Found",0,1)

  • Для этого случая INDEX-MATCH формула будет:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

3. XLOOKUP и INDEX-MATCH при отсутствии совпадений

В этом отношении эти две функции несхожи. Если значение_поиска не совпадает ни с одним значением из списка массив поиска вы можете установить фиксированное значение, которое будет возвращено в XLOOKUP Для этого нужно установить это значение в параметре если_не_найдено аргумент. С другой стороны, такой опции нет в INDEX-MATCH Это приведет к ошибке. Вы должны использовать функция IFERROR снаружи, чтобы справиться с ошибкой. В заданном наборе данных мы выясним Имя студента с идентификатором 100 .

  • Для этого используйте следующее XLOOKUP формула в Ячейка G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • С другой стороны, примените следующее INDEX-MATCH формула.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Поскольку он возвращает ошибку, вы должны использовать IFERROR функцию снаружи для обработки этой ошибки.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Not Found")

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

  • Excel INDEX MATCH для возврата нескольких значений в одной ячейке
  • Формула Excel INDEX-MATCH для возврата нескольких значений по горизонтали
  • Как использовать формулу INDEX-MATCH в Excel для получения нескольких результатов
  • [Исправлено!] INDEX MATCH не возвращает правильное значение в Excel (5 причин)
  • Как использовать INDEX MATCH вместо VLOOKUP в Excel (3 способа)

4. XLOOKUP и INDEX-MATCH в случае приблизительных совпадений

В этом аспекте существует частичное сходство между двумя функциями. В XLOOKUP функция, если lookup_value не совпадает ни с одним значением в массив поиска вы можете изменить формулу, чтобы она возвращала следующее меньшее или следующее большее значение. Установите аргумент тип_соответствия на -1 если вам нужно следующее меньшее значение, и установите его в значение 1 если вам нужно следующее большее значение.

Например, мы узнаем студента с отметкой 50 или следующей большей отметки.

  • Чтобы найти значение, примените следующее XLOOKUP формула.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Как видите, нет ни одного студента с отметкой 50 Вот почему он показывает тот, который находится сразу после 50 , 51 по Десмонд Хейс .

Такая же возможность есть в INDEX-MATCH формула. Но недостаток в том, что вы должны сортировать lookup_array по убыванию, если хотите получить следующее большее значение. Иначе он вернет ошибку. А чтобы получить следующее меньшее значение, вы должны сортировать по возрастанию.

  • Прежде всего, вставьте эту формулу в Ячейка G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • В результате вы увидите, что результат показывает #N/A ошибка.
  • Поэтому отсортируйте Диапазон клеток D5:D16 в порядке возрастания, и вы получите правильное значение.

Особое примечание: В XLOOKUP функция, -1 работает для следующего меньшего значения, но в INDEX-MATCH , -1 работает для следующего большего значения. Аналогично в XLOOKUP функция, 1 работает для следующего большего значения, но в INDEX-MATCH, 1 работает для следующего меньшего значения.

Читать далее: Как использовать INDEX и Match для частичного совпадения (2 способа)

5. XLOOKUP и INDEX-MATCH в случае совпадения подстановочных знаков

В этом аспекте существует сходство между двумя функциями. XLOOKUP и INDEX-MATCH оба поддерживают Дикие карты Здесь мы выявим любого студента с " Марло " в качестве второго имени. Давайте выполним следующие действия, чтобы увидеть XLOOKUP против INDEX-MATCH сравнение.

  • Во-первых, примените следующее XLOOKUP формула в Ячейка G5 для получения выходных данных.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Примечание: Чтобы использовать подстановочные знаки в XLOOKUP необходимо установить тип_соответствия аргумент к 2 В противном случае он не будет работать.

  • С другой стороны, в INDEX-MATCH формула для выполнения той же задачи будет выглядеть следующим образом.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Читать далее: ИНДЕКС МАТЧ по нескольким критериям с подстановочным знаком в Excel (полное руководство)

6. XLOOKUP и INDEX-MATCH Когда несколько значений совпадают со значением поиска

В данном примере показано XLOOKUP против INDEX-MATCH когда несколько значений совпадают с искомым значением. В этом отношении между двумя функциями также есть частичное сходство. XLOOKUP и INDEX-MATCH оба возвращают только одно значение в случае, если несколько значений в массив поиска соответствовать lookup_value . Но в XLOOKUP вы можете изменить поиск, чтобы получить либо первое, либо последнее совпадение. Чтобы получить первое совпадающее значение, установите параметр тип_поиска аргумент к 1 И чтобы получить последнее значение, которое совпадает, установите тип_поиска аргумент к -1 . Но в INDEX-MATCH у вас нет выбора. Вы получите только первое совпавшее значение.

  • Чтобы первый студент, получивший 100 Вы можете использовать следующее XLOOKUP формула в Ячейка G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Вместе с ним вы получите последнего студента с 100 используя это XLOOKUP формула.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Напротив, вы получите только первое значение, которое совпадает с этим INDEX-MATCH формула.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP и INDEX-MATCH в случае нескольких значений поиска

В этом примере мы продемонстрируем XLOOKUP против INDEX-MATCH в случае нескольких значений поиска. В этом отношении между двумя функциями есть сходство. Обе позволяют использовать несколько значений поиска. поиск_значений (Формула массива).

  • Для XLOOKUP функцию, будет работать следующая формула.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Затем, для INDEX-MATCH , следующая функция также будет работать.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Преимущества и недостатки функции XLOOKUP

Существуют определенные преимущества и недостатки использования XLOOKUP функции. Давайте рассмотрим их вкратце.

Преимущества

  • Установите значение по умолчанию для случаев отсутствия совпадений.
  • Можно искать приблизительные совпадения без сортировки массив поиска .
  • Иметь доступ к поиску как из первой, так и из последней ячейки массив поиска .

Недостатки

  • Работает медленнее, чем INDEX-MATCH функция.
  • Доступно в Office 365 только.

Преимущества и недостатки функций INDEX-MATCH

Сайт INDEX-MATCH Функции также имеют некоторые из следующих плюсов и минусов.

Преимущества

  • Работает быстрее, чем XLOOKUP функция.
  • Доступно в старом Excel версии.

Недостатки

  • Невозможно обработать ошибки, когда совпадение не найдено.
  • Требуется массив поиска для сортировки на предмет приблизительного совпадения.
  • Возвращает только первое значение, если несколько значений соответствуют параметру lookup_value .

Заключение

Наконец, мы подошли к концу нашей длинной статьи. Здесь мы попытались создать сравнительный анализ XLOOKUP против INDEX-MATCH Сообщите нам о своих соображениях по этому поводу. Следуйте инструкциям. ExcelWIKI для получения дополнительных уроков.

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