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

Как объединить уникальные значения в Excel?

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

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

Объединение только уникальных значений из столбца

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


Объединение только уникальных значений из столбца

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

Метод 1: использование функций TEXTJOIN и UNIQUE

Для пользователей Excel 365 и Excel 2021 появление функций TEXTJOIN и UNIQUE сделало объединение уникальных значений из столбца простым и гибким.

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

В ячейку, где должен отображаться результат, введите следующую формулу (предполагая, что ваши данные находятся в ячейках A2:A18):

=TEXTJOIN(", ", TRUE, UNIQUE(A2:A18))

 примените функции TEXTJOIN и UNIQUE для объединения уникальных значений

Пояснение к этой формуле:
  • UNIQUE(A2:A18)отфильтровывает повторяющиеся записи и возвращает только уникальные значения из диапазона A2:A18.
  • TEXTJOIN(", ", TRUE, ...)объединяет (конкатенирует) эти уникальные значения в одну ячейку, разделяя их запятой и пробелом. Аргумент ИСТИНА гарантирует игнорирование пустых ячеек при объединении.

Полезные советы и устранение неполадок:

  • Убедитесь, что ваша версия Excel поддерживает функции UNIQUE и TEXTJOIN. Если вы видите ошибку #ИМЯ?, скорее всего, у вас установлена более старая версия.
  • Разделитель в функции TEXTJOIN можно заменить на любой другой по вашему выбору, например «; » или «|».
  • Если вы добавляете или удаляете данные в исходном диапазоне, формула автоматически обновляется.
  • Внимательно проверьте аргумент разделителя в формуле, чтобы избежать случайных лишних пробелов или нежелательных разделителей.

Метод 2: использование KUTOOLS AI Aide

Когда нужен быстрый и полностью автоматизированный способ объединения уникальных значений без написания формул, инструмент «AI Ассистент» от Kutools для Excel предлагает практичное решение, экономящее время пользователям любого уровня подготовки. Этот метод особенно полезен, если вы не знакомы с продвинутыми формулами Excel или если ваши данные часто обновляются, требуя повторного выполнения одних и тех же задач.

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

После установки Kutools для Excel откройте эту функцию, выбрав «Kutools» > «AI Ассистент», чтобы открыть панель «KUTOOLS AI Aide».

  1. Выберите ячейки со значениями, которые вы хотите объединить в одну, убедившись, что ваш выбор точно соответствует целевым данным.
  2. Опишите свою задачу в чат-окне. Например, вы можете ввести:
    Объединить уникальные значения через запятую из Выберите диапазон и поместить результат в ячейку C2
  3. Нажмите клавишу Enter или кнопку «Отправить». После обработки запроса ИИ нажмите «Выполнить», чтобы Kutools выполнил операцию. Результат будет возвращён, как описано.

Примечания и советы:

  • Убедитесь, что у вас установлена последняя версия Kutools, чтобы получить доступ ко всем функциям ИИ.
  • Для наилучших результатов формулируйте команду как можно конкретнее: укажите разделитель и целевую ячейку.
  • KUTOOLS AI особенно эффективен при работе с большими диапазонами данных или при выполнении повторяющихся рабочих процессов с разными наборами данных.

Метод 3: использование пользовательской функции

Для пользователей, которым нужна расширенная гибкость, поддержка пользовательских разделителей или многократно используемый инструмент для работы с несколькими книгами, создание пользовательской функции (UDF) на языке VBA — эффективный способ автоматического объединения уникальных значений. Это решение на VBA совместимо со всеми версиями Excel и не зависит от наличия новых встроенных функций.

  • Вам следует включить макросы в своей книге.
  • Сохраните файл в формате «с поддержкой макросов» ().xlsm), если планируете использовать этот код VBA в будущем.
  • Рекомендуем регулярно создавать резервные копии книги перед запуском нового кода.

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

2. В окне VBA выберите Вставка > Модуль, затем скопируйте и вставьте следующий код:

Код VBA: объединение уникальных значений в одну ячейку:

Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice
    Dim xCell As Range
    Dim xDic As Object
    Set xDic = CreateObject("Scripting.Dictionary")
    For Each xCell In xRg
        xDic(xCell.Value) = Empty
    Next
    ConcatUniq = Join$(xDic.Keys, xChar)
    Set xDic = Nothing
End Function

3.Вернитесь на свой лист и в пустую ячейку (например, C2) введите следующую формулу:

=ConcatUniq(A2:A18,",")

Нажмите клавишу Enter, чтобы подтвердить. В ячейке отобразятся все уникальные значения из ограниченного диапазона, разделённые запятыми.

 объедините уникальные значения с помощью кода VBA

  • Если ваш диапазон отличается, скорректируйте A2:A18 соответствующим образом.
  • Если вам нужен другой разделитель, замените ","в формуле на подходящий символ (например,)";" или |).
  • Если появляется ошибка #ИМЯ?, убедитесь, что макросы включены и имя пользовательской функции указано точно.

Совет: Чтобы использовать эту функцию в других книгах, скопируйте код VBA и в их модули.


Способ 4: Использование расширенной формулы Excel (альтернативное решение)

В средах, где функция UNIQUE недоступна (например, в Excel 2016 или Excel 2019), вы всё ещё можете объединять уникальные значения с помощью более сложной комбинации классических функций ЕСЛИ, СЧЁТЕСЛИ и ОБЪЕДИНИТЬ, используя формулы массива. Такой подход работает, но лучше всего подходит для небольших наборов данных из-за высокой вычислительной нагрузки.

1. В целевой ячейке (например, C2) введите следующую формулу массива (после ввода нажмите)Ctrl+Shift+Enter вместо обычного Enter):

