KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как с помощью функции ВПР найти и вернуть последнее совпадающее значение в Excel?

АвторСяоянДата изменения

Функция ВПР (VLOOKUP) в Excel — один из самых популярных инструментов для поиска данных в таблице по заданному критерию. Однако по умолчанию она возвращает только первое найденное совпадение, что может стать серьёзным ограничением, если в вашем диапазоне поиска есть повторяющиеся значения, а вам нужно получить именно последнее вхождение. Такая задача часто возникает при отслеживании актуального статуса, поиске последней продажи по клиенту или определении самой свежей записи в хронологических списках. Чтобы обойти это ограничение, Excel предлагает несколько эффективных решений: с помощью функций ПРОСМОТР (LOOKUP), XПОИСК (XLOOKUP), а также комбинации ИНДЕКС и ПОИСКПОЗ (MATCH). Кроме того, удобные сторонние инструменты, такие как Kutools для Excel, значительно упрощают эту задачу. В этой статье мы подробно разберём каждый метод: как он работает, где применяется на практике, какие имеет преимущества и недостатки, а также дадим полезные советы, чтобы вы без труда находили и возвращали последнее совпадающее значение — даже там, где стандартный ВПР бессилен.


Поиск последнего совпадающего значения с помощью функции ПРОСМОТР (LOOKUP)

Хотя ВПР не может напрямую найти последнее совпадающее значение, функция ПРОСМОТР (LOOKUP) предлагает элегантное решение. Этот подход особенно удобен, если ваши данные не отсортированы и вы хотите использовать формулу, совместимую практически со всеми версиями Excel. Формула использует особенности обработки массивов и ошибок функцией ПРОСМОТР, чтобы быстро определить последнее вхождение.

Чтобы извлечь последнее совпадающее значение с помощью функции ПРОСМОТР, выполните следующие шаги:

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

=LOOKUP(2,1/($A$2:$A$12=E2),$C$2:$C$12)

2. Нажмите Enter. Если нужно применить формулу к дополнительным строкам, перетащите маркер заполнения вниз до нужного диапазона — и вы сможете без усилий находить последнее совпадение для нескольких значений поиска.

Поиск последнего совпадающего значения с использованием функции ПРОСМОТР
В формуле:
  • $A$2:$A$12 — это диапазон, являющийся столбцом поиска (критерия).
  • E2 — ячейка, содержащая искомое значение.
  • $C$2:$C$12 — это диапазон столбца с возвращаемыми значениями (результатами).
Пояснение формулы:
  • 1/($A$2:$A$12=E2) формирует массив со значением 1 там, где условие истинно, и ошибками #DIV/0! в остальных случаях.
  • LOOKUP(2, ...) использует особенность функции LOOKUP: она игнорирует ошибки и ищет число 2 (которое заведомо отсутствует). В результате LOOKUP находит последнюю 1 в массиве и возвращает соответствующее значение из результирующего массива — таким образом получается последнее совпадающее значение.

Советы и примечания:

  • Убедитесь, что диапазоны поиска и возврата имеют одинаковый размер, и применяйте абсолютные ссылки при копировании формулы вниз.
  • Если в диапазоне поиска есть пустые ячейки или ошибки, результаты могут быть искажены. Очистите данные или, при необходимости, оберните формулу в IFERROR(1).
  • Если вы получаете #N/A, убедитесь, что искомое значение действительно присутствует в диапазоне «Исходный диапазон».

Преимущества: Работает во всех версиях Excel и не требует специального ввода массивов.

Ограничения:Менее надёжна при наличии пустых ячеек или ошибок в массиве поиска; не выводит пользовательские сообщения об ошибках без использования дополнительных функций (например,)ЕСЛИОШИБКА).


Поиск последнего совпадающего значения с помощью Kutools для Excel

