Перейти к основному содержанию

Как vlookup и объединить несколько соответствующих значений в Excel?

Автор: Сяоян Последнее изменение: 2025 июля 04 г.

При использовании VLOOKUP в Excel он обычно возвращает первое совпадающее значение из набора данных. Однако существуют сценарии, в которых вам может потребоваться вернуть и объединить несколько соответствующих значений (например, все имена, связанные с определенным классом). Поскольку VLOOKUP сам по себе не может этого сделать, мы рассмотрим расширенные методы для достижения желаемого результата.


VLOOKUP и объединение нескольких соответствующих значений с помощью функций TEXTJOIN и FILTER

Если вы используете Excel 365 или Excel 2021, сочетание функций TEXTJOIN и FILTER обеспечивает мощный и эффективный способ объединения нескольких соответствующих значений.

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

=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$16, $A$2:$A$16=D2, ""))

vlookup и объединение нескольких значений с помощью функций TEXTJOIN и FILTER

Объяснение этой формулы:
  1. FILTER($B$2:$B$16, $A$2:$A$16=D2, ""): Возвращает массив, содержащий все значения, соответствующие условию.
    • $B$2:$B$16: Диапазон данных для фильтрации.
    • $A$2:$A$16=D2: Условие фильтрации, при котором значения в $A$2:$A$16 должны быть равны значению в ячейке D2.
  2. TEXTJOIN(", ", ИСТИНА, ...): Объединяет все совпадающие значения в одну строку, разделенную запятой и пробелом.
    • ", ": Разделитель, используемый для разделения каждого значения (в данном случае запятая и пробел).
    • ИСТИНА: Игнорирует пустые значения, чтобы гарантировать отсутствие дополнительных разделителей.

VLOOKUP и объединение нескольких соответствующих значений с помощью Kutools для Excel

Устали от ограничений функции VLOOKUP в Excel при работе с несколькими соответствующими значениями? Но с функцией поиска «один ко многим» в Kutools for Excel вы можете без труда находить и объединять несколько соответствующих значений всего за несколько щелчков мыши!

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

После установки Kutools for Excel, сделайте следующее:

Нажмите "Kutools" > "Super Lookup" > "One-to-many Lookup (возвращает несколько результатов)", чтобы открыть диалоговое окно. В диалоговом окне укажите операции, как показано ниже:

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

Результат: Теперь все соответствующие значения объединены в одну ячейку. Смотрите скриншот:
объединено на основе критериев kutools


Vlookup и объединение нескольких соответствующих значений с помощью определяемой пользователем функции

Если вы знакомы с VBA (Visual Basic for Applications), вы можете создать определяемую пользователем функцию (UDF) для объединения нескольких соответствующих значений. Этот метод работает во всех версиях Excel.

1. Удерживайте клавиши «ALT + F11», чтобы открыть окно «Microsoft Visual Basic для приложений».

2. Нажмите «Вставить» > «Модуль» и вставьте следующий код в окно модуля.

Код VBA: Vlookup и объединение нескольких совпадающих значений в ячейке

Function ConcatenateMatches(LookupValue As String, LookupRange As Range, ReturnRange As Range, Optional Delimiter As String = ", ") As String
'Updateby Extendoffice
    Dim Cell As Range
    Dim Result As String
    Result = ""
    For Each Cell In LookupRange
        If Cell.Value = LookupValue Then
            Result = Result & Cell.Offset(0, ReturnRange.Column - LookupRange.Column).Value & Delimiter
        End If
    Next Cell
    If Result <> "" Then
        Result = Left(Result, Len(Result) - Len(Delimiter))
    End If
    ConcatenateMatches = Result
End Function

3. Затем сохраните и закройте этот код, вернитесь на рабочий лист и введите следующую формулу: =ConcatenateMatches(D2, $A$2:$A$16, $B$2:$B$16) в пустую ячейку, куда вы хотите поместить результат, затем перетащите маркер заполнения вниз, чтобы заполнить формулой другие ячейки. Все соответствующие значения, основанные на определенных данных, были возвращены в одну ячейку с разделителями запятыми и пробелами, см. снимок экрана:

объединены на основе критериев vba

Объяснение этой формулы:
  • D2: Это значение, которое вы ищете в указанном диапазоне (LookupValue).
  • A2: A16: Диапазон, в котором функция ищет искомое значение (LookupRange).
  • B2: B16: Диапазон, содержащий значения, которые необходимо объединить при совпадении искомого значения (ReturnRange).

Объединение нескольких соответствующих значений в Excel может быть достигнуто различными методами, каждый из которых имеет свои преимущества. Независимо от того, предпочитаете ли вы использовать встроенные функции, такие как TEXTJOIN и FILTER, сторонние инструменты, такие как Kutools, или пользовательские решения VBA, ключ в том, чтобы выбрать метод, который лучше всего подходит для вашей версии Excel, уровня навыков и конкретных требований. Если вы заинтересованы в изучении дополнительных советов и приемов Excel, наш сайт предлагает тысячи обучающих программ.

Лучшие инструменты для офисной работы

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

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


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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