Гид по технологиям

Как использовать INDEX и MATCH в Excel: полное руководство

8 min read Excel Обновлено 05 Jan 2026
INDEX и MATCH в Excel — полное руководство
INDEX и MATCH в Excel — полное руководство

Аналитик данных работает с формулами INDEX и MATCH в Excel

Зачем использовать INDEX и MATCH

INDEX возвращает значение из указанного диапазона по номеру строки и столбца. MATCH находит позицию (номер строки или столбца) заданного значения в диапазоне. Вместе они дают мощный, гибкий механизм поиска, который устраняет многие ограничения VLOOKUP/HLOOKUP.

Кратко:

  • INDEX(array, row_num, [column_num]) — возвращает значение по координатам внутри массива.
  • MATCH(lookup_value, lookup_array, [match_type]) — возвращает позицию lookup_value в lookup_array.

Определения в одну строку:

  • INDEX — извлекает значение по адресу в массиве.
  • MATCH — находит адрес (порядковый номер) значения в массиве.

Важное: связка INDEX+MATCH не меняет данные, а только читает их — это безопасно для истории вычислений и исходных таблиц.

Синтаксис и базовые примеры

INDEX

Синтаксис:

=INDEX(array, row_num, [column_num])

Пример применения (последовательность действий):

  1. Введите =INDEX в ячейке.
  2. Выберите диапазон (array), поставьте запятую.
  3. Укажите номер строки (row_num) внутри выбранного диапазона.
  4. Необязательно указывайте column_num, если диапазон — одномерный столбец.

Пример формулы:

=INDEX(C5:C8,3,0)

Показ выполнения функции INDEX в Excel

MATCH

Синтаксис:

=MATCH(lookup_value, lookup_array, [match_type])

match_type:

  • 0 — точное совпадение
  • 1 — наибольшее значение, меньшее или равное lookup_value (диапазон должен быть отсортирован по возрастанию)
  • -1 — наименьшее значение, большее или равное lookup_value (диапазон должен быть отсортирован по убыванию)

Пример:

=MATCH(C7,C5:C8,0)

=MATCH("active listening",C5:C8,0)

Визуализация работы функции MATCH в Excel

Почему связка INDEX+MATCH лучше VLOOKUP в большинстве случаев

Преимущества связки:

  • Поиск в любом направлении (не нужно, чтобы искомое значение было в крайнем левом столбце).
  • Устойчивость к вставке/удалению столбцов — ссылки INDEX остаются корректными.
  • Для больших таблиц в ряде случаев работает быстрее, чем VLOOKUP, особенно при множественных обращениях.
  • Поддерживает сложные (многомерные) запросы: поиск по нескольким критериям через объединение (concatenate) или вложенные INDEX.
  • Лёгкость вложения в другие формулы.

Комбинируем INDEX и MATCH в одной формуле — пошаговый пример

