Мастерство поиска данных: функция ПОИСКПОЗ в Excel

Иван Корнев·10.04.2026·4 мин

Функция ПОИСКПОЗ (англ. MATCH) возвращает относительную позицию искомого значения в диапазоне ячеек, а не само значение. Это ключевой инструмент для создания гибких формул поиска, особенно в связке с функцией ИНДЕКС, что позволяет заменить устаревший ВПР и строить устойчивые к изменениям таблицы.

Главное отличие: ВПР возвращает значение из ячейки, а ПОИСКПОЗ возвращает номер позиции (число), где это значение находится. Например, если «Яблоко» стоит третьим в списке, функция вернет число 3.

Синтаксис и аргументы функции

Формула записывается следующим образом: =ПОИСКПОЗ(искомое_значение; просматриваемый_массив; [тип_совпадения])

Разберем три обязательных и опциональных элемента:

  1. Искомое_значение: Число, текст, логическое значение или ссылка на ячейку, которое нужно найти.
  2. Просматриваемый_массив: Диапазон ячеек (одна строка или один столбец), в котором ведется поиск.
  3. Тип_совпадения (опционально): Определяет логику поиска. Критически важный параметр, от которого зависит результат.
ЗначениеТип поискаТребование к даннымОписание
0Точное совпадениеНе требуется сортировкаИщет точное соответствие. Если не находит — возвращает ошибку #Н/Д. Самый частый сценарий.
1Ближайшее меньшееПо возрастаниюИщет наибольшее значение, которое меньше или равно искомому. Если пропустить этот аргумент, Excel по умолчанию использует 1.
-1Ближайшее большееПо убываниюИщет наименьшее значение, которое больше или равно искому.

Ловушка по умолчанию: Если вы не укажете третий аргумент, Excel будет искать «ближайшее меньшее» (режим 1). Для большинства задач это приведет к неверным результатам, если список не отсортирован. Всегда явно указывайте 0 для точного поиска.

Пошаговая инструкция: от простого к сложному

Шаг 1. Базовый поиск позиции

Допустим, в диапазоне A2:A10 перечислены фрукты. Нужно узнать, под каким номером стоит «Груша». Формула: =ПОИСКПОЗ("Груша"; A2:A10; 0) Результат: Число (например, 5), означающее, что «Груша» находится на 5-й позиции внутри выбранного диапазона.

Шаг 2. Связка ПОИСКПОЗ + ИНДЕКС (Мощная замена ВПР)

Это самый полезный сценарий. Функция ИНДЕКС умеет возвращать значение по номеру строки/столбца. Если скормить ей результат ПОИСКПОЗ, мы получим динамический поиск.

Задача: Есть таблица товаров (столбец A) и цен (столбец B). Нужно найти цену для товара, название которого введено в ячейку D2.

Формула: =ИНДЕКС(B2:B100; ПОИСКПОЗ(D2; A2:A100; 0))

Как это работает:

  1. ПОИСКПОЗ находит номер строки с товаром из D2 в списке A2:A100.
  2. ИНДЕКС берет этот номер и возвращает значение из соответствующей ячейки столбца цен B2:B100.

Преущество перед ВПР: Такая связка не ломается, если вы добавите новый столбец между данными. ВПР использует жесткий номер столбца, а ИНДЕКС+ПОИСКПОЗ работают с конкретными диапазонами.

Шаг 3. Поиск с обработкой ошибок

Если искомое значение отсутствует, функция вернет ошибку #Н/Д. Чтобы таблица выглядела аккуратно, оберните формулу в ЕСЛИОШИБКА.

Пример: =ЕСЛИОШИБКА(ПОИСКПОЗ(D2; A2:A100; 0); "Товар не найден")

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

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

Представьте таблицу, где строки — это товары, а столбцы — месяцы. Нужно найти объем продаж конкретного товара в конкретном месяце. Здесь ПОИСКПОЗ используется дважды: один раз для поиска номера строки, второй — для номера столбца.

=ИНДЕКС(вся_таблица; ПОИСКПОЗ(товар; список_товаров; 0); ПОИСКПОЗ(месяц; список_месяцев; 0))

Пример 2: Поиск ближайшего значения (Бонусные пороги)

У вас есть шкала скидок: от 1000 руб. — 5%, от 5000 руб. — 10%. Сумма покупки — 3400 руб. Какая скидка положена? Данные должны быть отсортированы по возрастанию. Формула: =ИНДЕКС(скидки; ПОИСКПОЗ(3400; пороги_сумм; 1)) Режим 1 найдет ближайшее меньшее значение (1000) и вернет соответствующую скидку (5%).

Частые ошибки и их решение

  • Ошибка #Н/Д при наличии значения.
    • Причина: Лишние пробелы в тексте («Яблоко » вместо «Яблоко») или разные форматы данных (число сохранено как текст).
    • Решение: Используйте функцию СЖПРОБЕЛЫ или проверьте формат ячеек. Убедитесь, что ищете точно то же самое, что есть в ячейке.
  • Неверный результат при поиске чисел.
    • Причина: Забыли указать тип совпадения 0, и данные не отсортированы.
    • Решение: Всегда ставьте 0 в конце формулы для точного поиска.
  • Формула ссылается не туда при копировании.
    • Причина: Относительные ссылки на диапазоны сместились.
    • Решение: Закрепите диапазоны знаками доллара: $A$2:$A$100.

FAQ

В чем разница между ПОИСКПОЗ и ВПР? ВПР ищет значение и сразу возвращает результат из соседнего столбца. ПОИСКПОЗ только сообщает «номер места», где лежит значение. ПОИСКПОЗ универсальнее: может искать слева направо и справа налево, а также работать в связке с ИНДЕКС для двумерных таблиц.

Можно ли искать часть текста (например, «яблок»)? Да, в режиме точного совпадения (0) можно использовать подстановочные знаки. Пример: =ПОИСКПОЗ("*яблок*"; A2:A10; 0) найдет первое слово, содержащее корень «яблок» (яблоко, яблоки, крабовое яблоко).

Что лучше: ПОИСКПОЗ или новая функция ПРОСМОТРX (XLOOKUP)? Если у вас современный Excel (Office 365, 2021+), функция ПРОСМОТРX удобнее: она объединяет возможности ВПР, ГПР и ПОИСКПОЗ в одной формуле, проще в написании и имеет встроенную обработку ошибок. Однако ПОИСКПОЗ остается стандартом для совместимости со старыми версиями файлов.