MATCH в Excel — синтаксис, примеры и практические приёмы

Что такое функция MATCH в Excel?
MATCH ищет заданное значение в одномерном диапазоне и возвращает относительную позицию этого значения в диапазоне (например, 3 означает третий элемент). MATCH не возвращает само значение, а только индекс — этот индекс затем можно использовать с INDEX или другими функциями для извлечения связанных данных.
Кратко: MATCH = «найти позицию».
Синтаксис
=MATCH(lookup_value, lookup_array, [match_type])Где:
- lookup_value — значение, которое нужно найти.
- lookup_array — однонаправленный диапазон (строка или столбец), в котором идёт поиск.
- match_type — необязательный параметр, указывающий тип сопоставления:
- 0 (или опущено): точное совпадение. Диапазон может быть в любом порядке.
- 1: находит наибольшее значение, меньшее или равное lookup_value; требует, чтобы lookup_array был отсортирован по возрастанию.
- -1: находит наименьшее значение, большее или равное lookup_value; требует сортировки по убыванию.
Важно: если соответствие не найдено, MATCH вернёт ошибку #N/A.
Примеры использования
Поиск точного совпадения
Допустим, в столбце B находятся результаты студентов, и нужно узнать позицию оценки 88 (например, у Алекса). Формула:
=MATCH(88, B1:B7, 0)
Формула вернёт число, соответствующее позиции 88 в диапазоне B1:B7.
Приближённый поиск в отсортированных данных
Если у вас есть отсортированный по возрастанию столбец высот, и нужно найти ближайшую высоту, не превышающую 1800:
=MATCH(1800, B1:B7, 1)
MATCH вернёт позицию наибольшего значения ≤ 1800.
Обработка ошибок
Если значение не найдено, MATCH возвращает #N/A. Удобнее показывать понятное сообщение:
=IFERROR(MATCH("Chicago", A2:A8, 0), "Город не найден")
Эта формула подставит «Город не найден» вместо ошибки.
Комбинации MATCH с другими функциями
MATCH сам по себе возвращает позицию — обычно он полезен в связке с функцией, которая по позиции извлекает значение.
VLOOKUP + MATCH: динамический номер столбца
Если у вас таблица с заголовком в A1:D1 и строки данных в A2:D7, можно определить индекс столбца через MATCH и подставить в VLOOKUP:
=VLOOKUP(A4, A2:D7, MATCH("Product", A1:D1, 0), FALSE)
=VLOOKUP(A4, A2:D7, MATCH("Price", A1:D1, 0), FALSE)
Недостаток VLOOKUP: он ищет только по первому столбцу диапазона. Если структура таблицы меняется, использование MATCH для определения номера столбца делает формулы устойчивее.
INDEX + MATCH: замена VLOOKUP
Комбинация INDEX и MATCH считается более гибкой и быстрой при больших таблицах:
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))Пример двухмерного поиска (двунаправленный):
=INDEX(B2:E10, MATCH($A12, A2:A10, 0), MATCH(B1, B1:E1, 0))Первая MATCH определяет строку, вторая — столбец.
XLOOKUP как современная альтернатива
В новых версиях Excel есть XLOOKUP — более понятная замена VLOOKUP/INDEX+MATCH. Однако MATCH по-прежнему полезен для нахождения индексов и при создании пользовательских логик.
Практические приёмы и советы
- Всегда проверяйте порядок сортировки, если используете match_type 1 или -1.
- Для точного поиска используйте 0; это безопаснее и не требует сортировки.
- При динамических таблицах применяйте MATCH для определения номера столбца — формула останется корректной при перестановке столбцов.
- Если lookup_array — горизонтальный диапазон, MATCH вернёт индекс по строке; если вертикальный — по столбцу.
- Сравнивайте типы данных: числа в виде текста не совпадут с числовыми значениями.
Важно: MATCH чувствителен к пробелам и формату. Обрежьте лишние пробелы с помощью TRIM при необходимости.
Когда MATCH не подойдёт (контрпримеры)
- Поиск нескольких совпадений: MATCH возвращает только позицию первого (при точном совпадении) или ближайшего. Для списка всех совпадений используйте FILTER или массивные формулы.
- Работа с двоичным поиском без сортировки: match_type 1 и -1 требуют сортировки; иначе результат неверен.
- Нужна гибкая логика замены/подстановки по нескольким условиям — лучше использовать INDEX+MATCH с дополнительными условиями, либо FILTER, либо Power Query.
Альтернативные подходы
- XLOOKUP: прямой и более читаемый синтаксис, поддерживает поиск в обоих направлениях и возвращение нескольких столбцов.
- FILTER: возвращает все строки, соответствующие условию; полезно при множественных совпадениях.
- LOOKUP: устаревшая функция для приближённого поиска в отсортированных массивах.
- Power Query: для сложных преобразований и надёжных слияний таблиц вне формул.
Мини-методология: как построить надёжную формулу поиска
- Определите, что вы ищете — одно значение или набор.
- Выберите диапазон для поиска (строка или столбец). Убедитесь, что он содержит однородные типы данных.
- Выберите match_type: 0 для точного, 1/−1 для приближённого и отсортированного.
- Оберните MATCH в INDEX/IFERROR/IFNA по необходимости.
- Протестируйте формулу на граничных случаях (пустые значения, дубликаты, несоответствия типов).
Шаблоны и шпаргалка (cheat sheet)
- Простая позиция:
=MATCH(lookup_value, lookup_array, 0)- Динамический столбец в VLOOKUP:
=VLOOKUP(key, table, MATCH(header_name, header_row, 0), FALSE)- Двухмерный поиск:
=INDEX(data_range, MATCH(row_key, row_range, 0), MATCH(col_key, col_range, 0))- Замена ошибки читаемым сообщением:
=IFERROR(INDEX(...), "Не найдено")Критерии приёмки
- Формулы должны возвращать корректный индекс для тестовых наборов.
- При опции точного совпадения (0) результат должен быть #N/A, если отсутствует значение.
- Для приближённого поиска данные тестируются на отсортированном и неотсортированном диапазоне.
- Должны быть предусмотрены проверки типов (число vs текст).
Тестовые сценарии и примеры приёмки
- Точный поиск существующего значения → возвращается позиция.
- Точный поиск отсутствующего значения → IFERROR заменяет #N/A на читаемое сообщение.
- Приближённый поиск в отсортированном по возрастанию ряду → возвращает наибольшее значение ≤ lookup_value.
- Использование INDEX+MATCH для извлечения связанного поля → совпадает с ожидаемым.
Роли и чеклист при внедрении
Аналитик:
- Проверить типы данных и пробелы.
- Тестировать формулы на выборке данных.
Разработчик отчётов:
- Сделать формулы устойчивыми к перестановке столбцов (использовать MATCH для номера столбца).
- Обернуть в IFERROR или IFNA.
Менеджер данных:
- Убедиться в согласованности форматов в источнике.
- Документировать, где используются приближённые поиски и почему.
Ограничения совместимости и заметки по версиям
- MATCH доступен во всех распространённых версиях Excel (Excel 2003 и новее).
- XLOOKUP доступен только в новых версиях Office 365/Excel 2019+; там многие задачи по поиску проще решаются XLOOKUP.
- Power Query и функции динамических массивов (FILTER, UNIQUE) доступны в современных сборках; при их отсутствии используйте классические комбинации INDEX+MATCH.
Краткое резюме
Функция MATCH — надёжный инструмент для получения позиции значения в диапазоне. В паре с INDEX или VLOOKUP она позволяет строить гибкие, устойчивые формулы для извлечения данных. Используйте точное совпадение, чтобы избежать неопределённостей, и не забывайте обрабатывать ошибки.
Важно: если вам нужно вернуть несколько совпадений или работать с неотсортированными данными для приближённого поиска, рассмотрите FILTER, XLOOKUP или Power Query как альтернативы.
Ключевые выводы:
- MATCH возвращает позицию, а не значение.
- Для извлечения данных комбинируйте MATCH с INDEX или VLOOKUP.
- Точный поиск (0) безопаснее и не требует сортировки.
- Проверяйте типы данных и обрабатывайте #N/A через IFERROR/IFNA.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone