Как объединить уникальные значения в Excel?
При работе с электронными таблицами часто возникает необходимость объединить (конкатенировать) только уникальные значения из столбца или составить списки, в которых уникальные записи сопровождаются соответствующими данными. Удаление дубликатов и представление сводной информации не только упорядочивают ваши данные, но и делают отчёты чёткими и информативными. В Excel существует несколько практичных способов решить эти задачи — от встроенных функций до расширенных надстроек и пользовательского кода. В этом руководстве подробно разбираются различные методы объединения уникальных значений и создания списков уникальных записей с привязанными к ним данными. Представленные решения охватывают разные версии Excel и подходят под разные пользовательские предпочтения, помогая вам выбрать оптимальный вариант для конкретной ситуации.
Объединение только уникальных значений из столбца
- С использованием функций TEXTJOIN и UNIQUE
- С использованием KUTOOLS AI Aide
- С использованием пользовательской функции
- С использованием расширенной формулы Excel (альтернативное решение)
Список уникальных значений с объединением соответствующих значений
- С использованием функций TEXTJOIN и UNIQUE
- С использованием Kutools for Excel
- С использованием кода VBA
- С использованием сводной таблицы Excel и формул (альтернативное решение)
Объединение только уникальных значений из столбца
При работе в Excel одной из распространённых задач анализа данных является объединение только уникальных записей из столбца в одну ячейку. Это особенно полезно при создании сводных отчётов, удалении дублирующихся значений из списка или подготовке данных для дальнейшей обработки. Выбор метода зависит от вашей версии Excel, объёма данных и уровня владения формулами или кодом. Ниже представлены подходы, соответствующие разным потребностям, с рекомендациями и практическими советами для точного и эффективного выполнения.
Метод 1: использование функций TEXTJOIN и UNIQUE
Для пользователей Excel 365 и Excel 2021 появление функций TEXTJOIN и UNIQUE сделало объединение уникальных значений из столбца простым и гибким.
Это решение идеально подходит, когда данные в столбце идут непрерывно, а вам нужно быстро собрать все уникальные значения в одну ячейку с выбранным разделителем. Оно автоматически удаляет дубликаты, легко проверяется и позволяет при необходимости изменить диапазон или разделитель. Однако имейте в виду: такой подход доступен только в последних версиях Excel — более старые версии не поддерживают функцию UNIQUE.
В ячейку, где должен отображаться результат, введите следующую формулу (предполагая, что ваши данные находятся в ячейках A2:A18):
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A18)) 
- UNIQUE(A2:A18)отфильтровывает повторяющиеся записи и возвращает только уникальные значения из диапазона A2:A18.
- TEXTJOIN(", ", TRUE, ...)объединяет (конкатенирует) эти уникальные значения в одну ячейку, разделяя их запятой и пробелом. Аргумент ИСТИНА гарантирует игнорирование пустых ячеек при объединении.
Полезные советы и устранение неполадок:
- Убедитесь, что ваша версия Excel поддерживает функции UNIQUE и TEXTJOIN. Если вы видите ошибку #ИМЯ?, скорее всего, у вас установлена более старая версия.
- Разделитель в функции TEXTJOIN можно заменить на любой другой по вашему выбору, например «; » или «|».
- Если вы добавляете или удаляете данные в исходном диапазоне, формула автоматически обновляется.
- Внимательно проверьте аргумент разделителя в формуле, чтобы избежать случайных лишних пробелов или нежелательных разделителей.
Метод 2: использование KUTOOLS AI Aide
Когда нужен быстрый и полностью автоматизированный способ объединения уникальных значений без написания формул, инструмент «AI Ассистент» от Kutools для Excel предлагает практичное решение, экономящее время пользователям любого уровня подготовки. Этот метод особенно полезен, если вы не знакомы с продвинутыми формулами Excel или если ваши данные часто обновляются, требуя повторного выполнения одних и тех же задач.
После установки Kutools для Excel откройте эту функцию, выбрав «Kutools» > «AI Ассистент», чтобы открыть панель «KUTOOLS AI Aide».
- Выберите ячейки со значениями, которые вы хотите объединить в одну, убедившись, что ваш выбор точно соответствует целевым данным.
- Опишите свою задачу в чат-окне. Например, вы можете ввести:
Объединить уникальные значения через запятую из Выберите диапазон и поместить результат в ячейку C2 - Нажмите клавишу 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, чтобы подтвердить. В ячейке отобразятся все уникальные значения из ограниченного диапазона, разделённые запятыми.

- Если ваш диапазон отличается, скорректируйте 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» > «Объединить и разделить» > «Расширенное объединение строк», как показано ниже:

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

Результат:
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, чтобы запустить сценарий. Появится всплывающее окно с запросом выбора диапазона данных. Убедитесь, что выделяете ровно два столбца: первый — для уникальных значений, второй — для соответствующих им значений.

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

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

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