Kutools для Excel предлагает интуитивный и эффективный способ получения последнего совпадающего значения — идеальное решение как для пользователей, предпочитающих графический интерфейс без формул, так и для тех, кому нужно быстро обрабатывать большие объёмы данных. Встроенный инструмент Поиск снизу вверх из пакета «Супер ПОИСК» от Kutools устраняет сложности работы с формулами, автоматически обрабатывает ошибки и позволяет выводить результаты сразу в несколько ячеек, экономя ваше время и минимизируя ошибки при вводе. Этот метод особенно подходит тем, кто не знаком с продвинутыми функциями Excel, или пользователям, стремящимся свести к минимуму ручное редактирование формул.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

После установки Kutools для Excelвыполните следующие действия:

1. Щёлкните Kutools > Супер ПОИСК > Поиск снизу вверх. См. снимок экрана:

Нажмите Kutools > Super LOOKUP > ПОИСК СНИЗУ ВВЕРХ

2.В диалоговом окне Поиск снизу вверх:

  • Выберите ячейки с искомыми значениями и целевые ячейки для вывода в разделах «Область размещения списка» и «Диапазон значений поиска».
  • Укажите соответствующий диапазон в разделе «Диапазон данных». Убедитесь, что все диапазоны совпадают по размеру и порядку, чтобы избежать несоответствий.
  • Нажмите кнопку ОК, чтобы применить изменения.
    Укажите параметры в диалоговом окне

После выполнения Kutools мгновенно вернёт последние совпадающие элементы, как показано ниже:

Все последние совпадающие элементы, возвращённые Kutools

Совет: Если вы хотите отображать собственное сообщение вместо ошибки #N/A при отсутствии совпадений, нажмите Параметры, установите флажок Заменить результат вывода, который не найден, и вернуть „#N/A" со специфицированным значением и введите предпочитаемый текст.

Заменить значение ошибки #Н/Д указанным значением

Плюсы: Не требуется редактировать формулы. Поддерживает массовые операции и замену ошибок. Идеален для начинающих пользователей Excel и отлично справляется с обработкой больших объёмов данных.

Минусы: Требуется установленное дополнение Kutools; функция доступна только в полной или пробной версии Kutools.

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


Поиск последнего совпадающего значения с помощью функций ИНДЕКС и ПОИСКПОЗ (INDEX и MATCH)

Комбинация функций ИНДЕКС и ПОИСКПОЗ (INDEX и MATCH) предлагает ещё один гибкий и универсальный способ поиска последнего совпадающего значения в Excel. Этот метод отличается высокой адаптивностью, не требует предварительной сортировки данных и совместим со всеми версиями Excel, включая устаревшие. Однако в зависимости от вашей версии Excel для получения корректных результатов может потребоваться ввести формулу как формулу массива.

Чтобы использовать этот метод, выполните следующие действия:

1.В целевой ячейке введите приведённую ниже формулу:

=INDEX($C$2:$C$12,MATCH(2,1/($A$2:$A$12=E2)))

2.Подтвердите формулу:

  • В версии Excel 2019 или более ранней завершите ввод комбинацией клавиш Ctrl + Shift + Enter (Excel автоматически добавит фигурные скобки {}).
  • В версии Microsoft 365 / Excel 2021 и более поздних достаточно нажать клавишу Enter.

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

Поиск последнего совпадающего значения с использованием функций ИНДЕКС и ПОИСКПОЗ
В формуле:
  • $A$2:$A$12— это диапазон is the lookup column (criteria).
  • E2— ячейка, содержащая искомое значение.
  • $C$2:$C$12— это диапазон Столбец для возврата (результаты).
Пояснение формулы:
  • 1/($A$2:$A$12=E2) формирует массив со значением 1 там, где условие поиска истинно, и ошибками #DIV/0! в остальных случаях. Это преобразует логические значения ИСТИНА/ЛОЖЬ в числовые сигналы.
  • MATCH(2, 1/($A$2:$A$12=E2)) указывает Excel найти число 2 (которое отсутствует). Функция ПОИСКПОЗ возвращает позицию последней 1 в массиве — то есть позицию последнего истинного совпадения.
  • INDEX($C$2:$C$12, ...) использует эту позицию, чтобы получить соответствующее значение из диапазона возврата.

