XLOOKUP vs INDEX-MATCH в Excel (всі можливі порівняння)

  • Поділитися Цим
Hugh West

Сьогодні я зроблю порівняльний аналіз XLOOKUP проти Функції INDEX-MATCH в Excel У попередніх версіях Excel ми використовували ОГЛЯД "Про те, що в Україні не існує жодного закону, який би ПЕРЕГЛЯД , а також "Про захист прав людини і основоположних свобод INDEX-MATCH функції для пошуку певного значення в діапазоні комірок. Однак з появою Office 365 Excel надав нам нову динамічну функцію під назвою XLOOKUP У цій статті я спробую порівняти широко використовувані функції, які дозволяють провести аналогічну операцію більш складно. XLOOKUP та INDEX-MATCH .

Завантажити Практичний посібник

Отримайте цей зразок файлу для кращого розуміння.

XLOOKUP vs INDEX-MATCH Functions.xlsx

Вступ до функції XLOOKUP

На сьогоднішній день, на жаль, це не так. XLOOKUP використовується для пошуку певного значення в діапазоні комірок або масиву, після чого повертає відповідний перший збіг. Вона також показує найближчий або приблизний збіг, якщо точного збігу немає.

Синтаксис:

=XLOOKUP(значення_пошуку,масив_пошуку,масив_повернення,[якщо_не_знайдено],[режим_відповідності],[режим_пошуку])

Аргументи:

  • Lookup_value Це значення, яке ми шукаємо в конкретному стовпчику діапазону.
  • Lookup_array : Це масив, в якому ми шукаємо lookup_value Може бути як рядком, так і стовпчиком.
  • Return_array: Це стовпчик, з якого виводиться відповідне значення lookup_value буде повернуто.

Факультативні аргументи:

  • Якщо_не_знайдено : Це значення, яке буде повернуто у випадку, якщо lookup_array не має значення lookup_value.
  • Match_mode : Це число, що позначає тип збігу в lookup_value Це необов'язковий аргумент, який може містити чотири значення.
  1. Коли це буде 0 , XLOOKUP буде шукати точний збіг (за замовчуванням).
  2. Коли це буде 1 , XLOOKUP Якщо точний збіг не буде знайдено, то буде знайдено наступне менше значення.
  3. Коли це буде -1 , XLOOKUP Якщо точний збіг не знайдено, то буде використано наступне за величиною значення.
  4. Коли це буде 2 , XLOOKUP спочатку знайде приблизний збіг, використовуючи символи підстановки (Застосовується тільки для рядкових значень пошуку).
  • Режим_пошуку Число, що позначає тип пошукової операції, яка виконується над масивом lookup_array. Також є необов'язковим і може мати чотири значення:
  1. Якщо це 1 , XLOOKUP буде здійснювати пошук зверху вниз в lookup_array (За замовчуванням).
  2. Коли це буде -1 , XLOOKUP буде здійснювати пошук знизу вгору в
  3. Якщо це 2 , XLOOKUP буде проводити бінарний пошук в порядку зростання.
  4. Коли це буде -2 , XLOOKUP буде проводити бінарний пошук в порядку спадання.

Вступ до функцій INDEX-MATCH

Поєднання INDEX-MATCH використовується для отримання значення з заданого місця і зіставлення його з діапазоном джерела.

Синтаксис:

=INDEX(масив,СПІВПАДАННЯ(значення_пошуку,масив_пошуку,тип_співпадіння),відсутність_стовпчика)

Аргументи:

Для функції INDEX:

  • Масив Це діапазон комірок, з яких ми хочемо витягти значення.
  • MATCH(значення_пошуку, масив_пошуку, тип_відповідності): Це номер рядка діапазону, в якому знаходиться lookup_value відповідає певному значенню в lookup_array .
  • Без_колон: Це номер стовпця масиву, з якого ми хочемо повернути значення, що відповідає lookup_value .

Для функції MATCH:

  • Lookup_value: Це та цінність, яку ми шукаємо.
  • Lookup_array: Це масив, в якому ми шукаємо lookup_value Це може бути як рядок, так і стовпчик.
  • Match_type: Це ціле число, що позначає тип збігу, який ми шукаємо. Це необов'язково.
  1. Коли це буде -1 , МАТЧ спочатку шукає точний збіг. Якщо точний збіг не знайдено, то шукає наступне більше значення (за замовчуванням) (на противагу XLOOKUP ).

Але умовою є те, що lookup_array повинні бути відсортовані за зростанням, інакше буде видана помилка.

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

