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

Функция MATCH в Excel — синтаксис, примеры и практические советы

6 min read Excel Обновлено 01 Jan 2026
Функция MATCH в Excel — синтаксис и примеры
Функция MATCH в Excel — синтаксис и примеры

Логотип Excel с водяным знаком суммы

Что делает MATCH в Excel

MATCH ищет заданное значение в диапазоне ячеек и возвращает относительную позицию найденного элемента внутри этого диапазона. По сути, MATCH отвечает на вопрос: «На каком месте в списке находится нужное значение?» — а индекс позиции затем можно использовать в других формулах для извлечения данных из соответствующей строки или столбца.

Краткое определение: MATCH — возвращает порядковый номер найденного значения в указанном массиве.

Синтаксис

=MATCH(lookup_value, lookup_array, [match_type])
  • lookup_value — значение, которое нужно найти.
  • lookup_array — диапазон, в котором будет вестись поиск.
  • match_type (необязательно) — тип сопоставления:
    • 0 — точное совпадение (диапазон может быть в любом порядке).
    • 1 — наибольшее значение, меньшее или равное lookup_value (требуется сортировка по возрастанию).
    • -1 — наименьшее значение, большее или равное lookup_value (требуется сортировка по убыванию).

Важно: если значение не найдено, MATCH возвращает ошибку #N/A.

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

Поиск точного соответствия

Допустим, у вас есть список оценок, и вам нужно найти позицию оценки 88.

=MATCH(88, B1:B7, 0)

Поиск точного совпадения в диапазоне с помощью MATCH

Формула вернёт относительную позицию (например, 5), если 88 — пятый элемент в диапазоне B1:B7.

Поиск ближайшего совпадения в отсортированных данных

Если столбец высот отсортирован по возрастанию и вы ищете ближайшую высоту ниже или равную 1800:

=MATCH(1800, B1:B7, 1)

Поиск ближайшего совпадения в отсортированном диапазоне с MATCH

Формула вернёт позицию ближайшего значения ≤ 1800. Если таким значением является 1500 в ячейке B3, результат — 3.

Обработка ошибок

Когда MATCH не находит значение, он возвращает #N/A. Для более понятного вывода используйте IFERROR:

=IFERROR(MATCH("Chicago", A2:A8, 0), "Город не найден")

Обработка ошибок MATCH с помощью IFERROR

Если «Chicago» отсутствует в диапазоне, формула вернёт «Город не найден» вместо #N/A.

Комбинация MATCH с другими функциями

MATCH особенно полезен в связке с INDEX, VLOOKUP и OFFSET, потому что он возвращает позицию, а не само значение. Это делает формулы гибче при изменении структуры таблицы.

VLOOKUP + MATCH — динамический номер столбца

Предположим, есть таблица с колонками: ID, Product, Category, Price. Нужно получить Product и Price для ID в A4.

=VLOOKUP(A4, A2:D7, MATCH("Product", A1:D1, 0), FALSE)

Извлечение названия товара через VLOOKUP и MATCH

Аналогично для цены:

=VLOOKUP(A4, A2:D7, MATCH("Price", A1:D1, 0), FALSE)

Получение цены с помощью VLOOKUP и MATCH

Преимущество: если порядок колонок изменится, MATCH найдёт позицию требуемой колонки по заголовку, и VLOOKUP продолжит работать.

INDEX + MATCH — рекомендуемый подход

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

Пример:

=INDEX(B2:B100, MATCH("Alice", A2:A100, 0))

Это найдёт строку с именем “Alice” в A2:A100 и вернёт соответствующее значение из B2:B100.

Советы по использованию и производительности

  • Для точного поиска всегда используйте match_type = 0.
  • Для приближённого поиска обеспечьте корректную сортировку (возрастающую для 1, убывающую для -1).
  • INDEX+MATCH обычно быстрее и надёжнее, чем VLOOKUP в больших таблицах.
  • Избегайте массивов с разными типами данных (текст и числа), это вызывает неожиданные результаты.
  • Приводите данные к одному типу (TRIM, VALUE) при необходимости.

Важно: если вы используете большие диапазоны целиком (например, A:A), это может замедлить расчёты. Ограничьте диапазоны по возможности.

Когда MATCH даёт неверные результаты — типичные проблемы

  • Неправильный match_type: например, использование 1 при несортированном диапазоне.
  • Разные типы данных: число сохранено как текст и не совпадает с числовым lookup_value.
  • Лишние пробелы или невидимые символы в ячейках.
  • Дубликаты: MATCH вернёт позицию первого найденного совпадения.

Примеры исправлений:

  • Преобразовать столбец в числа: VALUE или умножение на 1.
  • Убрать пробелы: TRIM.
  • Проверить сортировку для приближённых поисков.

