Функция ПРОСМОТРX

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2024 Excel 2024 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2016 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android

Находите данные по строкам в таблице или диапазоне с помощью функции ПРОСМОТРX. Например, можно найти цену автомобильной детали по ее номеру или найти имя сотрудника по его идентификатору. С помощью функции ПРОСМОТРX вы можете искать в одном столбце искомый запрос и возвращать результат из той же строки в другом столбце, независимо от того, на какой стороне находится возвращаемый столбец.

Примечание

Функция ПРОСМОТРX недоступна в Excel 2016 и Excel 2019. Однако вы можете столкнуться с ситуацией использования книги в Excel 2016 или Excel 2019 с функцией ПРОСМОТРX, если она была создана кем-то другим с использованием более новой версии Excel.

Синтаксис

Функция ПРОСМОТРX выполняет поиск в диапазоне или массиве, а затем возвращает элемент, соответствующий первому найденному совпадению. Если совпадение отсутствует, функция ПРОСМОТРX может вернуть ближайшее (приблизительное) совпадение. 

=ПРОСМОТРХ(искомое_значение; просматриваемый_массив; возращаемый_массив; [если_ничего_не_найдено]; [режим_сопоставления]; [режим_поиска])

Аргумент Описание
Искомое_значение.
Обязательно*
Значение для поиска

*Если этот параметр опущен, функция ПРОСМОТРX возвращает пустые ячейки, которые он находит в lookup_array.
Просматриваемый_массив
Обязательно
Массив или диапазон для поиска
return_array
Обязательный
Возвращаемый массив или диапазон
[if_not_found]
Необязательный
Если допустимое совпадение не найдено, верните текст [if_not_found], который вы указали.
Если допустимое совпадение не найдено и [if_not_found] отсутствует, возвращается #N/A.
[режим_сопоставления]
Необязательно
Укажите тип сопоставления:
0 — точное совпадение. Если ничего не найдено, верните #N/A. Этот параметр используется по умолчанию.
-1 — точное совпадение. Если ни один элемент не найден, верните следующий элемент меньшего размера.
1 — точное совпадение. Если ни один элемент не найден, верните следующий более крупный элемент.
2 — совпадение с использованием особого значения подстановочных знаков: *, ?, ~.
[режим_поиска]
Необязательно
Укажите используемый режим поиска:
1 — выполнение поиска, начиная с первого элемента. Этот параметр используется по умолчанию.
-1 — выполнение обратного поиска, начиная с последнего элемента.
2 — выполнение двоичного поиска на основе сортировки просматриваемого_массива по возрастанию. Если сортировка не выполнена, будут возвращены недопустимые результаты.
-2 — выполнение двоичного поиска на основе сортировки просматриваемого_массива по убыванию. Если сортировка не выполнена, будут возвращены недопустимые результаты.

Примеры

В примере 1 функция ПРОСМОТРX используется для поиска названия страны в диапазоне, а затем возврата телефонного кода страны или региона. Он включает аргументы lookup_value (ячейка F2), lookup_array (диапазон B2:B11) и return_array (диапазон D2:D11). Он не включает аргумент match_mode, так как по умолчанию функция ПРОСМОТРХ создает точное совпадение.

Пример функции ПРОСМОТРX, используемой для возврата имени сотрудника и отдела на основе его идентификатора. Формула =ПРОСМОТРX(B2,B5:B14,C5:C14)

Примечание

Функция ПРОСМОТРX использует массив поиска и возвращаемый массив, тогда как функция ВПР использует один массив таблиц, за которым следует индексный номер столбца. Эквивалентная формула ВПР в этом случае будет: =ВПР(F2;B2:D11;3;FALSE)

———————————————————————————

В примере 2 поиск сведений о сотруднике по его идентификационному номеру. В отличие от ВПР, функция ПРОСМОТРX может возвращать массив из нескольких элементов, поэтому одна формула может возвращать как имя сотрудника, так и отдел из ячеек C5:D14.

Пример функции ПРОСМОТРX, используемой для возврата имени сотрудника и отдела на основе идентификатора сотрудника. Формула: =ПРОСМОТРХ(B2;B5:B14;C5:D14;0;1)

———————————————————————————

В примере 3 к предыдущему примеру добавляется аргумент if_not_found .

Пример функции ПРОСМОТРX, используемой для возврата имени сотрудника и подразделения на основе идентификатора сотрудника с аргументом if_not_found. Формула =ПРОСМОТРX(B2;B5:B14;C5:D14;0;1;сотрудник не найден)

———————————————————————————

В примере 4 выполняется поиск в столбце C личного дохода, указанного в ячейке E2, и соответствующая налоговая ставка находится в столбце B. Если ничего не найдено, аргумент if_not_found0 возвращает значение (ноль). Аргумент match_mode имеет значение 1, что означает, что функция будет искать точное совпадение, а если не удается найти его, она возвращает следующий более крупный элемент. Наконец, аргумент search_mode имеет значение 1, что означает, что функция будет выполнять поиск от первого элемента к последнему.

Изображение функции ПРОСМОТРX, используемой для возврата налоговой ставки на основе максимального дохода. Это приблизительное соответствие. Формула: =ПРОСМОТРХ(E2;C2:C7;B2:B7;1;1)

Примечание

Столбец XARRAY lookup_array находится справа от столбца return_array, тогда как ВПР может выполнять поиск только слева направо.

———————————————————————————

В примере 5 используется вложенная функция ПРОСМОТРX для выполнения вертикального и горизонтального сопоставления. Сначала выполняется поиск валовой прибыли в столбце B, затем выполняется поиск Qtr1 в верхней строке таблицы (диапазон C5:F5) и, наконец, возвращается значение на пересечении двух этих значений. Это аналогично совместному использованию функций ИНДЕКС и ПОИСКПОЗ.

Совет

Для замены функции ГПР можно также использовать функцию ПРОСМОТРX.

Изображение функции ПРОСМОТРX, используемой для возврата горизонтальных данных из таблицы путем вложения двух элементов ПРОСМОТРX. Формула: =ПРОСМОТРХ(D2;$B 6:$B 17;ПРОСМОТРX($C 3;$C 5:$G 5;$C 6:$G 17))

Примечание

Формула в ячейках D3:F3: =ПРОСМОТРX(D2,$B6:$B17,ПРОСМОТРX($C3,$C5:$G5,$C6:$G17)).

———————————————————————————

В примере 6 используется функция СУММ и две вложенные функции ПРОСМОТРX для суммирования всех значений между двумя диапазонами. В этом случае мы хотим суммировать значения для винограда, бананов и включить груши, которые находятся между ними.

Использование функции ПРОСМОТРX с функцией СУММ для суммирования диапазона значений, которые находятся между двумя выборками

В ячейке E3 находится следующая формула: =SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10))

Как это работает? Функция ПРОСМОТРX возвращает диапазон, поэтому при вычислении формула выглядит следующим образом: =SUM($E$7:$E$9). Вы можете увидеть, как это работает самостоятельно, выбрав ячейку с формулой ПРОСМОТРX, аналогичную этой, затем выберите "Формулы","Проверка формул",>"Оценка формулы", > а затем нажмите кнопку "Оценить", чтобы выполнить вычисление. 

Примечание

Благодарим Билла Джелена (Bill Jelen), специалиста по Microsoft Excel MVP, за предложение этого примера.

———————————————————————————