Але умовою є те, що lookup_array повинні бути відсортовані за спаданням, інакше буде видана помилка.

  1. Коли це буде 0 , МАТЧ буде шукати точний збіг.

Читати далі: Як виділити певні дані в Excel (6 способів)

7 Порівняння використання функцій XLOOKUP та INDEX-MATCH

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

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

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

У цьому аспекті існує схожість між двома функціями. XLOOKUP та INDEX-MATCH масив lookup_array може бути стовпчиком для обох функцій. Тут ми шукаємо точне значення Оцінки з фізики ПІБ студента в C ell 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 "Про те, що в Україні не існує жодного закону, який би lookup_array також може бути рядком для обох функцій. Для ілюстрації ми маємо новий набір даних з Посвідчення особи , Імена і Оцінки з фізики і Оцінки .

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

  • Для того, щоб дізнатися оцінку 3-й студент "Про те, що в Україні не існує жодного закону, який би XLOOKUP формула буде виглядати наступним чином Комірка G5 .
=XLOOKUP("Клас",B4:E4,B7:E7, "Не знайдено",0,1)

  • У цьому випадку, в якості прикладу, можна навести INDEX-MATCH формула буде такою:
=INDEX(B5:E16,3,MATCH("Клас",B4:E4,0))

3. XLOOKUP та INDEX-MATCH, коли збігів не знайдено

Якщо значення lookup_value не збігається з будь-яким значенням у полі lookup_value, то в цьому аспекті ці дві функції відрізняються. lookup_array можна задати фіксоване значення, яке буде повертатися в XLOOKUP Для цього необхідно задати це значення в полі if_not_found З іншого боку, така можливість відсутня в 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(INDEX(B5:E16,MATCH(100,B5:B16,0),2), "Не знайдено")

Схожі читання

  • Співставлення індексів Excel для повернення декількох значень в одній комірці
  • Формула INDEX-MATCH в Excel для повернення декількох значень по горизонталі
  • Як використовувати формулу ІНДЕКС-ПОДІБНІСТЬ в Excel для отримання декількох результатів
  • [Виправлено!] Співставлення індексів не повертає коректне значення в Excel (5 причин)
  • Як використовувати ІНДЕКСНИЙ СПІВПАДАННЯ замість ВПЛИВУ в Excel (3 способи)

4. XLOOKUP та INDEX-MATCH у випадку приблизних збігів

У цьому аспекті існує часткова схожість між двома функціями. XLOOKUP функцію, якщо функція lookup_value не збігається з жодним значенням у lookup_array можна змінити формулу, щоб вона повертала наступне менше або наступне більше значення. Задайте аргумент match_type до -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 ви повинні встановити значення match_type аргумент для 2 Інакше це не спрацює.

  • З іншого боку, угода про асоціацію між Україною та ЄС INDEX-MATCH формула для виконання цього ж завдання буде такою.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Читати далі: Співставлення декількох критеріїв за допомогою підстановочного знаку в Excel (повне керівництво)

6. XLOOKUP та INDEX-MATCH, коли декілька значень відповідають значенню пошуку

На цьому прикладі показано XLOOKUP проти INDEX-MATCH коли декілька значень збігаються з шуканим значенням. У цьому відношенні також існує часткова схожість між двома функціями. XLOOKUP та INDEX-MATCH обидва повертають тільки одне значення, якщо декілька значень в lookup_array збігаються з 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 У цьому відношенні існує схожість між цими двома функціями. Обидві дозволяють множину значень для пошуку. lookup_values (Формула масиву).

  • Для 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 Розглянемо їх коротко.

Переваги

  • Встановити значення за замовчуванням для випадків, коли немає збігів.
  • Може шукати приблизні збіги без сортування lookup_array .
  • Мати доступ до пошуку як з першої, так і з останньої комірки lookup_array .

Недоліки

  • Працює повільніше, ніж INDEX-MATCH функцію.
  • Доступно в Office 365 тільки.

Переваги та недоліки функцій INDEX-MATCH

На сьогоднішній день, на жаль, це не так. INDEX-MATCH функції також отримали деякі з наступних плюсів і мінусів.

Переваги

  • Працює швидше, ніж XLOOKUP функцію.
  • Доступно в старому Excel версії.

Недоліки

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

Висновок

Нарешті, ми підійшли до завершення нашої великої статті, в якій ми спробували зробити порівняльний аналіз XLOOKUP проти INDEX-MATCH Повідомте нам про ваші слушні пропозиції з цього приводу. Слідкуйте за ExcelWIKI для отримання додаткової інформації.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.