Як насправді працює INDEX MATCH, чому вона перевершує VLOOKUP, і коли XLOOKUP робить обидві застарілими
- INDEX MATCH працює в кожній версії Excel, включаючи файл 2007 року вашого фінансового директора, що відмовляється оновлюватись.
- Шукає вліво, вправо, вгору, вниз і в двох напрямках одночасно. VLOOKUP не може.
- На таблиці з 100 000 рядків INDEX MATCH перераховується помітно швидше за VLOOKUP, бо торкається лише двох стовпців.
- Шаблон завжди
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0)). Запам'ятайте раз, використовуйте назавжди. - XLOOKUP чистіша, якщо є Microsoft 365 або Excel 2021+. INDEX MATCH виграє на застарілих файлах, спільних книгах і складних двовимірних сітках.
Ви використовували VLOOKUP роками. Потім хтось показав вам INDEX MATCH, і ви вже не можете повернутись назад. Функція — це не одна функція. Це дві функції, складені разом, і саме це дає їй гнучкість, якої ніколи не мав VLOOKUP.
Чому INDEX MATCH досі важлива у 2026
XLOOKUP з'явилась у 2019. Вона швидша для написання, має дружній синтаксис і елегантно обробляє помилки. Чому ми досі говоримо про INDEX MATCH? Тому що XLOOKUP не існує в Excel 2019, Excel 2016 або будь-якій старішій версії, а більшість корпоративних фінансів живе в цих версіях. Модель, яку клієнт надсилає вам по email, побудована у 2014. Спільна книга, яку використовує ваша команда, відкривалась у Excel 2019 минулого тижня, і клітинки XLOOKUP повернули #NAME?. INDEX MATCH — універсальний перекладач.
Як насправді працює INDEX MATCH
Хитрість — читати зсередини. INDEX повертає значення зі списку, коли ви даєте йому номер позиції. MATCH знаходить цей номер позиції за вас. Кістяк виглядає так:
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
Уявіть таблицю працівників. Стовпець A містить імена. Стовпець C — зарплати. Ви хочете знайти зарплату Марії Петренко. INDEX потрібно знати, з якого стовпця брати відповідь, тому ви вказуєте C2:C500. Потім MATCH шукає "Марію Петренко" в A2:A500 і повідомляє число, наприклад 47. INDEX бере 47 і повертає 47-му клітинку C2:C500:
=INDEX(C2:C500, MATCH("Марія Петренко", A2:A500, 0))
Порада. Натисніть F9 після виділення лише частини MATCH вашої формули в рядку формул. Excel обчислює цей фрагмент і показує позицію. Так ви налагоджуєте INDEX MATCH за п'ять секунд.
INDEX MATCH vs VLOOKUP
| Можливість | VLOOKUP | INDEX MATCH |
|---|---|---|
| Напрямок пошуку | Лише зліва направо. Стовпець пошуку — обов'язково перший. | Будь-який напрямок. Стовпець пошуку може бути будь-де. |
| Поведінка при вставленні стовпця | Ламається. Вставлення зміщує індекс стовпця і тихо повертає неправильні дані. | Виживає. Діапазони явні, тому вставлення коригується автоматично. |
| Продуктивність на 100k+ рядках | Повільніше. Excel сканує весь блок таблиці при кожному перерахунку. | Швидше. Торкаються лише два зазначені стовпці. |
| Двовимірний пошук | Вимагає VLOOKUP + MATCH для номера стовпця, незручно. | Природно: INDEX(сітка, MATCH(рядок), MATCH(стовпець)). |
INDEX MATCH vs XLOOKUP
| Можливість | XLOOKUP | INDEX MATCH |
|---|---|---|
| Підтримка версій Excel | Microsoft 365 і Excel 2021 або новіше. | Кожна версія Excel, включаючи 2003 і Mac Excel 2008. |
| Синтаксис | Одна функція, три обов'язкових аргументи. Читається зліва направо. | Дві складені функції. Читання зсередини. |
| Тип відповідності за замовчуванням | Точне. Безпечне за замовчуванням. | Потрібно передати 0 в MATCH або стандарт приблизний. |
| Двовимірний пошук | XLOOKUP в XLOOKUP, стає громіздким. | INDEX з двома MATCH чистіший для сіткових даних. |
5 шаблонів INDEX MATCH, що ви будете використовувати щотижня
Пошук вліво
Ваші дані мають ID працівників у стовпці C і імена у стовпці A. VLOOKUP не може це зробити без реструктуризації. INDEX MATCH не турбується про напрямок:
=INDEX(A2:A500, MATCH("EMP-1042", C2:C500, 0))
Двовимірний пошук (INDEX MATCH MATCH)
Знайдіть продажі за серпень для "Бездротових навушників". Один MATCH знаходить рядок продукту, другий — стовпець серпня:
=INDEX(B2:M50, MATCH("Бездротові навушники", A2:A50, 0), MATCH("Серп", B1:M1, 0))
Приблизне збіг (податкові дужки, рівні комісій)
Для групових пошуків (дохід до податкової дужки) відсортуйте стовпець пошуку за зростанням і передайте 1 як тип збігу:
=INDEX(B2:B8, MATCH(83500, A2:A8, 1))
Пошук з підстановочним знаком
Знайти будь-який рядок, що містить "Solutions" в назві:
=INDEX(B2:B500, MATCH("*Solutions*", A2:A500, 0))
Кілька критеріїв з конкатенацією
Знайти зарплату людини, чиє ім'я у F2 і прізвище у G2:
=INDEX(C2:C500, MATCH(F2&G2, A2:A500&B2:B500, 0))
Поширені помилки та їх виправлення
#N/A — значення не знайдено. MATCH буквально не може знайти ваше значення пошуку. Причини: кінцеві пробіли, розбіжність типів (ID зберігається як текст, але ви шукаєте число), або ви шукаєте не в тому діапазоні. Виправте за допомогою =TRIM(A2) або загорніть у VALUE() чи TEXT().
Тихий вбивця: забуття 0 в MATCH. Якщо написати MATCH(value, range) без третього аргументу, він стандартно стає 1 — приблизне збіг, діапазон відсортований за зростанням. Якщо дані не відсортовані, отримаєте неправильну відповідь без помилки. Завжди передавайте 0 для точного збігу.
FAQ
Чи потрібно вивчати INDEX MATCH, якщо є XLOOKUP?
Так. Кожен, хто ділиться таблицями з клієнтами, постачальниками або на старих версіях Excel, зрештою потребуватиме INDEX MATCH. Вона також є найчистішим інструментом для двовимірних сіткових пошуків, незалежно від версії Excel.
Чи працює INDEX MATCH у Google Таблицях?
Так, ідентично. Google Таблиці підтримують INDEX і MATCH з тим самим синтаксисом і поведінкою. Зазначені шаблони працюють без змін.
Що робить третій аргумент MATCH?
Це тип збігу. 0 — точне збіг (будь-який порядок). 1 — найбільше значення менше або рівне (діапазон відсортований за зростанням). -1 — найменше значення більше або рівне. 0 — те, що потрібно у 95% випадків.
Підсумок
INDEX MATCH — функція пошуку, що виживає в кожній версії Excel, при будь-якому вставленні стовпців і передачі спільних книг. XLOOKUP зручніша, коли ви контролюєте середовище, але INDEX MATCH — те, що ви використовуєте, коли ні. Запам'ятайте шаблон =INDEX(return_range, MATCH(lookup_value, lookup_range, 0)), ніколи не забувайте 0, і ви будете писати пошуки, що просто працюють.
- INDEX MATCH складає дві функції: MATCH знаходить позицію, INDEX повертає значення на цій позиції.
- Шаблон завжди
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0)).0обов'язковий для безпеки. - Працює в кожній версії Excel, включаючи старі, що ваші клієнти ще використовують, на відміну від XLOOKUP.
- Шукає в будь-якому напрямку, виживає при вставленні стовпців і перераховується швидше за VLOOKUP на великих даних.
- Двовимірний пошук (INDEX з двома MATCH) чистіший за вкладений XLOOKUP для сіткових даних.
- Обирайте XLOOKUP для сучасних особистих файлів. Обирайте INDEX MATCH для спільного, аудиторського або критичного для продуктивності.
Коли ваші навички з таблицями вдосконалились, наступний крок — дозволити людям бачити вашу роботу. Створіть односторінковий хаб із проєктами, шаблонами та контактами на unil.ink за хвилину.