Альтернативы и эволюция инструментов

  • XLOOKUP (доступна в Microsoft 365 и новых сборках Excel) объединяет функционал VLOOKUP/HLOOKUP и INDEX/MATCH и проще в использовании. Если XLOOKUP доступна — её стоит рассмотреть.
  • FILTER и LOOKUP — дополнительные варианты для фильтрации и поиска.

Когда выбирать:

  • Для совместимости со старыми версиями Excel используйте INDEX+MATCH.
  • В Microsoft 365 используйте XLOOKUP для более читабельных формул.

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

  • MATCH — это «номер в списке», а INDEX — «понятный ответ по номеру». Вместе: MATCH даёт номер, INDEX — значение.
  • Если формула ломается при перестановке колонок — замените VLOOKUP на INDEX+MATCH.
  • Для сообщений об ошибках используйте IFERROR или IFNA, чтобы показывать понятный текст пользователю.

Быстрая памятка (cheat sheet)

  • Точное совпадение: =MATCH(value, range, 0)
  • Приближённое (<=): =MATCH(value, range, 1) — диапазон по возрастанию
  • Приближённое (>=): =MATCH(value, range, -1) — диапазон по убыванию
  • INDEX+MATCH: =INDEX(result_range, MATCH(key, key_range, 0))
  • VLOOKUP с динамическим столбцом: =VLOOKUP(key, table, MATCH(column_name, header_range,0), FALSE)

Роль-ориентированные чек-листы

  • Аналитик данных:

    • Проверить типы данных в колонке ключей.
    • Использовать match_type = 0 для точности.
    • Ограничиь диапазоны, чтобы ускорить расчёт.
  • Разработчик отчётов:

    • Использовать MATCH для вычисления номеров столбцов по заголовкам.
    • Комбинировать с INDEX для обратной совместимости.
    • Добавить IFERROR/IFNA для дружелюбных сообщений.
  • Менеджер/пользователь:

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

Критерии приёмки

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

Тестовые случаи для проверки

  1. Поиск существующего значения (точный): ожидаемый индекс.
  2. Поиск отсутствующего значения: пользовательское сообщение через IFERROR.
  3. Приближённый поиск в отсортированном наборе: возвращает ближайшее <= или >= значение в зависимости от match_type.
  4. Дубликаты: MATCH возвращает индекс первого вхождения.
  5. Разные типы (текст/число): проверка корректного преобразования типов.

Краткая методология построения надёжной формулы

  1. Очистите данные (TRIM, удаление непечатаемых символов).
  2. Приведите типы данных к единообразию.
  3. Выберите match_type в зависимости от задачи.
  4. Оберните MATCH в IFERROR/IFNA для дружественного вывода.
  5. По возможности используйте INDEX+MATCH или XLOOKUP для гибкости.

Совместимость и миграция

  • MATCH существует в Excel давно и совместима с большинством версий.
  • XLOOKUP упрощает многие сценарии, но доступна не во всех версиях. Для совместимости с устаревшими файлами держите INDEX+MATCH.

Короткий словарь (1 строка)

  • MATCH: возвращает номер позиции значения в диапазоне.
  • INDEX: возвращает значение по номеру строки/столбца.
  • VLOOKUP: ищет значение по ключу слева направо.
  • XLOOKUP: универсальная функция поиска в новых версиях Excel.

Примеры практических задач (edge cases)

  • Таблица с заголовками-перекрытиями: используйте MATCH по точному заголовку.
  • Мультиязычная таблица: учитывайте локаль при сравнении текстов (пробелы, символы).
  • Поиск по датам: убедитесь, что даты хранятся как числа, иначе сравнение даст неверный результат.

Итог

MATCH — компактный и мощный инструмент для нахождения позиции значения в диапазоне. В связке с INDEX или VLOOKUP он позволяет строить гибкие и устойчивые формулы. Всегда проверяйте типы данных, используйте точное сопоставление для ключевых задач и оборачивайте формулы в IFERROR/IFNA для удобства пользователей.

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

Краткое резюме:

  • MATCH возвращает позицию элемента в диапазоне.
  • match_type определяет поведение при точном и приближённом поиске.
  • Рекомендуется комбинировать MATCH с INDEX или XLOOKUP для надёжных решений.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

WHEA Uncorrectable Error — как исправить BSOD
Windows

WHEA Uncorrectable Error — как исправить BSOD

Как написать понятный README — руководство
Документация

Как написать понятный README — руководство

Как взламывают WhatsApp и как защититься
Кибербезопасность

Как взламывают WhatsApp и как защититься

INTERRUPT_EXCEPTION_NOT_HANDLED: как исправить BSOD
Windows

INTERRUPT_EXCEPTION_NOT_HANDLED: как исправить BSOD

Как просматривать логи Windows и устранять неполадки
Windows

Как просматривать логи Windows и устранять неполадки

Как исправить ошибку RPC Server is Unavailable
Техническая поддержка

Как исправить ошибку RPC Server is Unavailable