Содержимое

# XLOOKUP

Выполняет поиск значения в массиве и возвращает ссылку на ячейку или диапазон ячеек.

Функция XLOOKUP является современной и гибкой заменой для более устаревших функций, таких как ВПР, ГПР и ПРОСМОТР. XLOOKUP поддерживает приблизительное и точное совпадение, подстановочные знаки (* ?) и регулярные выражения для частичного совпадения, а также поиск по вертикальным и горизонтальным диапазонам. XLOOKUP может выполнять обратный поиск, а также обеспечивает возможность выполнения быстрого бинарного поиска при работе с большими наборами данных.

### Синтаксис

XLOOKUP( [Условие поиска] ; Просматриваемый массив ; Возвращаемый массив [ ; [ Результат при неудачном поиске ] [ ; [Режим сопоставления] [ ; Режим поиска ] ] ] )

Условие поиска: (необязательный параметр) Значение любого типа для поиска в Массиве. Если не указано, XLOOKUP возвращает пустые ячейки, найденные в Просматриваемом массиве.

Просматриваемый массив: ссылка на просматриваемый массив. Массив должен представлять собой 1-мерный массив, располагающийся на одном листе.

Возвращаемый массив: ссылка на возвращаемый массив или диапазон.

Если Возвращаемый массив представляет собой диапазон ячеек, то функцию XLOOKUP необходимо ввести в виде массива формулы.

Результат при неудачном поиске: возвращаемый текст или содержимое ячейки, если Условие поиска найти не удалось. Если же искомое совпадение не найдено и значение параметра Результат при неудачном поиске не указано, то функция вернёт ошибку #Н/Д.

Режим сопоставления: (необязательный параметр) указывает тип сопоставления. Возможные значения:

- 0: точное совпадение (по умолчанию). Если Условие поиска не найдено и текст Результат при неудачном поиске отсутствует, то возвращается ошибка #Н/Д.

- -1: попытка точного совпадения. Если Условие поиска не найдено, вернуть следующий меньший элемент.

- 1: попытка точного совпадения. Если Условие поиска не найдено, вернуть следующий больший элемент.

- 2: совпадение по подстановочным знакам, где символы * (несколько символов), ? (один символ), и ~ имеют особые значения.

- 3: совпадение по регулярному выражению.

Режим поиска: (необязательный параметр) указывает применяемый режим поиска.

- 1: возвращает первое вхождение, начиная с первого элемента Просматриваемого массива (по умолчанию).

- -1: обратный поиск. Возвращает первое вхождение, начиная с последнего элемента Просматриваемого массива.

- 2: бинарный поиск с сортировкой Просматриваемого массива по возрастанию. При отсутствии сортировки возвращается недопустимый результат.

- -2: бинарный поиск с сортировкой Просматриваемого массива по убыванию. При отсутствии сортировки возвращается недопустимый результат.

Режим сопоставления: значения 2 и 3 не могут совмещаться с бинарным поиском (Режим поиска со значением 2 или -2).

Необязательные аргументы можно пропустить. Дополнительный аргумент требует наличия всех предшествующих разделителей.

### Примеры

Допустим, была создана небольшая таблица базы данных, занимающая диапазон ячеек A1:DO4 и содержащая базовую информацию о 118 химических элементах. Первый столбец содержит заголовки строк «Элемент», «Символ», «Атомный номер» и «Относительная атомная масса». Последующие столбцы содержат соответствующую информацию по каждому элементу, в порядке слева направо по атомным номерам. Например, ячейки B1:B4 содержат «Водород», «H», «1» и «1.008», в то время как ячейки DO1:DO4 содержат «Оганесон»,«Og», «118» и «294».

| A | B | C | D | ... | DO
--- | --- | --- | --- | --- | --- | ---
1 | Элемент | Водород | Гелий | Литий | ... | Оганесон
2 | Символ | H | He | Li | ... | Og
3 | Атомный номер | 1 | 2 | 3 | ... | 118
4 | Относительная атомная масса | 1.008 | 4.0026 | 6.94 | ... | 294

{=XLOOKUP("Атомный номер";A2:A4;A2:DO4)} возвращает массив

Атомный номер | 1 | 2 | 3 | ... | 118

{=XLOOKUP("Гелий";B1:DO1;B1:DO4)} возвращает массив

Гелий
He
2
4.0026

{=XLOOKUP("Криптонит";B1:DO1;B1:DO4;"Неизвестный элемент")} возвращает массив {"Неизвестный элемент","Неизвестный элемент","Неизвестный элемент","Неизвестный элемент"}.

#### Техническая информация

Эта функция доступна начиная с LibreOffice 24.8.

Эта функция НЕ входит в стандарт Формата Open Document для офисных приложений (OpenDocument) v1.3. Часть 4: Формат пересчитываемой формулы (OpenFormula). Используемое пространство имён:

COM.MICROSOFT.XLOOKUP

См. также

XMATCH

Страница wiki функции XLOOKUP.