Рекомендации и советы:

  • Убедитесь, что диапазоны поиска и возврата содержат одинаковое количество строк, и используйте абсолютные ссылки при копировании формулы вниз.
  • Если вы видите ошибки #N/A или #DIV/0!, проверьте наличие несовпадающих ключей, пустых ячеек или ошибок в диапазоне поиска. Для более чистого результата оберните формулу в IFERROR, например: =IFERROR(your_formula, "").

Преимущества: Универсальность и обратная совместимость со всеми версиями Excel.

Недостатки: Сложнее запомнить; в старых версиях Excel требует ввода как формулы массива.


Поиск последнего совпадающего значения с помощью функции XПОИСК (XLOOKUP)

Функция XПОИСК (XLOOKUP), доступная в Excel 365, Excel 2021 и более поздних версиях, предлагает самое простое и современное решение для поиска последнего совпадения. Благодаря гибким параметрам, управляющим направлением поиска и обработкой ошибок, XПОИСК легко находит значения снизу вверх и извлекает последнее совпадение — без сложных устаревших формул массива.

Чтобы использовать XПОИСК для поиска последнего совпадающего значения:

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

=XLOOKUP(E2, $A$2:$A$12, $C$2:$C$12, , , -1)
Поиск последнего совпадающего значения с использованием функции XLOOKUP
В формуле:
  • E2: искомое значение.
  • $A$2:$A$12: диапазон для поиска.
  • $C$2:$C$12: возвращаемый массив.
  • , ,: две запятые означают, что необязательные аргументы if_not_found и match_mode опущены (используются значения по умолчанию).
  • -1: search_mode=-1 выполняет поиск с конца к началу (снизу вверх), поэтому вы получаете последнее совпадение.

Практические примечания:

  • Специальный ввод массива не требуется. При необходимости вы можете задать собственное сообщение с помощью аргумента if_not_found.
  • Функция XLOOKUP возвращает последнее совпадение в соответствии с порядком элементов в заданном массиве (снизу вверх при использовании параметра)-1), независимо от применённой фильтрации.
  • Для пакетной обработки скопируйте формулу вниз; каждая строка вычисляется независимо.

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

Ограничение: Доступна только в Excel 365, Excel 2021 и более поздних версиях.


Поиск последнего совпадающего значения с помощью макроса VBA

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

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

1. Щёлкните Разработчик > Visual Basic, чтобы открыть окно Microsoft Visual Basic для приложений. Затем выберите Вставка > Модуль и вставьте следующий код в модуль:

Option Explicit

Sub FindLastMatch()
    Dim searchRange As Range
    Dim returnRange As Range
    Dim searchValue As Variant
    Dim i As Long
    Dim foundValue As Variant
    Dim found As Boolean
    
    Const xTitleId As String = "KutoolsforExcel"
    
    ' Get ranges and value from user
    On Error GoTo CleanFail
    Set searchRange = Application.InputBox("Select the lookup column (single column):", xTitleId, Type:=8)
    If TypeName(searchRange) = "Boolean" Then Exit Sub  ' Cancel pressed
    
    Set returnRange = Application.InputBox("Select the return column (single column):", xTitleId, Type:=8)
    If TypeName(returnRange) = "Boolean" Then Exit Sub  ' Cancel pressed
    
    searchValue = Application.InputBox("Enter the lookup value:", xTitleId, Type:=2)
    If VarType(searchValue) = vbBoolean And searchValue = False Then Exit Sub  ' Cancel pressed
    
    ' Basic validations
    If searchRange.Columns.Count <> 1 Or returnRange.Columns.Count <> 1 Then
        MsgBox "Please select a single column for both lookup and return ranges.", vbExclamation
        Exit Sub
    End If
    
    If searchRange.Rows.Count <> returnRange.Rows.Count Then
        MsgBox "Lookup and return ranges must have the same number of rows.", vbExclamation
        Exit Sub
    End If
    
    If Not searchRange.Parent Is returnRange.Parent Then
        MsgBox "Lookup and return ranges must be on the same worksheet.", vbExclamation
        Exit Sub
    End If
    
    ' Scan from bottom to top
    found = False
    For i = searchRange.Rows.Count To 1 Step -1
        If CStr(searchRange.Cells(i, 1).Value) = CStr(searchValue) Then
            foundValue = returnRange.Cells(i, 1).Value
            found = True
            Exit For
        End If
    Next i
    
    If found Then
        MsgBox "The last matching value is: " & foundValue, vbInformation
    Else
        MsgBox "No match found.", vbInformation
    End If
    Exit Sub