Цель: найти Revenue и Profit для конкретного приложения.

  1. Введите =INDEX(. Выберите диапазон с Revenue, например C3:C13.
  2. Вместо номера строки используйте MATCH, который найдёт позицию приложения в колонке с названиями (B3:B13).

Формула:

=INDEX(C3:C13,MATCH(G2,B3:B13,0))

Если нужно получить Profit — поменяйте массив INDEX на D3:D13:

=INDEX(D3:D13,MATCH(G2,B3:B13,0))

Применение INDEX и MATCH в одной формуле

Двумерный поиск (строка + столбец)

Когда у вас есть таблица с заголовками столбцов и строк, используйте INDEX для всего диапазона и два MATCH — один для строки, другой для столбца.

Пример формулы с выпадающим списком, где F4 содержит выбранный столбец (“Revenue” или “Profit”):

=INDEX(C3:D13,MATCH(G2,B3:B13,0),MATCH(F4,C2:D2,0))

Пошагово:

  • Первый MATCH (MATCH(G2,B3:B13,0)) находит номер строки приложения.
  • Второй MATCH (MATCH(F4,C2:D2,0)) находит номер столбца (Revenue/Profit) внутри диапазона C2:D2.

Применение INDEX и MATCH в двумерной таблице

Многомерный поиск: два MATCH внутри INDEX

Если нужно одновременно учитывать несколько заголовков (например, тип — прогноз/факт и метрика — доход/прибыль), можно объединять строки через & и применять вложенный INDEX как источник для MATCH:

=INDEX(C4:F14,MATCH(I4,B4:B14,0),MATCH(J2&J3,INDEX(C2:F2&C3:F3,0),0))

Разбор формулы:

  • MATCH(I4,B4:B14,0) — находит строку по имени приложения.
  • INDEX(C2:F2&C3:F3,0) создаёт массив сочетаний заголовков верхнего и второго уровней.
  • MATCH(J2&J3, …,0) ищет нужную комбинацию заголовков.

Многомерное использование функций INDEX и MATCH

Практические советы и шаблоны

Шаблон 1 — простая связка (одномерный поиск):

=INDEX(результатный_столбец, MATCH(искомое_имя, столбец_ключей,0))

Шаблон 2 — двумерный поиск (таблица):

=INDEX(таблица_значений, MATCH(искомое_имя, столбец_ключей,0), MATCH(имя_столбца, заголовки,0))

Шаблон 3 — мульт-критерийный поиск (через объединение):

=INDEX(диапазон, MATCH(критерий1&критерий2, столбец1&столбец2,0))

Примечание: при объединении диапазонов (A&B) Excel возвращает массив строк, поэтому иногда требуется ввод формулы как массивной (в новых версиях Excel это обычно автоматизировано).

Когда связка INDEX+MATCH не подойдёт — альтернативы и ограничения

  1. XLOOKUP (доступен в новых версиях Excel): проще по синтаксису, поддерживает поиск в любом направлении и возвращает массивы. Рекомендуется, если ваша версия Excel его поддерживает.
  2. VLOOKUP удобен для простых задач и обучающих примеров, но ограничен направлением поиска и более уязвим к изменениям структуры таблицы.
  3. Power Query / Get & Transform — лучше при трансформации и объединении больших таблиц перед анализом.
  4. Базы данных (SQL) — при очень больших объёмах данных и сложных джоинах Excel становится узким местом.

Контрпример: если нужно выполнить сложное объединение больших таблиц по нескольким ключам и с трансформацией, Power Query или СУБД будут надёжнее и эффективнее.

Ментальные модели и эвристики

  • Представьте INDEX как «контейнер значений», а MATCH — как «номер строки» в этом контейнере.
  • Всегда проверяйте, что диапазоны MATCH и INDEX «выровнены» по логике: MATCH ищет в столбце ключей, а INDEX получает значение из колонки с тем же относительным смещением.
  • Для повышения производительности ограничивайте диапазоны (не используйте целые столбцы, если можно выбрать точный диапазон).

Быстродействие и оптимизация

  • Для больших таблиц избегайте массивных формул на тысячи строк. Альтернатива — вспомогательные столбцы с предваренными индексами.
  • При частом пересчёте используйте ручной режим пересчёта или заменяйте формулы на значения там, где это допустимо.
  • XLOOKUP в ряде случаев быстрее и проще — если он есть в вашей версии Excel, протестируйте его производительность на ваших данных.

Чек-листы по ролям

Аналитик:

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

Разработчик отчётов:

  • Использовать именованные диапазоны или таблицы Excel (Ctrl+T) для устойчивости ссылок.
  • Добавить обработку ошибок через IFERROR/IFNA.
  • Документировать логику поиска в блоке комментариев листа.

Менеджер/владелец данных:

  • Убедиться, что источники данных обновляются предсказуемо.
  • Проверить, кто имеет доступ к листу с формулами.

Критерии приёмки (acceptance)

  • Формула возвращает корректное значение для контрольного набора (10–20 примеров).
  • Формула корректно реагирует на отсутствующее значение (возвращает понятное сообщение или пустую строку с IFNA).
  • При вставке/удалении столбца формула продолжает работать (тест вставки столбца слева/справа).
  • Производительность в пределах приемлемого времени на реальном наборе данных (не более нескольких секунд для основных листов).

Тестовые случаи и приёмочные тесты

  1. Точное совпадение: искомое значение есть — формула возвращает ожидаемый результат.
  2. Отсутствующее значение: формула должна вернуть IFNA(…, “Не найдено”) или пустую строку.
  3. Дубликаты: проверить, что возвращается первая найденная запись (MATCH возвращает позицию первой найденной).
  4. Вставка столбца в середину таблицы: значения должны остаться корректными.
  5. Многомерный поиск: смена комбинации критериев в выпадающих списках — корректные значения.

Отладка и распространённые ошибки

  • #N/A: MATCH не нашёл значение — проверьте точность текста (скрытые пробелы) и типы данных (число как текст).
  • Сдвиг на одну строку: убедитесь, что диапазон INDEX и диапазон для MATCH «начинаются» с ожидаемой логической позиции.
  • Формула возвращает 0 или пустое значение: проверьте column_num в INDEX (0 обычно эквивалентно пропуску и работает для одномерных диапазонов).

Полезные приёмы:

  • Используйте TRIM и CLEAN при подготовке столбцов с текстом.
  • Преобразуйте числа, хранящиеся как текст, через VALUE или умножение на 1.

Решающее дерево — как выбрать метод поиска

flowchart TD
  A[Нужен поиск в таблице?] --> B{Ваша версия Excel поддерживает XLOOKUP?}
  B -- Да --> C[Используйте XLOOKUP для простых задач]
  B -- Нет --> D{Нужен поиск в любом направлении и устойчивость?}
  D -- Да --> E[Используйте INDEX+MATCH]
  D -- Нет --> F[Можно использовать VLOOKUP/HLOOKUP]
  C --> G[Или INDEX+MATCH для совместимости]
  E --> G
  F --> G
  G --> H[Если данные большие — рассмотрите Power Query / базу данных]

Шаблоны для обработки ошибок и устойчивости

Добавление IFNA позволяет отображать понятное сообщение при отсутствии данных:

=IFNA(INDEX(C3:C13,MATCH(G2,B3:B13,0)), "Не найдено")

Использование именованных таблиц (Ctrl+T) делает формулы более читаемыми:

=INDEX(Table1[Revenue], MATCH($G$2, Table1[App],0))

Практическое руководство по внедрению (мини-методология)

  1. Определите ключи поиска и список полей, которые нужно возвращать.
  2. Преобразуйте источник в таблицу Excel (Ctrl+T).
  3. Создайте выпадающие списки для фильтров/критериев (Data → Data Validation → List).
  4. Постройте формулы INDEX+MATCH с обработкой ошибок через IFNA.
  5. Протестируйте на контрольных кейсах.
  6. Документируйте логику и защитите лист от случайного редактирования.

Примеры использования в реальных сценариях

  • Дашборд продаж: динамическое подтягивание метрик (revenue, profit, forecast) по выбранному продукту.
  • Отчёт поддержки: поиск SLA/контактов по ID тикета.
  • Своды HR: поиск данных сотрудника по ID и вывод нескольких параметров (отдел, должность, дата найма).

Сравнение: INDEX+MATCH vs XLOOKUP vs VLOOKUP (матрица)

  • Гибкость поиска: INDEX+MATCH — высокая; XLOOKUP — высокая; VLOOKUP — низкая.
  • Устойчивость к вставке столбцов: INDEX+MATCH — высокая; XLOOKUP — высокая; VLOOKUP — низкая.
  • Простота синтаксиса: XLOOKUP — прост; VLOOKUP — прост; INDEX+MATCH — средняя.
  • Доступность в старых версиях Excel: INDEX+MATCH — есть; XLOOKUP — нет; VLOOKUP — есть.

Глоссарий — одном строке

  • Диапазон (array) — набор ячеек в таблице.
  • Именованная таблица — объект Excel, созданный через Ctrl+T, даёт структурированные ссылки.
  • MATCH_type — режим поиска в MATCH: 0, 1, -1.

Заключение и быстрые рекомендации

Связка INDEX + MATCH — это надёжный и гибкий инструмент для большинства задач поиска в Excel. Если у вас современная версия Excel, сравните её с XLOOKUP по удобству и скорости, но учтите совместимость отчётов для других пользователей. Всегда тестируйте формулы на граничных случаях и документируйте логику.

Краткое резюме — применяйте INDEX+MATCH когда:

  • Нужен поиск в любом направлении.
  • Структура таблицы меняется.
  • Требуется многомерный поиск по нескольким заголовкам.

Итог

INDEX и MATCH позволяют строить быстрые и гибкие решения для поиска данных в Excel. Используйте именованные таблицы, обработку ошибок и проверяйте производительность на реальных наборах данных. Для новых версий Excel также рассмотрите XLOOKUP как более простой синтаксически вариант. Уверенная работа с этими инструментами сделает ваши дашборды и отчёты стабильнее и удобнее в сопровождении.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Техновости: Facebook, Apple, Microsoft, Overwatch
Технологии

Техновости: Facebook, Apple, Microsoft, Overwatch

Как сохранить поиск в Проводнике Windows
Windows

Как сохранить поиск в Проводнике Windows

RATE в Excel: как посчитать процентную ставку
Финансы

RATE в Excel: как посчитать процентную ставку

Исправить ошибку 'server stumbled' в Microsoft Store
Windows

Исправить ошибку 'server stumbled' в Microsoft Store

Смотреть The Simpsons в 4:3 на Disney+
Стриминг

Смотреть The Simpsons в 4:3 на Disney+

Tool finder в Google Docs, Sheets и Slides — как пользоваться
Инструменты

Tool finder в Google Docs, Sheets и Slides — как пользоваться