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

INDEX и MATCH в Excel: гибкий поиск и замена VLOOKUP

6 min read Excel Обновлено 26 Dec 2025
INDEX + MATCH в Excel — гибкий поиск данных
INDEX + MATCH в Excel — гибкий поиск данных

Логотип Microsoft Excel на зелёном фоне

Быстрые ссылки

  • VLOOKUP против INDEX и MATCH

  • Основы INDEX и MATCH

  • Как использовать INDEX и MATCH в Excel

VLOOKUP против INDEX и MATCH

VLOOKUP ищет значения строго слева направо. Если столбец с искомым значением расположен правее столбца с возвращаемым значением — VLOOKUP не подойдёт без перестановки данных.

Microsoft поясняет ограничение так:

Функция VLOOKUP может искать значение только слева направо. Столбец с искомым значением должен находиться слева от столбца с возвращаемым значением.

Если структура вашей таблицы не позволяет использовать VLOOKUP, сочетание INDEX и MATCH решит задачу: MATCH находит позицию (индекс), INDEX возвращает значение по этой позиции — можно искать в любом направлении.

Основы INDEX и MATCH

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

  • INDEX: возвращает значение по номеру строки и/или столбца в заданном диапазоне.
  • MATCH: находит позицию (номер строки или столбца) заданного значения в диапазоне.

Синтаксис INDEX в форме массива:

INDEX(array, row_number, column_number)

Первые два аргумента обязательны, третий — необязателен (нужен для двухмерных областей).

Пример: чтобы получить значение из 4-й строки диапазона D2:D8:

=INDEX(D2:D8,4)

Функция INDEX в Excel, пример возвращаемого значения

Результат — 20,745, то есть значение в четвёртой позиции диапазона.

Синтаксис MATCH:

MATCH(value, array, match_type)

Первые два аргумента обязательны, третий — опционален. MATCH возвращает позицию найденного значения внутри массива.

Пример: найти позицию значения из G2 в диапазоне A2:A8:

=MATCH(G2,A2:A8)

Функция MATCH в Excel, пример возвращаемой позиции

Результат — 4, потому что значение находится в четвёртой позиции диапазона.

Примечание о match_type: используйте 0 для точного соответствия. Значения 1 и -1 требуют сортировки и используются для приближённого поиска.

Как использовать INDEX и MATCH в Excel

Идея простая: вставьте формулу MATCH внутрь INDEX вместо фиксированного номера строки.

Пример: найти значение продаж по идентификатору локации (Location ID):

=INDEX(D2:D8,MATCH(G2,A2:A8))

MATCH ищет значение G2 в A2:A8 и возвращает позицию; INDEX использует эту позицию, чтобы вернуть соответствующее значение из D2:D8.

INDEX и MATCH для ссылки на ячейку

Другой пример: найти город по сумме продаж:

=INDEX(B2:B8,MATCH(G5,D2:D8))

MATCH находит позицию значения из G5 в D2:D8; INDEX возвращает соответствующий город из B2:B8 (результат — Houston).

INDEX и MATCH для ссылки на ячейку

Можно использовать конкретное текстовое значение вместо ссылки:

=INDEX(D2:D8,MATCH("Houston",B2:B8))

Не забудьте брать текст в кавычки, если ссылку заменяете на строковый литерал.

INDEX и MATCH для текста

Аналогично можно искать по ID:

=INDEX(D2:D8,MATCH("2B",A2:A8))

Частые вариации и расширенные приёмы

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

Если нужно найти значение по пересечению строки и столбца, используйте две MATCH — одну для строки, другую для столбца:

=INDEX(A1:E10, MATCH("КлючСтроки", A1:A10, 0), MATCH("КлючСтолбца", A1:E1, 0))
  1. Несколько критериев

Когда ключ составной, можно построить вспомогательный столбец с конкатенацией ключей и выполнять MATCH по нему, или использовать массивную формулу с SUMPRODUCT/INDEX для поиска по нескольким условиям.

Пример через вспомогательный столбец (рекомендуется для читабельности):

  • В столбце F создать формулу: =A2 & “|” & B2 (объединить поля)
  • Использовать: =INDEX(C2:C100, MATCH(E1 & “|” & E2, F2:F100, 0))
  1. Приближённый поиск и сортировка

Для приближённого поиска укажите третий аргумент MATCH как 1 или -1 и гарантируйте соответствующую сортировку диапазона. Для точного совпадения всегда используйте 0.

  1. Закрепление диапазонов

При копировании формул используйте абсолютные ссылки ($A$2:$A$100) или именованные диапазоны, чтобы диапазоны не смещались.

  1. Быстродействие

INDEX+MATCH часто быстрее, чем VLOOKUP на больших таблицах, особенно если возвращаемые столбцы находятся слева от ключа. Но в очень больших моделях имеет смысл тестировать производительность и использовать бинарный поиск или оптимизированные таблицы.

Когда INDEX и MATCH не сработает или неудобны

  • Если вы используете современную версию Excel (Microsoft 365) — XLOOKUP проще и читаемее: один вызов, поиск в любом направлении и понятные аргументы.
  • Если нужно искать по нескольким условиям без вспомогательных столбцов и вы не хотите писать массивные формулы — используйте FILTER или XLOOKUP с массивами в новых версиях Excel.
  • MATCH по умолчанию может вести себя неожиданно при отсутствии третьего аргумента (по умолчанию match_type=1). Чтобы избежать ошибок, явно указывайте match_type=0.