CleanFail:
    MsgBox "Operation cancelled or invalid selection.", vbExclamation
End Sub

2. Нажмите кнопку Кнопка «Выполнить», чтобы запустить код. В появившихся диалоговых окнах выберите столбец для поиска, столбец для возврата и введите искомое значение по запросу. Макрос просматривает данные с последней строки вверх и отображает последнее найденное совпадающее значение.

Примечания:

  • Убедитесь, что диапазоны поиска и возврата состоят из одного столбца, содержат одинаковое количество строк и расположены на одном листе.
  • Макрос сравнивает значения как текст для упрощения. Если вам необходимо различать числовые форматы (например, 00123 и 123), соответствующим образом измените логику сравнения.
  • Если совпадение не найдено или выделение недействительно/отменено, появится уведомление.

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

Минусы: Немного более сложная начальная настройка; требует книги с поддержкой макросов (.xlsm) и доверенной среды для их выполнения.


Возврат последнего совпадающего значения в Excel — распространённая задача, будь то отслеживание последних транзакций, анализ обновлений или учёт изменений во времени. С помощью описанных выше методов вы можете выбрать подходящий вариант в зависимости от используемой версии Excel, ваших предпочтений в рабочем процессе и уровня знакомства с инструментами Excel. Подходы с использованием ПРОСМОТР, ИНДЕКС и ПОИСКПОЗ, XПОИСК, Kutools и макросов VBA имеют собственные сильные стороны и оптимальные сценарии применения.

Устранение неполадок: Если формула возвращает ошибку #Н/Д или #ДЕЛ/0!, проверьте правильность выбора диапазона, убедитесь, что искомое значение существует, и подтвердите корректное выравнивание ваших диапазонов. По возможности избегайте пустых ячеек в столбце поиска — это повысит надёжность формул. В случае сомнений протестируйте формулу на небольшом фрагменте данных, чтобы проверить настройку: так вы быстрее выявите возможные ошибки.

Чтобы глубже освоить методы поиска — например, получение нескольких результатов, объединение совпадений или поиск по разным листам, — обязательно загляните на специализированные ресурсы, такие как наша страница учебных материалов по Excel, где собрано множество полезных статей и пошаговых руководств. Эти навыки помогут вам увереннее обрабатывать, анализировать и представлять важные данные в Excel!


Другие связанные статьи:

  • Поиск значений с помощью ВПР по нескольким листам
  • В Excel функцию ВПР легко использовать для поиска совпадающих значений в одной таблице на листе. Но задумывались ли вы, как выполнить поиск с помощью ВПР сразу по нескольким листам? Допустим, у вас есть три листа с диапазонами данных, и теперь вы хотите получить соответствующие значения на основе заданных критериев из этих трёх листов.
  • ВПР и объединение нескольких соответствующих значений в Excel
  • Как известно, функция ВПР в Excel помогает найти значение и вернуть соответствующие данные из другого столбца, но обычно она возвращает только первое найденное значение, если имеется несколько совпадений. В этой статье я расскажу, как выполнять поиск с помощью ВПР и объединять несколько соответствующих значений в одной ячейке или в вертикальном списке.

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек