Перейти к содержимому

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

Author: Xiaoyang Last Modified: 2025-06-05

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


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

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

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

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

vlookup and concatenate multiple values with TEXTJOIN and FILTER Functions

Объяснение этой формулы:
  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(", ", TRUE, ...): Объединяет все совпадающие значения в одну строку, разделенную запятой и пробелом.
    • ", ": Разделитель, используемый для разделения каждого значения (в данном случае запятая и пробел).
    • TRUE: Игнорирует пустые значения, чтобы не было лишних разделителей.

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

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

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

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

Нажмите «Kutools» > «Супер ПОИСК» > «One-to-many Lookup(returns multiple results)», чтобы открыть диалоговое окно. В диалоговом окне укажите операции следующим образом:

  1. Выберите «Область размещения списка» и «Диапазон значений для поиска» в текстовых полях отдельно;
  2. Выберите диапазон таблицы, который хотите использовать;
  3. Укажите ключевой столбец и столбец возврата из выпадающих списков «Ключевой столбец» и «Столбец возврата» отдельно;
  4. Наконец, нажмите кнопку OK.
     specify the options in the dialog box

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


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

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

1. Нажмите и удерживайте клавиши «ALT + F11», чтобы открыть окно «Microsoft Visual Basic for Applications».

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

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

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) в пустую ячейку, куда вы хотите поместить результат, затем перетащите маркер заполнения вниз, чтобы заполнить формулу в другие ячейки. Все соответствующие значения на основе конкретных данных возвращаются в одну ячейку с разделителями запятой и пробела, см. скриншот:

concatenated based on the criteria by vba

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

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

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

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

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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