X EXCEL PROБЛОГ · РАЗБОРЫ
A1
fx =ИНДЕКС(C:C; ПОИСКПОЗ($A2; A:A; 0))
A
B
C
D
E
F
G
H
Формулы · уровень: базовый → продвинутый

ВПР против ИНДЕКС+ПОИСКПОЗ: что быстрее

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

9 минвремя чтения
3ограничения ВПР
2рабочих шаблона формул
1способ замерить на своих данных
B2 С ЧЕГО НАЧИНАЕТСЯ БОЛЬ

Формула не сломалась. Сломался номер столбца.

Типичная история: отчёт на 40 формул ВПР работал полгода. Кто-то вставил один столбец в исходную таблицу — и половина значений поехала на соседний показатель. Ошибки нет, #Н/Д нет, цифры просто неправильные.

Это худший тип поломки: Excel не ругается, отчёт выглядит рабочим, а решения принимаются по чужим данным. Причина — в том, как устроена сама функция.

⚠ ГЛАВНЫЙ РИСК

ВПР ссылается на порядковый номер столбца внутри диапазона, а не на сам столбец. Диапазон сдвинулся — номер остался прежним. Формула честно вернёт данные не оттуда.

B7 КАК УСТРОЕНА ВПР

Четыре аргумента, три ловушки

ВПР — синтаксисE2
=ВПР(искомое_значение; таблица; номер_столбца; [интервальный_просмотр])
Красным — самый хрупкий аргумент. Именно он ломается при вставке столбцов.

Функция берёт значение, ищет его в первом столбце указанного диапазона и возвращает то, что лежит правее — на столько столбцов, сколько вы зашили числом. Отсюда три ограничения.

Ограничение
Что это значит на практике
1
Ищет только вправо
Ключ обязан быть в первом столбце диапазона. Нужно достать значение левее ключа — ВПР бессильна.
2
Жёсткий номер столбца
Вставили или удалили столбец внутри диапазона — формула молча возвращает не то поле.
3
Тянет весь массив
В расчёт вовлекается весь диапазон таблицы, а не только два нужных столбца.
D9 · комментарий

Четвёртый аргумент — интервальный_просмотр. Если забыть его или поставить ИСТИНА на неотсортированных данных, ВПР вернёт «ближайшее подходящее» вместо точного совпадения. Для точного поиска всегда пишите 0 или ЛОЖЬ.

B14 СВЯЗКА

ИНДЕКС+ПОИСКПОЗ: две функции, одна задача

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

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

Как читать формулу вслух

  1. ПОИСКПОЗ($A2; Прайс!$A:$A; 0)Находит артикул из A2 в столбце артикулов и возвращает номер строки — например, 148.
  2. ИНДЕКС(Прайс!$C:$C; 148)Берёт 148-ю строку в столбце цен и возвращает значение. Всё.

ВПР · ячейка B7

  • ×Ключ обязан стоять слева от результата
  • ×Вставка столбца ломает результат молча
  • ×Перенос таблицы требует пересчёта номеров вручную
  • ×В расчёт втягивается весь диапазон

ИНДЕКС+ПОИСКПОЗ · ячейка C7

  • Ищет в любую сторону — влево тоже
  • Вставка столбцов не ломает ничего
  • Один ПОИСКПОЗ можно переиспользовать для 10 столбцов
  • Работает только с двумя нужными столбцами
=C7-B7 → формула переживает изменение структуры таблицы
B21 ЧЕСТНО ПРО СКОРОСТЬ

Что реально быстрее — и когда это вообще заметно

Короткий ответ: на таблице в 2 000 строк вы не увидите разницы никогда. Спор о скорости начинается там, где формул тысячи, а строк — десятки тысяч.

Механика такая. При точном поиске (0) обе конструкции последовательно просматривают столбец до первого совпадения. Но ВПР при этом держит в расчёте весь прямоугольник таблицы, а ПОИСКПОЗ — только один столбец. Чем шире исходная таблица, тем сильнее расходятся затраты.

Ситуация
Что происходит
Разница
1
До ~5 тыс. строк
Пересчёт мгновенный в обоих случаях
не важно
2
Широкая таблица (30+ столбцов)
ВПР тащит в расчёт все столбцы диапазона
связка выигрывает
3
Ссылки на целые столбцы A:A
Обе замедляются, ВПР — сильнее
связка выигрывает
4
10 полей по одному ключу
Один ПОИСКПОЗ в отдельной ячейке → 10 лёгких ИНДЕКС
связка выигрывает
5
Данные отсортированы, поиск приближённый
ВПР с ИСТИНА идёт двоичным поиском
ВПР быстрее
F19 · комментарий

Строка 5 — единственный случай, где ВПР честно обгоняет связку, причём с большим отрывом. Плата за это — данные обязаны быть отсортированы по возрастанию, иначе функция вернёт неверное значение и не предупредит. На практике риск почти всегда перевешивает выигрыш.

Приём, который ускоряет любой вариант

Если по одному ключу вы достаёте несколько полей, не повторяйте поиск в каждой формуле. Посчитайте строку один раз и переиспользуйте её.

