ГлавнаяКак сделать в Excel → ИНДЕКС и ПОИСКПОЗ

ИНДЕКС и ПОИСКПОЗ в Excel

Связка, которая ищет в любую сторону и не ломается при вставке столбца. Шесть формул: поиск влево, двумерный поиск и защита от #Н/Д.

Коротко

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

Вместе получается =ИНДЕКС(что_вернуть;ПОИСКПОЗ(что_искать;где_искать;0)). Ноль в конце — точное совпадение, и его ставят почти всегда: без него ПОИСКПОЗ ищет приблизительно и требует сортировки.

Главное отличие от ВПР: что_вернуть и где_искать — два независимых диапазона. Поэтому связка ищет влево, не привязана к порядку столбцов и не сдвигается, когда в середину справочника вставляют новый столбец. ВПР в обоих случаях ломается.

То же самое формулой в Excel

=ИНДЕКС($B$6:$B$10;ПОИСКПОЗ($H$4;$C$6:$C$10;0)) — поиск влево: артикул по названию — ВПР так не умеет
=ИНДЕКС($D$6:$D$10;ПОИСКПОЗ($H$4;$C$6:$C$10;0)) — цена по названию
=ПОИСКПОЗ($H$4;$C$6:$C$10;0) — ПОИСКПОЗ отдельно: какая это строка по счёту в диапазоне
=ИНДЕКС($B$6:$E$10;ПОИСКПОЗ($H$4;$C$6:$C$10;0);3) — двумерный ИНДЕКС: строка по поиску, столбец по номеру
=ИНДЕКС($B$6:$E$10;ПОИСКПОЗ($H$4;$C$6:$C$10;0);ПОИСКПОЗ("Остаток";$B$5:$E$5;0)) — два ПОИСКПОЗ: и строка, и столбец ищутся по заголовку
=ЕСЛИОШИБКА(ИНДЕКС($D$6:$D$10;ПОИСКПОЗ($H$4;$C$6:$C$10;0));"не найдено") — защита от #Н/Д, когда значения нет в справочнике

Файл со справочником и шестью формулами

Пять товаров и жёлтая ячейка выбора: меняете товар — все шесть примеров пересчитываются. Видно и поиск влево, и двумерный поиск по заголовкам.

Файл indeks-poiskpoz.xlsx · формулы работают в Excel 2016 и новее и в Google Таблицах · без макросов · формулы проходят автопроверку перед публикацией

Лист файла «ИНДЕКС и ПОИСКПОЗ в Excel»: Артикул, Товар, Цена, Остаток
Так выглядит файл. Картинка собрана из него же при сборке сайта: числа в ней те, что посчитает Excel.

Пошагово

  1. Определите, что вернуть: выделите столбец с нужными данными — это первый аргумент ИНДЕКС.
  2. Определите, где искать: столбец, в котором лежит ключ. Он может стоять и правее, и левее — связке всё равно.
  3. Соберите: =ИНДЕКС(столбец_ответа;ПОИСКПОЗ(ключ;столбец_поиска;0)). Ноль в конце обязателен.
  4. Закрепите оба диапазона знаком доллара — иначе при протягивании они сползут.
  5. Нужен поиск и по строке, и по столбцу — поставьте второй ПОИСКПОЗ третьим аргументом ИНДЕКС: он найдёт нужный столбец по заголовку.
  6. Оберните в ЕСЛИОШИБКА, если значение может не найтись.

Где обычно ломается

Основание: поведение третьего аргумента ПОИСКПОЗ (1 — не больше искомого при возрастающей сортировке, 0 — точное совпадение, −1 — не меньше искомого при убывающей) описано в справке Microsoft по функции ПОИСКПОЗ; там же сказано, что при 1 и −1 диапазон обязан быть отсортирован. Примеры проверены на данных файла indeks-poiskpoz.xlsx: справочник из пяти товаров, «Полка Nord» — третья строка, цена 6 200 ₽, остаток 41. Данные проверены: 2026-08-15.

Частые вопросы

Как написать формулу ИНДЕКС ПОИСКПОЗ
=ИНДЕКС(столбец_с_ответом;ПОИСКПОЗ(что_ищем;столбец_поиска;0)). ПОИСКПОЗ находит номер строки, ИНДЕКС берёт по этому номеру значение. Ноль в конце — точное совпадение, его ставят почти всегда.
Как использовать функцию ИНДЕКС в Excel
ИНДЕКС возвращает значение из диапазона по номеру строки, а у двумерного диапазона — по номеру строки и столбца: =ИНДЕКС(B6:E10;3;2). Сама по себе она нужна редко: номер строки обычно неизвестен, и его находит ПОИСКПОЗ.
Как использовать ПОИСКПОЗ в Excel
=ПОИСКПОЗ(что_ищем;где_ищем;0) возвращает порядковый номер совпадения внутри диапазона — не номер строки листа. Если диапазон начинается с шестой строки, а совпадение в восьмой, ответ будет 3.
Как в Excel сделать поиск по списку
Для точного поиска по одному ключу хватит ВПР. Если ответ левее ключа или в справочник будут вставлять столбцы, берите ИНДЕКС с ПОИСКПОЗ: она не привязана к порядку колонок. Для поиска по нескольким условиям — СУММЕСЛИМН или вспомогательный столбец со склейкой ключей.
Как сравнить два списка в Excel на совпадения ВПР
Проще не ВПР, а СЧЁТЕСЛИ: =СЧЁТЕСЛИ(второй_список;A2) вернёт 0 или число совпадений, и по нему сразу видно, чего нет во втором списке. ВПР для этой задачи даёт #Н/Д, которое приходится оборачивать в ЕСЛИОШИБКА.

Связанные страницы

Как сделать в Excel
Функция ВПР
Как сделать в Excel
Сравнить два столбца
Как сделать в Excel
Функция ЕСЛИ
Как сделать в Excel
Зафиксировать ячейку
Как сделать в Excel
Шпаргалка по формулам
Скопировано