0Pricing
Excel Formulas Academy · Урок

Поиск влево и снизу вверх

Ищите в любом направлении, в том числе справа налево и от последнего к первому

«Поиск влево и снизу вверх» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.

Свободное направление поиска

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

Поскольку массив поиска и возвращаемый массив задаются отдельно, результат может находиться где угодно — слева, справа, выше или ниже столбца, в котором выполняется поиск.

=XLOOKUP(D2, B2:B20, A2:A20)

Поиск слева

Предположим, ID находятся в столбце B, а имена — в столбце A, то есть слева. VLOOKUP не могла работать так без перестановки столбцов.

С XLOOKUP достаточно выполнить поиск в столбце B и вернуть значения из столбца A. Функция без проблем возвращает значение, расположенное слева от столбца поиска.

=XLOOKUP(D2, B2:B20, A2:A20)

Пятый аргумент: режим поиска

У XLOOKUP есть необязательный пятый аргумент — search_mode, который задаёт направление поиска.

  • 1 — поиск от первого элемента к последнему (по умолчанию)
  • -1 — поиск от последнего элемента к первому
  • 2 — двоичный поиск в данных, отсортированных по возрастанию
  • -2 — двоичный поиск в данных, отсортированных по убыванию
=XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)

Направление поиска по умолчанию

По умолчанию XLOOKUP ищет сверху вниз и возвращает первое найденное совпадение.

Если значение встречается в списке несколько раз, этот вариант возвращает самое раннее вхождение. В большинстве случаев этого достаточно, но иногда требуется получить самую свежую запись.

=XLOOKUP(D2, A2:A20, B2:B20)

Поиск снизу

Установите режим поиска -1, чтобы искать снизу вверх. Тогда XLOOKUP вернёт последнее совпадающее значение.

Поскольку аргументы «если не найдено» и «режим сопоставления» идут перед режимом поиска, их нужно указать как заполнители, даже если они пусты.

=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)

Зачем нужно последнее совпадение

Представьте журнал, в котором каждая строка содержит обновление статуса заказа, а самые старые записи находятся вверху.

Поиск сверху вниз возвращает первый статус заказа. Поиск снизу вверх с помощью -1 возвращает его последний статус. Одни и те же данные дают два совершенно разных результата в зависимости от направления поиска.

=XLOOKUP(D2, OrderID, Status, "No record", 0, -1)

Заполнение заполнителей

Аргументы имеют позиционный порядок, поэтому нельзя перейти сразу к шестому аргументу, не указав предыдущие.

В формуле =XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1) значение "Not found" — это аргумент «если не найдено», а 0 — режим сопоставления (точное совпадение). Они занимают соответствующие позиции, чтобы -1 оказался в режиме поиска.

=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)

Кратко о режиме сопоставления

Соседний с пятым аргументом режим сопоставления определяет, как выполняется сопоставление:

  • 0 — точное совпадение (по умолчанию)
  • -1 — точное совпадение или ближайшее меньшее значение
  • 1 — точное совпадение или ближайшее большее значение
  • 2 — сопоставление с подстановочными символами * и ?

Для поиска слева и снизу обычно оставляют значение 0.

=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)

Практический пример поиска снизу

В таблице изменений цен каждый товар записан при каждом обновлении его цены. Чтобы получить текущую цену, нужно найти последнюю запись для этого товара.

Поиск снизу с помощью -1 возвращает самую свежую цену без сортировки и дополнительных вспомогательных столбцов.

=XLOOKUP("Laptop", A2:A500, B2:B500, "No price", 0, -1)

Двоичный поиск для ускорения

Режимы поиска 2 и -2 используют более быстрый двоичный поиск, но требуют сортировки массива поиска: по возрастанию для 2 и по убыванию для -2.

В огромных отсортированных списках такой поиск значительно быстрее. Если данные на самом деле не отсортированы, двоичный поиск может вернуть неправильный результат, поэтому используйте его осторожно.

=XLOOKUP(D2, A2:A100000, B2:B100000, "Not found", 0, 2)

Практическое применение направления поиска

Теперь Вы управляете и тем, где, и тем, в каком направлении выполняется поиск XLOOKUP:

  • Свободно возвращайте значения слева
  • 1 — первое совпадение (по умолчанию)
  • -1 — последнее совпадение
  • 2 или -2 — быстрый двоичный поиск в отсортированных данных

Не забудьте заполнить аргументы «если не найдено» и «режим сопоставления» перед режимом поиска.

=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)

Быстрая проверка

Проверьте, насколько Вы поняли аргумент режима поиска.

Итоги: любое направление

Вы узнали о возможностях XLOOKUP в разных направлениях:

  • Возвращаемые массивы могут находиться слева от массива поиска
  • Режим поиска (шестой аргумент) задаёт направление
  • -1 находит последнее совпадение, что идеально подходит для поиска последней записи
  • 2 и -2 включают быстрый двоичный поиск в отсортированных данных

Далее Вы научитесь возвращать целые строки или столбцы с помощью одного XLOOKUP.

=XLOOKUP(D2, A2:A20, B2:B20, "Not found", 0, -1)

Часто задаваемые вопросы

Урок «Поиск влево и снизу вверх» бесплатный?

Да — полный текст урока «Поиск влево и снизу вверх» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.

Чему я научусь в уроке «Поиск влево и снизу вверх»?

Ищите в любом направлении, в том числе справа налево и от последнего к первому Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Excel Formulas Academy?

Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Поиск влево и снизу вверх»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Excel Formulas Academy?

Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Синтаксис XLOOKUP
  2. Обработка отсутствующих совпадений с помощью if_not_found
  3. Поиск влево и снизу вверх
  4. Возврат целых строк или столбцов
← Назад к Excel Formulas Academy