Index, Match та Xmatch
Свайпніть щоб показати меню
XLOOKUP є рекомендованою функцією для пошуку в сучасних моделях Excel, але багато робочих книг у реальних умовах досі використовують INDEX та MATCH. У цьому розділі розглянуто, як ці функції працюють разом, а також як XMATCH розширює цю логіку з більшою гнучкістю.
Структура MATCH
=MATCH(lookup_value, lookup_array, [match_type])
lookup_value: значення для пошуку;lookup_array: діапазон для пошуку;[match_type]: спосіб співставлення;0: точний збіг;1: найбільше значення, менше або рівне значенню для пошуку;-1: найменше значення, більше або рівне значенню для пошуку.
MATCH повертає позицію, а не саме значення.
Структура INDEX
=INDEX(array, row_num, [col_num])
array: масив, з якого повертається значення;row_num: позиція рядка;[col_num]: необов’язкова позиція стовпця.
INDEX повертає значення за позицією.
Комбінація INDEX та MATCH
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
MATCH(...): знаходить позицію продукту;INDEX(...): повертає значення за цією позицією.
Це відтворює поведінку пошуку без обмежень за напрямком.
Структура XMATCH
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
lookup_value: значення для пошуку;lookup_array: діапазон для пошуку;[match_mode]: логіка співставлення;[search_mode]: напрямок пошуку.
XMATCH повертає позиції так само, як і MATCH, але додає сучасні засоби керування пошуком, подібні до XLOOKUP.
На аркуші Summary введіть:
=MATCH("Laptop", Products[Product], 0)
Переконайтеся, що Excel повертає позицію Laptop у таблиці Products.
Введіть:
=INDEX(Products[Price], 3)
Переконайтеся, що формула повертає значення на позиції 3.
Введіть:
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
Тепер формула динамічно повертає ціну відповідного продукту.
Замініть фіксоване значення для пошуку на:
=INDEX(Products[Price], MATCH([@Product], Products[Product], 0))
[@Product]: значення продукту в поточному рядку;Products[Product]: стовпець для пошуку;Products[Price]: стовпець для повернення значення.
Тепер формула працює динамічно у структурі таблиці.
Введіть:
=XMATCH("Gaming Chair", Products[Product])
Переконайтеся, що Excel повертає позицію відповідного рядка.
Введіть:
=INDEX(Products, XMATCH("Gaming Chair", Products[Product]), XMATCH("Cost", Products[#Headers]))
- Перший
XMATCH(...): отримує позицію рядка; - Другий
XMATCH(...): отримує позицію стовпця; INDEX(...): повертає значення на перетині.
Це створює повністю динамічну систему пошуку за рядком і стовпцем.
Змініть значення продукту та стовпця у формулі.
Переконайтеся, що результат оновлюється динамічно залежно від вибраної комбінації рядка та стовпця.
1. Яка основна роль функції MATCH у комбінації INDEX/MATCH?
2. Чому потрібен INDEX при використанні MATCH?
3. Яка ключова перевага використання INDEX з XMATCH для двовимірного пошуку?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат