ПРОСМОТРХ — так эту функцию чаще всего ищут и так же чаще всего набирают. А правильно её имя пишется ПРОСМОТРX. Нет, я не повторяюсь: слова написаны по-разному. В первом на конце русская «Х», во втором латинская «X», та же, что в английском XLOOKUP. Глазом разницы не видно, зато Excel её видит прекрасно: с русской Х он функцию не узнает и вернёт #ИМЯ?. Так что имя надёжнее выбрать из подсказки, чем вбивать по памяти :)
Сама функция ПРОСМОТРX ищет значение в одном столбце и возвращает соседнее из другого: =ПРОСМОТРX(E2;A2:A100;C2:C100) найдёт E2 в столбце A и вернёт значение из той же строки столбца C. В отличие от ВПР, ей не нужен номер столбца, по умолчанию она ищет точное совпадение, умеет искать влево и снизу вверх, а вместо #Н/Д сразу выводит ваш текст: =ПРОСМОТРX(E2;A2:A100;C2:C100;"Нет в прайсе"). Функция есть в Excel 2021, 2024 и Microsoft 365.
| Раздел функций | Ссылки и массивы |
| Название на английском | XLOOKUP |
| Версии Excel | Excel 2021, Excel 2024, Excel для Microsoft 365 (Windows и Mac), Excel в интернете |
| Волатильность | Не волатильная |
| Похожие функции | ВПР, ПРОСМОТР, ИНДЕКС и ПОИСКПОЗ, ФИЛЬТР |
Синтаксис функции ПРОСМОТРX
Обязательных аргументов три, ещё три можно не указывать:
=ПРОСМОТРX(искомое_значение;просматриваемый_массив;возвращаемый_массив;[если_ничего_не_найдено];[режим_сопоставления];[режим_поиска])
- искомое_значение — что ищем: ячейка, число или текст в кавычках;
- просматриваемый_массив — где ищем: один столбец или одна строка;
- возвращаемый_массив — откуда берём результат: столбец той же высоты или сразу несколько столбцов;
- если_ничего_не_найдено — что вывести вместо #Н/Д, например "Нет в прайсе" или 0;
- режим_сопоставления — 0 точное совпадение (по умолчанию), −1 точное или ближайшее меньшее, 1 точное или ближайшее большее, 2 подстановочные знаки * и ?; в Microsoft 365 добавился режим 3, сравнение с регулярным выражением;
- режим_поиска — 1 сверху вниз (по умолчанию), −1 снизу вверх, 2 и −2 двоичный поиск по данным, отсортированным по возрастанию или убыванию.
Чтобы не путаться в порядке, я объясняю аргументы тремя вопросами: что ищем, где ищем, откуда берём. У ВПР «где» и «откуда» слиты в одну таблицу и номер столбца, отсюда и половина её ошибок. Регистр букв ПРОСМОТРX не различает: «чайник» и «Чайник» для неё одно и то же.
Как работает ПРОСМОТРX на простом примере
Возьмём прайс: артикул, товар, цена. Нужно по артикулу подтянуть цену и название.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Артикул | Товар | Цена | Ищем | Цена | Товар | |
| 2 | A-1024 | Чайник | 2490 | A-1047 | 3750=ПРОСМОТРX(E2;A2:A5;C2:C5) | Блендер=ПРОСМОТРX(E2;A2:A5;B2:B5) | |
| 3 | A-1031 | Тостер | 1990 | ||||
| 4 | A-1047 | Блендер | 3750 | ||||
| 5 | A-1052 | Миксер | 2150 |
Поменяйте артикул в E2 на A-1031, и формулы вернут 1990 и «Тостер». Та же задача через ВПР: =ВПР(E2;A2:C5;3;0). ПРОСМОТРX не нужен номер столбца и ноль в конце.
В английском Excel: =XLOOKUP(E2,A2:A5,C2:C5)
Формула берёт артикул из E2, находит его в столбце A и возвращает значение из той же строки столбца C. Если вставить в прайс новый столбец между B и C, формула не сломается: она ссылается на сам столбец с ценой, а не на его номер. С ВПР в такой ситуации номер столбца приходится исправлять вручную.
Чем ПРОСМОТРX отличается от ВПР
Короче говоря, ПРОСМОТРX закрывает почти все неудобства ВПР. Сравнение по пунктам:
| Что сравниваем | ВПР | ПРОСМОТРX |
|---|---|---|
| Точное совпадение | Нужно указать 0 или ЛОЖЬ последним аргументом | По умолчанию |
| Поиск влево | Нет, только в первом столбце таблицы | Да, столбцы могут стоять в любом порядке |
| Новый столбец в таблице | Номер столбца сбивается | Формула продолжает работать |
| Если не найдено | #Н/Д, нужна ЕСЛИОШИБКА | Свой текст четвёртым аргументом |
| Последнее совпадение | Нет | Да, режим поиска −1 |
| Несколько столбцов сразу | Нет, по формуле на столбец | Да, результат разливается вправо |
| Приблизительный поиск | Только по отсортированной таблице | Без сортировки, ближайшее меньшее или большее |
| Версии Excel | Все | 2021, 2024, Microsoft 365 |
Единственный козырь ВПР: она работает в любом Excel. Если файл откроют в Excel 2016 или 2019, формула с ПРОСМОТРX покажет #ИМЯ?. Для таких случаев есть связка ИНДЕКС и ПОИСКПОЗ, она разобрана в статье про левый ВПР.
Поиск влево и сразу несколько столбцов
Просматриваемый и возвращаемый массивы в ПРОСМОТРX задаются отдельно, поэтому столбец с ключом может стоять где угодно, хоть последним. А если возвращаемый массив шириной в несколько столбцов, одна формула вернёт их все.
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Товар | Цена | Остаток | Артикул | Артикул | Товар | Цена | Остаток | |
| 2 | Чайник | 2490 | 12 | A-1024 | A-1031 | Тостер=ПРОСМОТРX(F2;D2:D5;A2:C5) | 1990 | 0 | |
| 3 | Тостер | 1990 | 0 | A-1031 | |||||
| 4 | Блендер | 3750 | 5 | A-1047 | |||||
| 5 | Миксер | 2150 | 8 | A-1052 |
Формула стоит только в G2. Возвращаемый массив A2:C5 шириной в 3 столбца, поэтому товар, цена и остаток разлились в G2:I2. ВПР здесь бессильна: артикул стоит правее данных.
В английском Excel: =XLOOKUP(F2,D2:D5,A2:C5)
Важный момент: ячейки справа от формулы должны быть пустыми. Если в H2 или I2 что-то есть, формула вернёт #ПЕРЕНОС!. Ровно так же ПРОСМОТРX работает и по горизонтали: если искать в строке, а возвращать строку, получится аналог ГПР.
Свой текст вместо #Н/Д
Четвёртый аргумент задаёт, что показать, если искомого нет. Оборачивать формулу в ЕСЛИОШИБКА больше не нужно.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Артикул | Цена | Ищем | Цена | |
| 2 | A-1024 | 2490 | A-1031 | 1990=ПРОСМОТРX(D2;$A$2:$A$4;$B$2:$B$4;"Нет в прайсе") | |
| 3 | A-1031 | 1990 | A-2000 | Нет в прайсе=ПРОСМОТРX(D3;$A$2:$A$4;$B$2:$B$4;"Нет в прайсе") | |
| 4 | A-1047 | 3750 | A-1047 | 3750=ПРОСМОТРX(D4;$A$2:$A$4;$B$2:$B$4;"Нет в прайсе") |
Диапазоны закреплены знаком $, чтобы при протягивании формулы вниз они не съехали. Вместо текста можно указать 0 или пустую строку "".
В английском Excel: =XLOOKUP(D3,$A$2:$A$4,$B$2:$B$4,"Not found")
Есть и тонкость, которой у ЕСЛИОШИБКА нет. Четвёртый аргумент срабатывает только тогда, когда значение не найдено. Если же ошибка в самих данных (например, в столбце цен стоит #ДЕЛ/0!), ПРОСМОТРX её честно вернёт, а не спрячет. На поверку это полезно: реальные проблемы в таблице не маскируются под «Нет в прайсе».
Приблизительное совпадение: скидки и тарифы
Когда нужно найти не точное значение, а интервал, в который оно попадает, используйте пятый аргумент −1: точное совпадение или ближайшее меньшее. Классика — шкала скидок от суммы заказа.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Сумма от | Скидка | Сумма заказа | Скидка | |
| 2 | 0 | 0% | 3200 | 0%=ПРОСМОТРX(D2;$A$2:$A$5;$B$2:$B$5;;-1) | |
| 3 | 5000 | 3% | 9999 | 3%=ПРОСМОТРX(D3;$A$2:$A$5;$B$2:$B$5;;-1) | |
| 4 | 10000 | 5% | 12500 | 5%=ПРОСМОТРX(D4;$A$2:$A$5;$B$2:$B$5;;-1) | |
| 5 | 20000 | 7% | 20000 | 7%=ПРОСМОТРX(D5;$A$2:$A$5;$B$2:$B$5;;-1) |
12 500 нет в столбце A, поэтому берётся ближайшее меньшее значение, 10 000, и скидка 5%. Четвёртый аргумент пропущен: две точки с запятой подряд.
В английском Excel: =XLOOKUP(D4,$A$2:$A$5,$B$2:$B$5,,-1)
В отличие от ВПР с интервальным просмотром 1, шкалу не обязательно сортировать по возрастанию. Режим 1 работает зеркально: точное совпадение или ближайшее большее. Он нужен, например, чтобы подобрать коробку, в которую влезет груз, или тариф, покрывающий нужный объём.
Поиск по части текста
Звёздочка и вопросительный знак работают в ПРОСМОТРX только в режиме сопоставления 2. Без него «*кефир*» ищется буквально, вместе со звёздочками.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Товар | Цена | Ищем | Цена | |
| 2 | Молоко 3,2% 1 л | 89 | кефир | 76=ПРОСМОТРX("*"&D2&"*";A2:A5;B2:B5;"Нет";2) | |
| 3 | Кефир 1% 0,9 л | 76 | сметана | 112=ПРОСМОТРX("*"&D3&"*";A2:A5;B2:B5;"Нет";2) | |
| 4 | Сметана 20% 300 г | 112 | ряженка | Нет=ПРОСМОТРX("*"&D4&"*";A2:A5;B2:B5;"Нет";2) | |
| 5 | Йогурт питьевой 2,5% | 64 |
Регистр не важен: «кефир» находит «Кефир 1% 0,9 л». Если подходящих строк несколько, вернётся первая. Чтобы найти сам символ * или ?, поставьте перед ним тильду: ~*.
В английском Excel: =XLOOKUP("*"&D2&"*",A2:A5,B2:B5,"None",2)
Если нужно проверить сразу несколько слов или вывести все подходящие строки, а не первую, пригодятся приёмы из статьи про поиск по нескольким условиям.
Найти последнее совпадение снизу вверх
Шестой аргумент −1 заставляет ПРОСМОТРX просматривать список с конца. Так находят последнюю покупку клиента, последнюю цену товара или последний статус заказа в журнале.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Дата | Клиент | Сумма | Клиент | Последняя покупка | Сумма | |
| 2 | 01.10.2026 | Иванов | 4500 | Иванов | 07.10.2026=ПРОСМОТРX(E2;$B$2:$B$6;$A$2:$A$6;;0;-1) | 1800=ПРОСМОТРX(E2;$B$2:$B$6;$C$2:$C$6;;0;-1) | |
| 3 | 03.10.2026 | Петрова | 2100 | Петрова | 15.10.2026=ПРОСМОТРX(E3;$B$2:$B$6;$A$2:$A$6;;0;-1) | 3400=ПРОСМОТРX(E3;$B$2:$B$6;$C$2:$C$6;;0;-1) | |
| 4 | 07.10.2026 | Иванов | 1800 | ||||
| 5 | 12.10.2026 | Сидоров | 6300 | ||||
| 6 | 15.10.2026 | Петрова | 3400 |
Без последнего аргумента формула вернула бы первую покупку Иванова, 01.10.2026. Журнал при этом не нужно сортировать.
В английском Excel: =XLOOKUP(E2,$B$2:$B$6,$A$2:$A$6,,0,-1)
Раньше ту же задачу решали трюком с ПРОСМОТР(2;1/(…)), который мало кто мог объяснить. Теперь это просто аргумент функции.
ПРОСМОТРX по нескольким условиям
Отдельного аргумента для второго условия у ПРОСМОТРX нет, но его легко обойти. Перемножим проверки: там, где совпали оба условия, получится 1, и эту единицу ищем.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Город | Товар | Продажи | Город | Товар | Продажи | |
| 2 | Москва | Чайник | 120 | Казань | Чайник | 64=ПРОСМОТРX(1;(A2:A5=E2)*(B2:B5=F2);C2:C5) | |
| 3 | Москва | Тостер | 85 | ||||
| 4 | Казань | Чайник | 64 | ||||
| 5 | Казань | Тостер | 47 |
(A2:A5=E2)*(B2:B5=F2) даёт массив {0;0;1;0}: оба условия выполнены только в третьей строке. Второй вариант, склейка ключей: =ПРОСМОТРX(E2&F2;A2:A5&B2:B5;C2:C5).
В английском Excel: =XLOOKUP(1,(A2:A5=E2)*(B2:B5=F2),C2:C5)
Условий может быть и три, и пять: каждое добавляется ещё одним множителем в скобках. Вариант со склейкой короче, но может ошибиться на ключах вида «12»&«3» и «1»&«23», поэтому для чисел я предпочитаю перемножение.
Почему ПРОСМОТРX выдаёт ошибку
В 99% случаев проблема не в функции, а в имени, версии Excel или самих данных. Пройдитесь по списку сверху вниз:
- #ИМЯ? — Excel не узнал функцию. Либо версия старше 2021 (ПРОСМОТРX там нет), либо имя набрано с русской «Х». Проверка простая: начните вводить =ПРОСМ и посмотрите, предлагает ли Excel ПРОСМОТРX в подсказке.
- #Н/Д — значение не найдено. Чаще всего мешают лишние пробелы в конце ячеек, числа, сохранённые как текст, или латинские буквы вместо русских в артикулах (А и A выглядят одинаково). Последнее лечится заменой кириллицы на латиницу.
- #ЗНАЧ! — просматриваемый и возвращаемый массивы разного размера, например A2:A100 и C2:C99.
- #ПЕРЕНОС! — результату из нескольких ячеек некуда разлиться: справа или снизу что-то есть.
- Результаты «съехали» после протягивания — диапазоны не закреплены. Нажмите F4 на ссылке, чтобы получить $A$2:$A$100, подробнее в статье про абсолютные и относительные ссылки.
- Приблизительный поиск вернул не то — пропущен пятый аргумент (по умолчанию точное совпадение) или выбран режим поиска 2 и −2 на несортированных данных.
Функция ПРОСМОТРX — частые вопросы
Чем ПРОСМОТРХ отличается от ПРОСМОТРX?
Ничем, кроме последней буквы. Настоящее имя функции пишется с латинской X, как в XLOOKUP. Формулу с русской Х Excel не узнает и вернёт #ИМЯ?.
Как ПРОСМОТРX называется на английском?
XLOOKUP. Формула =ПРОСМОТРX(E2;A2:A100;C2:C100) в английском Excel выглядит так: =XLOOKUP(E2,A2:A100,C2:C100).
В каких версиях Excel есть ПРОСМОТРX?
В Excel 2021, 2024, Microsoft 365 и Excel в интернете. В Excel 2019 и раньше её нет, там то же делает =ИНДЕКС(C2:C100;ПОИСКПОЗ(E2;A2:A100;0)).
Как вместо #Н/Д вывести пустую ячейку?
Укажите пустую строку четвёртым аргументом: =ПРОСМОТРX(E2;A2:A100;C2:C100;"").
Как найти последнее значение, а не первое?
Шестым аргументом −1: =ПРОСМОТРX(E2;B2:B100;A2:A100;;0;-1) просматривает список снизу вверх.
#Н/Д в ПРОСМОТРX почти всегда означает грязные данные: пробелы в конце, латиница вместо кириллицы, неявные дубли. С !SEMTools их можно найти и вычистить прямо в исходных ячейках, без формул и вспомогательных столбцов.
!SEMTools решает эту и сотни других задач в пару кликов!
Итоги: функция ПРОСМОТРX в Excel
| Задача | Формула |
|---|---|
| Найти и вернуть значение | =ПРОСМОТРX(E2;A2:A100;C2:C100) |
| Свой текст вместо #Н/Д | =ПРОСМОТРX(E2;A2:A100;C2:C100;"Нет") |
| Вернуть несколько столбцов | =ПРОСМОТРX(E2;D2:D100;A2:C100) |
| Ближайшее меньшее (шкала) | =ПРОСМОТРX(D2;A2:A5;B2:B5;;-1) |
| По части текста | =ПРОСМОТРX("*"&D2&"*";A2:A100;B2:B100;"Нет";2) |
| Последнее совпадение | =ПРОСМОТРX(E2;B2:B100;A2:A100;;0;-1) |
| По двум условиям | =ПРОСМОТРX(1;(A2:A100=E2)*(B2:B100=F2);C2:C100) |
| Excel 2019 и старше | =ИНДЕКС(C2:C100;ПОИСКПОЗ(E2;A2:A100;0)) |
Надеюсь, на этой странице вы нашли то, что искали, и подтянули нужные данные без лишних мучений. Если у вас Excel 2021 или Microsoft 365, ПРОСМОТРX стоит сделать функцией по умолчанию вместо ВПР: в ней меньше способов ошибиться. А если формула всё равно отвечает #Н/Д, сначала проверьте данные, а не синтаксис.