Один поиск на десять столбцовD2:N2
D2 =ПОИСКПОЗ($A2; Прайс!$A:$A; 0) ← ищем один раз E2 =ИНДЕКС(Прайс!C:C; $D2) ← дальше только берём F2 =ИНДЕКС(Прайс!D:D; $D2) G2 =ИНДЕКС(Прайс!E:E; $D2)
Вместо десяти полных просмотров столбца — один. На больших таблицах это заметнее любого спора «ВПР или ИНДЕКС».

Формулы — это 20% курса. Остальное — то, что с ними делать.

В модуле «Продвинутые навыки» разбираем ВПР, ИНДЕКС+ПОИСКПОЗ и сводные на сквозном проекте с реальными данными — не на учебных трёх строчках.

Открыть доступ на 48 часов
B28 ПРОВЕРКА

Не верьте статьям — замерьте на своих данных

Любые чужие цифры бенчмарков бесполезны: у вас другой объём, другая ширина таблицы, другой процессор и другая версия Excel. Замер занимает две минуты.

  1. Отключите автопересчётФормулы → Параметры вычислений → Вручную. Иначе Excel пересчитает файл раньше, чем вы засечёте время.
  2. Продублируйте листНа одном — вариант с ВПР, на втором — с ИНДЕКС+ПОИСКПОЗ. Одинаковое число формул, одинаковые данные.
  3. Засеките F9Нажмите F9 и замерьте пересчёт секундомером телефона. Повторите три раза, возьмите среднее.
  4. Сравните по-честномуЕсли разница в пределах погрешности — выбирайте не по скорости, а по надёжности. Так будет в большинстве отчётов.
A9 · комментарий

Строка состояния внизу окна показывает, что Excel пересчитывает файл. Если при обычной работе там мелькает «Вычисление: 4 процессора», ваш файл уже упёрся в производительность — и дело почти всегда не в выборе функции, а в ссылках на целые столбцы и лишних волатильных формулах вроде СМЕЩ и ДВССЫЛ.

B34 ТРЕТИЙ ВАРИАНТ

ХПР: если у вас свежая версия — спор окончен

В Microsoft 365 и Excel 2021+ появилась ХПР (XLOOKUP). Она закрывает обе проблемы разом: ищет в любую сторону, по умолчанию делает точный поиск и умеет сама обрабатывать «не найдено».

ХПР — то же самое, но корочеE2
=ХПР($A2; Прайс!$A:$A; Прайс!$C:$C; "не найдено")
Четвёртый аргумент заменяет обёртку ЕСЛИОШИБКА. Точный поиск включён по умолчанию — забыть его нельзя.
⚠ СОВМЕСТИМОСТЬ

ХПР не откроется в Excel 2019 и старше — вместо значений коллеги увидят #ИМЯ?. Если файл уходит наружу или в компанию со старым парком, безопаснее оставить ИНДЕКС+ПОИСКПОЗ: она работает во всех версиях.

B40 ИТОГ

Что выбрать: короткая таблица решений

Ваша ситуация
Берите
1
Microsoft 365 / Excel 2021+, файл только для своих
ХПР — короче и безопаснее по умолчанию
2
Файл живёт долго, структуру правят разные люди
ИНДЕКС+ПОИСКПОЗ — переживёт вставку столбцов
3
Нужное поле стоит левее ключа
ИНДЕКС+ПОИСКПОЗ или ХПР — ВПР не сможет
4
Разовая сверка на 200 строк
ВПР — быстрее написать, дальше не важно

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

Лист · FAQ ЧАСТЫЕ ВОПРОСЫ

Разворачиваете строку — читаете ответ

1ВПР вернула #Н/Д, хотя значение точно есть. Почему?
Чаще всего ключ — число, записанное как текст (или наоборот). Проверьте выравнивание: текст по умолчанию липнет влево, число — вправо. Лечится через «Текст по столбцам» или умножением на 1. Вторая причина — лишние пробелы, их убирает СЖПРОБЕЛЫ.
2Можно ли искать сразу по двум условиям?+
Да, и это ещё один аргумент за связку. ПОИСКПОЗ умеет искать по склейке: =ИНДЕКС(C:C; ПОИСКПОЗ(A2&B2; D:D&E:E; 0)). В старых версиях формулу нужно вводить как массивную — Ctrl+Shift+Enter. ВПР так не умеет без служебного столбца.
3Почему файл тормозит даже после перехода на ИНДЕКС+ПОИСКПОЗ?+
Смена функции лечит хрупкость, а не архитектуру. Смотрите на другое: ссылки на целые столбцы в тысячах формул, волатильные СМЕЩ и ДВССЫЛ, условное форматирование на весь лист. Часто правильный ответ — вообще не формулы, а сводная таблица или Power Query.
4Стоит ли переписывать старые рабочие файлы?+
Не ради спортивного интереса. Переписывайте, когда файл живой: его правят несколько человек, структура меняется, цена ошибки высокая. Разовый отчёт на ВПР, который работает и больше не изменится, трогать незачем.

Знать формулу — не то же самое,
что собрать на ней отчёт.

Оставьте заявку — подскажем, с какого модуля начать под ваш уровень, и включим доступ на 48 часов бесплатно.

Выбрать курс