Альтернативы и сравнение

  • VLOOKUP: прост, но ищет только слева направо и требует указания номера столбца.
  • INDEX + MATCH: гибкий, позволяет искать в любом направлении, устойчив к изменению порядка столбцов.
  • XLOOKUP (современный Excel): объединяет преимущества и предоставляет более понятный интерфейс и дополнительные опции (возврат диапазона, значения по умолчанию при ошибке, поиск по образцу).
  • FILTER: хорош для возврата нескольких совпадений или фильтрации динамических массивов.

Табличка сравнения (ключевые параметры):

  • Направление поиска: VLOOKUP — слева направо, INDEX+MATCH — любое, XLOOKUP — любое.
  • Поддержка нескольких результатов: FILTER/XLOOKUP лучше.
  • Сложность формулы: VLOOKUP проще, INDEX+MATCH средний уровень, XLOOKUP — легко читается.

Пошаговый чеклист для внедрения формул

Для аналитика и владельца данных:

  • Убедитесь, что источник данных стабилен и нет дублирующихся ключей.
  • Выберите точный тип соответствия (match_type = 0 для точного совпадения).
  • Закрепите диапазоны ($A$2:$A$100) или используйте именованные диапазоны.
  • Пропишите тесты на краевые случаи (пустые значения, отсутствующие ключи).

Для разработчика отчётов:

  • Документируйте именованные диапазоны и логику формул в отдельном листе.
  • Используйте строчные и поясняющие имена (например, Locations, SalesValues).
  • Настройте обработку ошибок: IFERROR или новая функция IFNA/XLOOKUP с аргументом если не найдено.

Малый метод работы при настройке формулы

  1. Найдите столбец с ключом и столбец с возвращаемыми значениями.
  2. Протестируйте MATCH отдельно, убедитесь, что возвращается ожидаемая позиция.
  3. Подставьте MATCH внутрь INDEX и проверьте результат.
  4. Добавьте абсолютные ссылки и обработку ошибок.
  5. Прогоните тесты на выборке и на граничных условиях.

Примеры тестовых случаев и критерии приёмки

Критерии приёмки формулы:

  • Формула возвращает правильное значение для 10 тестовых строк с разными позициями ключа.
  • Корректно обрабатывает отсутствие ключа (возвращает заданное сообщение или NA).
  • Работает при копировании формулы по строкам/столбцам без смещения диапазонов.

Тестовые кейсы:

  • Существующий ключ в начале/середине/конце диапазона.
  • Отсутствующий ключ.
  • Дублирующие ключи (проверить поведение).
  • Пустые строки в диапазоне ключей.

Советы по отладке

  • Если формула возвращает #N/A, проверьте совпадает ли тип данных (число vs текст). Иногда числа хранятся как текст и MATCH не найдёт соответствие.
  • Используйте функцию TEXT или VALUE для приведения типов, либо TRIM для удаления скрытых пробелов.
  • Включите отображение формул (Ctrl+`) чтобы увидеть, правильно ли закреплены диапазоны. > Важно: всегда проверяйте третий аргумент MATCH. Для точного совпадения используйте 0. Если оставить его пустым, поведение зависит от упорядоченности данных. ## Простая памятка (cheat sheet) - INDEX(range, n) — вернуть n-ю позицию в одномерном диапазоне. - MATCH(value, range, 0) — найти позицию с точным совпадением. - Комбинация: INDEX(return_range, MATCH(lookup_value, lookup_range, 0)). ## Роль-based checklist - Аналитик: тесты на корректность, обработка пропусков, документация. - BI-инженер: именованные диапазоны, оптимизация производительности, мониторинг скорости. - Бухгалтер: фиксированные диапазоны, резервные проверки на дубли. ## Decision tree для выбора между VLOOKUP, INDEX+MATCH и XLOOKUP mermaid flowchart TD A[Нужно найти значение по ключу?] --> B{Версия Excel} B -->|Microsoft 365 / Excel 2021+| C[XLOOKUP] B -->|Старые Excel| D{Нужен поиск влево?} D -->|Да| E[INDEX + MATCH] D -->|Нет| F[VLOOKUP или INDEX + MATCH] C --> G[Используйте XLOOKUP для простоты] E --> G F --> G ## 1‑строчный словарь - INDEX — возврат значения по позиции.
    - MATCH — поиск позиции значения в диапазоне.
    - VLOOKUP — вертикальный поиск слева направо.
    - XLOOKUP — современная замена с гибкими опциями. ## Заключение INDEX и MATCH — ключевые инструменты для гибкого поиска в таблицах Excel. Они решают ограничения VLOOKUP, позволяют искать в любом направлении, комбинироваться для двумерных таблиц и масштабироваться для сложных сценариев. В современных версиях Excel XLOOKUP упрощает многие задачи, но знание INDEX+MATCH остаётся полезным для совместимости и глубокого понимания логики поиска. Краткие выводы: - Используйте MATCH(…, 0) для точного соответствия.
    - Закрепляйте диапазоны и документируйте именованные области.
    - Тестируйте формулы на граничных случаях и на разных типах данных. Дополнительные материалы: базовые функции Excel — сложение, текущая дата и другие инструменты помогут при подготовке данных перед применением поисковых формул.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Как установить DEB‑файл в Linux
Linux

Как установить DEB‑файл в Linux

Dropbox: как снизить нагрузку CPU в Windows
ПО

Dropbox: как снизить нагрузку CPU в Windows

Групповые видеозвонки WhatsApp — до 32 участников
Инструкции

Групповые видеозвонки WhatsApp — до 32 участников

Скрыть профиль Steam — как и что теряете
Конфиденциальность

Скрыть профиль Steam — как и что теряете

Удаление ореолов в Photoshop Beta — Generative Fill
Фоторедактирование

Удаление ореолов в Photoshop Beta — Generative Fill

Как надёжно скрыть приватные фото и видео
Конфиденциальность

Как надёжно скрыть приватные фото и видео