- Кратко
- Для чего нужна функция
- Совместимость
- Синтаксис
- Аргументы
- Частые задачи
- Простые примеры
- Пример 1. Базовый поиск — найти цену товара по коду
- Пример 2. Поиск влево (когда ключ справа от результата)
- Пример 3. Обработка ошибок — если значение не найдено
- Пример 4. Поиск последнего совпадения
- Практические сценарии использования
- 1. Финансы: поиск курса валюты по дате
- 2. Аналитика: замена вложенных ЕСЛИ (IF) таблицей соответствий
- 3. Продажи: отчёт с подтягиванием данных из справочника
- 4. HR: поиск сотрудника с несколькими критериями
- 5. Логистика: поиск последнего статуса заказа
- Частые ошибки пользователей
- 1. Используют XLOOKUP в Excel 2019
- 2. Разная размерность массивов
- 3. Невидимые пробелы и непечатаемые символы
- 4. Дата как текст вместо числа
- 5. Забывают про точное совпадение по умолчанию
- Типичные ошибки (технические)
- 1. #Н/Д (#N/A)
- 2. #ЗНАЧ! (#VALUE!)
- 3. #ИМЯ? (#NAME?)
- 4. #ССЫЛКА! (#REF!)
- Полезные комбинации с другими функциями
- 1. XLOOKUP + СУММ (SUM) — поиск и суммирование
- 2. XLOOKUP + ВСТАК (VSTACK) — поиск по нескольким таблицам
- 3. XLOOKUP + ВЫБОРСТОЛБЦОВ (CHOOSECOLS) — возврат несмежных столбцов
- 4. XLOOKUP + ФИЛЬТР (FILTER) — поиск с несколькими условиями
- Сравнение с ВПР (VLOOKUP)
- Сравнение с INDEX+MATCH
- Аналоги и альтернативы
- Часто задаваемые вопросы
- Заключение
Кратко
Что делает:
Ищет значение в одном диапазоне и возвращает соответствующее значение из другого диапазона. Работает в любом направлении — вверх, вниз, влево, вправо .
Где работает:
✅ Excel Microsoft 365 (Office 365)
✅ Excel 2021 (и новее)
✅ Excel 2024
✅ Google Sheets (все версии)
❌ Excel 2019, 2016 и старше — функция недоступна (будет ошибка #ИМЯ?)
Возвращает:
Одно значение или динамический массив (при возврате нескольких столбцов) .
Сложность:
★☆☆☆☆ — Для начинающих (базовое использование)
★★☆☆☆ — Средняя (продвинутые сценарии)
Для чего нужна функция
XLOOKUP — это современная замена устаревшим функциям ВПР (VLOOKUP), ГПР (HLOOKUP) и связке ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH). Она решает все их ограничения :
- Поиск в любом направлении — больше не нужно переставлять столбцы, чтобы найти значение слева от ключа .
- Безопасный поиск по умолчанию — точное совпадение вместо опасного приблизительного .
- Устойчивость к изменениям — вставка новых столбцов не ломает формулу .
- Встроенная обработка ошибок — можно задать собственное сообщение вместо
#Н/Д. - Возврат нескольких значений — одной формулой можно вернуть целую строку или столбец данных .
Совместимость
| Платформа | Поддержка XLOOKUP |
|---|---|
| Excel Microsoft 365 (подписка) | ✅ Да |
| Excel 2024 | ✅ Да |
| Excel 2021 | ✅ Да |
| Excel 2019 | ❌ Нет (ошибка #ИМЯ?) |
| Excel 2016 и старше | ❌ Нет |
| Excel Online | ✅ Да |
| Excel для iPad/iPhone/Android | ✅ Да |
| Google Sheets | ✅ Да (все пользователи) |
| WPS Таблицы (новые версии) | ✅ Да |
Важно: Если вы работаете в команде, где кто-то использует Excel 2019, используйте ВПР (VLOOKUP) или ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH) для совместимости.
Синтаксис
Синтаксис одинаков для Excel и Google Sheets:
=XLOOKUP(искомое_значение; просматриваемый_массив; возвращаемый_массив; [если_не_найдено]; [режим_соответствия]; [режим_поиска])
=XLOOKUP(lookup_value; lookup_array; return_array; [if_not_found]; [match_mode]; [search_mode])
Аргументы
| Аргумент | Обязательный | Описание |
|---|---|---|
| искомое_значение (lookup_value) | ✅ Да | Значение, которое нужно найти. |
| просматриваемый_массив (lookup_array) | ✅ Да | Диапазон, в котором ищем. Может быть столбцом, строкой или таблицей. |
| возвращаемый_массив (return_array) | ✅ Да | Диапазон, из которого берём результат. Должен иметь ту же размерность, что и просматриваемый массив. |
| еслиненайдено (if_not_found) | ❌ Нет | Значение или сообщение, если совпадение не найдено. Если опущен — возвращается #Н/Д. |
| режим_соответствия (match_mode) | ❌ Нет | 0 — точное совпадение (по умолчанию) -1 — точное или ближайшее меньшее 1 — точное или ближайшее большее 2 — поиск по шаблону (с * и ?) |
| режим_поиска (search_mode) | ❌ Нет | 1 — сверху вниз (по умолчанию) -1 — снизу вверх (последнее совпадение) 2 — двоичный поиск (требует сортировки) -2 — двоичный поиск (обратный) |
Частые задачи
| Задача | Формула |
|---|---|
| Базовый поиск по ID | =XLOOKUP(A2; B:B; C:C) |
| Поиск с сообщением «Не найден» | =XLOOKUP(A2; B:B; C:C; "Не найден") |
| Поиск слева (имя → ID) | =XLOOKUP(A2; B:B; A:A) — просто меняем местами массивы |
| Поиск последнего совпадения | =XLOOKUP(A2; B:B; C:C; ; ; -1) |
| Возврат нескольких столбцов | =XLOOKUP(A2; B:B; C:E) — автоматически зальёт C, D, E |
| Многокритериальный поиск | =XLOOKUP(1; (A:A="Клиент")*(B:B="Товар"); C:C) |
| Поиск с шаблоном (содержит «офис») | =XLOOKUP("*офис*"; A:A; B:B; ; 2) |
| Замена вложенных ЕСЛИ | Использовать режим_соответствия = -1 с таблицей диапазонов |
Простые примеры
Пример 1. Базовый поиск — найти цену товара по коду
Исходные данные:
| Код (A) | Товар (B) | Цена (C) |
|---|---|---|
| T001 | Яблоки | 100 |
| T002 | Бананы | 150 |
| T003 | Груши | 200 |
Задача: найти цену товара T002.
Формула: =XLOOKUP("T002"; A:A; C:C)
Результат: 150
Объяснение: ищем «T002» в столбце A, возвращаем значение из столбца C из той же строки .
Пример 2. Поиск влево (когда ключ справа от результата)
Исходные данные:
| Название (A) | Код (B) |
|---|---|
| Яблоки | T001 |
| Бананы | T002 |
| Груши | T003 |
Задача: по коду T003 найти название товара.
Формула: =XLOOKUP("T003"; B:B; A:A)
Результат: Груши
Почему это работает: В отличие от ВПР (VLOOKUP), XLOOKUP не требует, чтобы столбец поиска был первым. Просто указываем B:B как просматриваемый массив и A:A как возвращаемый .
Пример 3. Обработка ошибок — если значение не найдено
Формула: =XLOOKUP("T999"; A:A; C:C; "Товар не найден")
Результат: Товар не найден
Вместо стандартной ошибки #Н/Д выводится понятное сообщение. Больше не нужен IFERROR .
Пример 4. Поиск последнего совпадения
Исходные данные (продажи по дням):
| Продавец (A) | Дата (B) | Сумма (C) |
|---|---|---|
| Иванов | 01.01.2024 | 1000 |
| Петров | 02.01.2024 | 1500 |
| Иванов | 03.01.2024 | 2000 |
Задача: найти последнюю сумму продаж Иванова.
Формула: =XLOOKUP("Иванов"; A:A; C:C; ; ; -1)
Результат: 2000
Шестой аргумент -1 заставляет XLOOKUP искать снизу вверх, находя последнее совпадение .
Практические сценарии использования
1. Финансы: поиск курса валюты по дате
Задача: в отчёте по каждой операции подставить курс валюты на дату операции.
Формула (для ячейки с датой в F2): =XLOOKUP(F2; Курсы!A:A; Курсы!B:B; "Курс не найден")
Результат: курс на указанную дату. Если даты нет в таблице — сообщение «Курс не найден».
2. Аналитика: замена вложенных ЕСЛИ (IF) таблицей соответствий
Вместо громоздких вложенных ЕСЛИ для расчёта скидок:
Таблица скидок:
| Сумма (E) | Скидка (F) |
|---|---|
| 0 | 0% |
| 10000 | 1% |
| 50000 | 5% |
| 100000 | 10% |
| 250000 | 15% |
| 500000 | 20% |
Формула: =XLOOKUP(B10; E:E; F:F; 0; -1)
Аргумент -1 означает: «найди точное совпадение или ближайшее меньшее». Если сумма 550 000, будет найдена скидка 20% для 500 000 .
3. Продажи: отчёт с подтягиванием данных из справочника
Исходные данные: заказы с ID клиента.
Справочник: ID клиента → Название, Город, Телефон.
Формула для названия клиента: =XLOOKUP(A2; Справочник!A:A; Справочник!B:B; "Неизвестно")
Формула для города: =XLOOKUP(A2; Справочник!A:A; Справочник!C:C; "Неизвестно")
Одним махом — возврат сразу трёх столбцов: =XLOOKUP(A2; Справочник!A:A; Справочник!B:D; "Неизвестно") — формула заполнит все три столбца автоматически .
4. HR: поиск сотрудника с несколькими критериями
Задача: найти оклад для сотрудника по имени и должности.
Исходные данные: таблица с колонками Имя, Должность, Оклад.
Формула: =XLOOKUP(1; (A:A="Иванов")*(B:B="Менеджер"); C:C; "Не найден")
Как это работает:
(A:A="Иванов")— возвращает массив из ИСТИНА/ЛОЖЬ(B:B="Менеджер")— возвращает массив из ИСТИНА/ЛОЖЬ- Умножение даёт 1 только там, где оба условия выполнены
- XLOOKUP ищет 1 и возвращает оклад из C:C .
5. Логистика: поиск последнего статуса заказа
Задача: отслеживать последний статус каждого заказа в логе изменений.
Формула: =XLOOKUP(Номер_заказа; Логи!A:A; Логи!C:C; "Нет статуса"; ; -1)
Шестой аргумент -1 гарантирует, что будет найден последний (самый свежий) статус .
Частые ошибки пользователей
1. Используют XLOOKUP в Excel 2019
Ситуация: пользователь вводит =XLOOKUP(...) в Excel 2019 и видит #ИМЯ?. Он думает, что ошибка в синтаксисе.
Решение: XLOOKUP просто недоступен в версиях до 2021 года . Используйте ВПР (VLOOKUP) или ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH).
2. Разная размерность массивов
Ситуация: =XLOOKUP(A2; A:A; B1:B10) — просматриваемый массив (весь столбец) и возвращаемый (10 строк) имеют разный размер. Результат непредсказуем.
Решение: убедитесь, что оба массива имеют одинаковое количество строк (или столбцов) .
3. Невидимые пробелы и непечатаемые символы
Ситуация: данные выглядят одинаково: «Иванов» и «Иванов » (с пробелом), но XLOOKUP не находит совпадение.
Решение: очистите данные с помощью СЖПРОБЕЛЫ (TRIM) и ПЕЧСИМВ (CLEAN) :=XLOOKUP(СЖПРОБЕЛЫ(A2); СЖПРОБЕЛЫ(B:B); C:C; "Не найден")
4. Дата как текст вместо числа
Ситуация: дата в ячейке отформатирована как «Сб», а в таблице поиска — полная дата. XLOOKUP не находит совпадения .
Решение: ищите по полной дате или используйте преобразование: =XLOOKUP(--A2; --B:B; C:C; "Не найден") (двойной минус превращает текст в число) .
5. Забывают про точное совпадение по умолчанию
Ситуация: нужно найти ближайшее меньшее значение (например, для скидки), но XLOOKUP ищет точное совпадение и возвращает #Н/Д.
Решение: явно укажите режим_соответствия = -1 : =XLOOKUP(B10; E:E; F:F; 0; -1)
Типичные ошибки (технические)
1. #Н/Д (#N/A)
Причина: значение не найдено и аргумент если_не_найдено не указан, либо несовпадение типов данных (текст vs число).
Решение:
- Добавьте четвёртый аргумент для красивого сообщения.
- Проверьте типы данных с помощью
ТИП(TYPE) илиЕТЕКСТ(ISTEXT) .
2. #ЗНАЧ! (#VALUE!)
Причина: просматриваемый и возвращаемый массивы имеют разные размеры или один из них — не диапазон.
Решение: убедитесь, что оба массива ссылаются на диапазоны одинакового размера.
3. #ИМЯ? (#NAME?)
Причина: функция XLOOKUP недоступна в вашей версии Excel.
Решение: используйте Google Sheets или обновите Excel до Microsoft 365 / 2021 .
4. #ССЫЛКА! (#REF!)
Причина: исходный диапазон был удалён.
Решение: проверьте ссылки. Используйте именованные диапазоны для надёжности.
Полезные комбинации с другими функциями
1. XLOOKUP + СУММ (SUM) — поиск и суммирование
Пример: найти все продажи конкретного товара (если товар уникален, но продаж несколько).
=СУММ(XLOOKUP(A2; Товары!A:A; Товары!D:D)) — не совсем верно, XLOOKUP вернёт только одно значение. Лучше использовать СУММЕСЛИ (SUMIF). Но если товар уникален, работает.
2. XLOOKUP + ВСТАК (VSTACK) — поиск по нескольким таблицам
Сценарий: данные по сотрудникам разбросаны по разным листам.
=XLOOKUP(A2; ВСТАК(Лист1!A:A; Лист2!A:A); ВСТАК(Лист1!B:B; Лист2!B:B); "Не найден")
3. XLOOKUP + ВЫБОРСТОЛБЦОВ (CHOOSECOLS) — возврат несмежных столбцов
=ВЫБОРСТОЛБЦОВ(XLOOKUP(A2; B:B; A:E); 1; 3; 5) — вернёт столбцы 1, 3 и 5 из найденной строки.
4. XLOOKUP + ФИЛЬТР (FILTER) — поиск с несколькими условиями
Альтернатива многокритериальному поиску через умножение:
=XLOOKUP(1; ФИЛЬТР((A:A="Клиент")*(B:B="Товар"); C:C<>""); C:C; "Не найдено")
Сравнение с ВПР (VLOOKUP)
| Критерий | ВПР (VLOOKUP) | ПРОСМОТРX (XLOOKUP) |
|---|---|---|
| Направление поиска | Только слева направо | Любое направление |
| Столбец поиска | Должен быть первым в диапазоне | Может быть любым столбцом |
| Номер столбца | Нужно считать вручную, ошибки | Не нужен, указывается диапазон |
| Тип совпадения | По умолчанию приблизительное (опасно) | По умолчанию точное (безопасно) |
| Обработка ошибок | Только через IFERROR | Встроенный аргумент |
| Вставка столбцов | Ломает формулу | Не влияет |
| Поиск снизу вверх | Нет (только макросы) | Да (search_mode = -1) |
| Возврат нескольких столбцов | Нет (отдельные формулы) | Да (одна формула) |
| Совместимость | Все версии Excel | Excel 2021+, M365, Google Sheets |
Сравнение с INDEX+MATCH
| Критерий | INDEX+MATCH | XLOOKUP |
|---|---|---|
| Сложность | Две функции в одной | Одна функция |
| Читаемость | Низкая (новичкам сложно) | Высокая (интуитивно понятно) |
| Совместимость | Все версии Excel | Excel 2021+, M365, Google Sheets |
| Многокритериальный поиск | Сложно (нужны формулы массива) | Просто (lookup_value=1) |
| Поиск снизу вверх | Сложно (нужно изменить логику) | Просто (search_mode=-1) |
Вердикт: Если версия Excel позволяет — используйте XLOOKUP. Если важна максимальная совместимость — INDEX+MATCH .
Аналоги и альтернативы
| Инструмент | Описание | Когда использовать |
|---|---|---|
| ВПР (VLOOKUP) | Классика, ищет слева направо по номеру столбца . | В старых версиях Excel (до 2021) . |
| ГПР (HLOOKUP) | Горизонтальный аналог ВПР . | Когда данные расположены по строкам. |
| ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH) | Гибкая связка, работает в любых версиях . | Когда нужна максимальная совместимость. |
| ПРОСМОТР (LOOKUP) | Устаревшая функция, ограничена. | Не рекомендуется. |
| ПОИСКПОЗ (MATCH) | Находит позицию значения в массиве . | Для сложных динамических формул. |
| ФИЛЬТР (FILTER) | Возвращает все совпадения, а не первое . | Когда нужно вернуть несколько результатов. |
Часто задаваемые вопросы
Вопрос: В каких версиях Excel работает XLOOKUP?
Ответ: Excel Microsoft 365, Excel 2021, Excel 2024 и Excel Online. В Excel 2019 и старше — нет . В Google Sheets работает у всех пользователей .
Вопрос: XLOOKUP заменяет ВПР (VLOOKUP) полностью?
Ответ: Да, XLOOKUP может сделать всё, что ВПР, и больше. Единственное ограничение — совместимость с версиями Excel .
Вопрос: Работает ли XLOOKUP в Google Sheets так же, как в Excel?
Ответ: Базовый синтаксис одинаков. Есть небольшие различия в поведении динамических массивов и способе обработки некоторых типов данных (например, японских символов) .
Вопрос: Как сделать поиск с несколькими условиями?
Ответ: Используйте формулу =XLOOKUP(1; (A:A="Условие1")*(B:B="Условие2"); C:C; "Не найден") .
Вопрос: Как найти последнее совпадение?
Ответ: Используйте шестой аргумент -1: =XLOOKUP(A2; B:B; C:C; ; ; -1) .
Вопрос: Почему XLOOKUP не находит число, которое точно есть в таблице?
Ответ: Возможно, число хранится как текст. Используйте =XLOOKUP(--A2; --B:B; C:C; "Не найден") для принудительного преобразования . Или проверьте пробелы с помощью СЖПРОБЕЛЫ (TRIM) .
Вопрос: Можно ли использовать XLOOKUP с шаблонами (содержит, начинается с)?
Ответ: Да, укажите режим_соответствия = 2 и используйте * и ? в искомом значении: =XLOOKUP("*офис*"; A:A; B:B; ; 2) .
Заключение
XLOOKUP (ПРОСМОТРX) — это революция в мире поисковых функций. Она устраняет все недостатки ВПР (VLOOKUP): больше не нужно считать столбцы, беспокоиться о направлении поиска или оборачивать формулы в IFERROR. Одна функция, которая умеет всё.
Единственное ограничение — версия Excel. Если вы используете Microsoft 365 или Excel 2021+, XLOOKUP должен стать вашим выбором по умолчанию. Для пользователей Excel 2019 и старше остаются ВПР (VLOOKUP) и связка ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH). В Google Sheets XLOOKUP доступна всем — и это ещё одна причина полюбить эту функцию.
Освойте XLOOKUP, и ваши рабочие книги станут проще, надёжнее и красивее.