=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A18, A2:A18,0) = ROW(A2:A18) - MIN(ROW(A2:A18)) +1, A2:A18, ""))

2. Если вокруг вашей формулы появились фигурные скобки {}, значит, она была успешно введена как формула массива. Формула вернёт уникальные значения из диапазона A2:A18, объединённые через запятую.

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


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

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

Способ 1: Использование функций ОБЪЕДИНИТЬ и UNIQUE

Если вы используете Excel 365 или Excel 2021, вы можете комбинировать функции UNIQUE и ФИЛЬТР с функцией ОБЪЕДИНИТЬ для надёжного решения, полностью основанного на формулах. Этот метод хорошо подходит для обобщения данных, когда одно значение может быть связано с несколькими записями, и вы хотите получить список этих связанных записей, разделённый указанным вами разделителем.

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

=UNIQUE(A2:A17)

 Вывод уникальных значений с помощью формулы

2. Теперь, чтобы объединить соответствующие значения из столбца B для каждой уникальной записи, введите эту формулу в следующем столбце рядом с уникальным значением (например, в ячейку E2, если ваши уникальные значения начинаются с D2) и при необходимости протяните её вниз:

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

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

Пояснение к этой формуле:
  • UNIQUE(A2:A17)создаёт массив уникальных элементов из столбца A.
  • FILTER(B2:B17, A2:A17 = D2)формирует массив, содержащий все соответствующие значения из столбца B для каждого уникального значения в ячейке D2.
  • TEXTJOIN(", ", TRUE, ...)объединяет соответствующие значения, разделяя их запятыми.
  • Если нужен другой разделитель, измените ", "в функции TEXTJOIN на нужный.
  • Чтобы избежать ошибок, убедитесь, что диапазоны в ваших формулах имеют одинаковую длину и что функция ФИЛЬТР не возвращает ошибки из-за отсутствия совпадений.
  • Этот подход автоматически обновляет результаты при изменении данных, что делает его идеальным выбором для динамических сводных таблиц.

Способ 2: Использование Kutools для Excel

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

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

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

  • Выберите диапазон данных, который вы хотите структурировать.
  • Перейдите в меню «Kutools» > «Объединить и разделить» > «Расширенное объединение строк», как показано ниже:
     нажмите функцию «Расширенное объединение строк» в Kutools
  • В открывшемся диалоговом окне:
    • Выберите столбец с дубликатами, которые нужно объединить, и укажите для него операцию «Первичный ключ».
    • Выберите столбец, значения которого нужно агрегировать (объединить), и укажите предпочитаемый разделитель в раскрывающемся списке под заголовком «Операция».
    • Нажмите ОК, чтобы выполнить операцию.
     укажите параметры в диалоговом окне

Результат:

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

  • Если вы допустили ошибку, воспользуйтесь командой «Отмена» в Excel (Ctrl+Z), чтобы вернуться к предыдущему состоянию.
  • Этот процесс эффективно работает с наборами данных, включающими сотни или даже тысячи записей, и поддерживает различные разделители.

Способ 3: Использование кода VBA

Сценарий VBA обеспечивает полный контроль над извлечением и обобщением данных. Он совместим со всеми версиями Excel и идеально подходит для настраиваемых рабочих процессов, автоматизации или ситуаций, когда такие функции, как UNIQUE или ФИЛЬТР, недоступны. Если структура ваших данных часто меняется, это решение на VBA легко адаптировать.

Чтобы использовать приведённый ниже код, просто выполните следующие шаги:

1. Нажмите ALT + F11, чтобы открыть редактор VBA.

2. Перейдите в меню Вставка > Модуль, затем вставьте следующий код в открывшееся окно модуля:

Код VBA: Получение уникальных значений и объединение соответствующих данных

Sub test()
    'updateby Extendoffice
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    Dim xOutputRg As Range
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "Does not support multiple selections", , "Kutools for Excel"
        Exit Sub
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutputRg = Application.InputBox("Please select the output cell", "Kutools for Excel", Type:=8)
    If xOutputRg Is Nothing Then Exit Sub
    xArr = xRg
    Set xDic = CreateObject("Scripting.Dictionary")
    xDic.CompareMode = 1
    For I = 1 To UBound(xArr)
        If Not xDic.Exists(xArr(I, 1)) Then
            xDic.Item(xArr(I, 1)) = xDic.Count + 1
            xArr(xDic.Count, 1) = xArr(I, 1)
            xArr(xDic.Count, 2) = xArr(I, 2)
        Else
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
        End If
    Next
    xOutputRg.Resize(xDic.Count, 2).Value = xArr
End Sub

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

 код VBA для выбора диапазона данных

4. Нажмите кнопку OK и выберите первую ячейку, с которой должен начинаться результирующий диапазон.

 код VBA для выбора ячейки для размещения результата

5. После нажатия кнопки OK код сформирует таблицу, содержащую только уникальные значения и соответствующие им объединённые данные.

 код VBA для вывода уникальных значений и объединения соответствующих значений

  • Если появляется ошибка, связанная с количеством столбцов, убедитесь, что выделенный диапазон включает ровно два столбца.
  • Если нужно заменить разделитель с запятой на другой символ, скорректируйте строку кода xArr(xDic.Item(xArr(I,1)),2) = xArr(xDic.Item(xArr(I,1)),2) & "," & xArr(I,2) по необходимости.
  • Всегда создавайте резервную копию файла перед запуском новых сценариев VBA.

В заключение, Excel предлагает множество способов объединения уникальных значений и консолидации связанных данных. Формульные методы быстры и динамичны в современных версиях Excel, тогда как решения на основе VBA и Kutools обеспечивают более широкую совместимость и больший контроль. Всегда выбирайте подход, который соответствует объёму ваших данных, версии 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек