Функция ПРОСМОТРX
Используйте функцию XLOOKUP для поиска объектов в таблице или диапазоне по строкам. Например, найдите цену автомобильной части по номеру части или найдите имя сотрудника по идентификатору сотрудника. С помощью XLOOKUP можно искать в одном столбце условие поиска и возвращать результат из той же строки в другом столбце независимо от того, на какой стороне находится возвращаемый столбец.
Примечание: XLOOKUP недоступна в Excel 2016 и Excel 2019, однако вы можете столкнуться с ситуацией использования книги в Excel 2016 или Excel 2019 с функцией XLOOKUP в ней, созданной другим пользователем с помощью более новой версии Excel.
Синтаксис
Функция XLOOKUP выполняет поиск диапазона или массива, а затем возвращает элемент, соответствующий первому совпадению, который она находит. Если совпадения не существует, XLOOKUP может вернуть ближайшее (приблизительное) соответствие.
=ПРОСМОТРХ(искомое_значение; просматриваемый_массив; возращаемый_массив; [если_ничего_не_найдено]; [режим_сопоставления]; [режим_поиска])
Аргумент |
Описание |
---|---|
искомое_значение Обязательно* |
Значение для поиска |
просматриваемый_массив Обязательно |
Массив или диапазон для поиска |
return_array Обязательный |
Возвращаемый массив или диапазон |
[if_not_found] Необязательный |
Если допустимое совпадение не найдено, верните текст [if_not_found], который вы указали. Если допустимое совпадение не найдено и [if_not_found] отсутствует, возвращается #N/A . |
[режим_сопоставления] Необязательно |
Укажите тип сопоставления: 0 — точное совпадение. Если ни один из них не найден, верните #N/A. Этот параметр используется по умолчанию. -1 — точное совпадение. Если ни один элемент не найден, верните следующий элемент меньшего размера. 1 — точное совпадение. Если ни один элемент не найден, верните следующий более крупный элемент. 2 — совпадение с использованием особого значения подстановочных знаков: *, ?, ~. |
[режим_поиска] Необязательно |
Укажите используемый режим поиска: 1. Выполните поиск, начиная с первого элемента. Этот параметр используется по умолчанию. -1 — выполнение обратного поиска, начиная с последнего элемента. 2. Выполните двоичный поиск, который зависит от lookup_array сортировки по возрастанию . Если сортировка не выполнена, будут возвращены недопустимые результаты. -2 — выполнение двоичного поиска на основе сортировки просматриваемого_массива по убыванию. Если сортировка не выполнена, будут возвращены недопустимые результаты. |
Примеры
В примере 1 используется XLOOKUP для поиска названия страны в диапазоне, а затем возврата ее телефонного кода страны. Он включает аргументы lookup_value (ячейка F2), lookup_array (диапазон B2:B11) и return_array (диапазон D2:D11). Он не включает аргумент match_mode , так как по умолчанию XLOOKUP создает точное совпадение.
Примечание: XLOOKUP использует массив подстановки и возвращаемый массив, тогда как ВПР использует один массив таблиц, за которым следует номер индекса столбца. Эквивалентная формула ВПР в этом случае будет: =VLOOKUP(F2;B2:D11;3;FALSE)
———————————————————————————
В примере 2 выполняется поиск сведений о сотрудниках на основе идентификатора сотрудника. В отличие от ВПР, XLOOKUP может возвращать массив с несколькими элементами, поэтому одна формула может возвращать имя сотрудника и отдел из ячеек C5:D14.
———————————————————————————
В примере 3 к предыдущему примеру добавляется аргумент if_not_found .
———————————————————————————
В примере 4 в столбце C выполняется поиск личного дохода, указанного в ячейке E2, и поиск соответствующей налоговой ставки в столбце B. Он задает аргумент if_not_found для возврата 0 (ноль), если ничего не найдено. Аргумент match_mode имеет значение 1, что означает, что функция будет искать точное совпадение, а если не удается найти его, она возвращает следующий более крупный элемент. Наконец, аргумент search_mode имеет значение 1, что означает, что функция будет выполнять поиск от первого элемента к последнему.
Примечание: Lookup_array столбец XARRAY находится справа от return_array столбца, тогда как ВПР может смотреть только слева направо.
———————————————————————————
Пример 5 использует вложенную функцию XLOOKUP для выполнения вертикального и горизонтального совпадения. Сначала выполняется поиск валовой прибыли в столбце B, затем выполняется поиск Qtr1 в верхней строке таблицы (диапазон C5:F5) и, наконец, возвращается значение на пересечении двух. Это аналогично совместному использованию функций INDEX и MATCH .
Совет: Для замены функции HLOOKUP можно также использовать XLOOKUP.
Примечание: Формула в ячейках D3:F3: =XLOOKUP(D2,$B 6:$B 17;XLOOKUP($C 3,$C 5:$G 5;$C 6:$G 17)).).
———————————————————————————
Пример 6 использует функцию СУММ и две вложенные функции XLOOKUP для суммирования всех значений между двумя диапазонами. В этом случае мы хотим суммировать значения для винограда, бананов и включить груши, которые находятся между ними.
Формула в ячейке E3: =SUM(XLOOKUP(B3;B6:B10;E6:E10):XLOOKUP(C3;B6:B10;E6:E10))
Как это работает? XLOOKUP возвращает диапазон, поэтому при вычислении формула выглядит следующим образом: =SUM($E$7:$E$9). Вы можете увидеть, как это работает самостоятельно, выбрав ячейку с формулой XLOOKUP, аналогичную этой, а затем выберите Формулы > Аудит формул > Вычислить формулу, а затем выберите Оценить, чтобы выполнить вычисление.
Примечание: Благодаря Microsoft Excel MVP , Билл Елен, за то, что он предложил этот пример.
———————————————————————————
См. также
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.