Перейти к содержимому
8 (495) 660-36-72 8 (800) 600-36-72 (по РФ бесплатно)

ИНДЕКС и ПОИСКПОЗ в Excel: гибкий поиск вместо ВПР

Связка ИНДЕКС + ПОИСКПОЗ сначала находит положение нужного элемента, а затем возвращает значение из указанного диапазона. Она подходит для точного поиска, работает влево и не ломается только из-за вставки нового столбца между ключом и результатом.

ИНДЕКС и ПОИСКПОЗ в Excel: гибкий поиск вместо ВПР

Как устроена связка функций

ПОИСКПОЗ отвечает на вопрос «на каком месте находится значение?», а ИНДЕКС — «что находится на этом месте в другом диапазоне?». Допустим, в B2:B6 записаны артикулы, в D2:D6 — цены, а искомый артикул находится в G2. Формула:

Точный поиск цены по артикулу

=ИНДЕКС($D$2:$D$6;ПОИСКПОЗ(G2;$B$2:$B$6;0))

Внутренняя функция возвращает номер строки внутри диапазона B2:B6. ИНДЕКС берёт значение с той же позиции из D2:D6.

Третий аргумент 0 задаёт точное совпадение. Для артикулов, фамилий и других ключей обычно нужен именно он. Диапазоны поиска и результата должны начинаться и заканчиваться на одинаковых строках.

Как собрать формулу без ошибки

  1. Отдельно проверьте =ПОИСКПОЗ(G2;$B$2:$B$6;0). Результатом должно быть число от 1 до количества строк диапазона.
  2. Выделите столбец, из которого нужен ответ: в примере D2:D6.
  3. Вложите проверенную ПОИСКПОЗ вторым аргументом ИНДЕКС.
  4. Закрепите справочные диапазоны знаками доллара и оставьте G2 относительной, если формулу нужно копировать вниз.
  5. Сравните несколько результатов с исходной таблицей вручную.

Официальные справки Microsoft отдельно объясняют функции ИНДЕКС и ПОИСКПОЗ.

Чем это отличается от ВПР

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

Если ВПР уже решает простую стабильную задачу, переписывать его необязательно. Разбор базового варианта есть в статье про функцию ВПР в Excel.

Практика вместо теории

Научитесь строить устойчивые формулы поиска

Связка ИНДЕКС + ПОИСКПОЗ раскрывается вместе с типами ссылок, проверкой данных, обработкой ошибок и современными функциями поиска. На курсе вы соберёте такие решения на практических таблицах.

Двумерный поиск

ИНДЕКС может принимать номер строки и номер столбца. Пусть A2:A10 содержит названия товаров, B1:E1 — месяцы, а B2:E10 — продажи. Товар указан в H2, месяц — в H3:

Пересечение товара и месяца

=ИНДЕКС($B$2:$E$10;ПОИСКПОЗ(H2;$A$2:$A$10;0);ПОИСКПОЗ(H3;$B$1:$E$1;0))

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

Почему формула возвращает ошибку

  • #Н/Д. Ключа нет, число сохранено как текст или в строке есть лишний пробел.
  • #ССЫЛКА!. Номер позиции выходит за границы диапазона ИНДЕКС либо ссылка стала недействительной.
  • Неверный результат. Для обычного справочника пропущен третий аргумент 0 или диапазоны смещены относительно друг друга.
  • Формула меняется при копировании. Справочные диапазоны не закреплены абсолютными ссылками.

Для пользовательского отчёта ошибку можно обработать: =ЕСЛИОШИБКА(ИНДЕКС(...);"Не найдено"). Но сначала устраните причину: ЕСЛИОШИБКА не должна маскировать неправильный диапазон или дубликаты ключей.

Как проверить справочник

Убедитесь, что ключевой столбец не содержит неожиданных дублей: ПОИСКПОЗ вернёт первое совпадение. Сравните типы данных, удалите непечатаемые пробелы, протестируйте существующий и отсутствующий ключ. Если версия Excel поддерживает ПРОСМОТРX, сравните с ним читаемость решения, но выбирайте функцию с учётом версии программы у всех получателей файла.

Вопросы и ответы

По теме