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

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

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

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

Объединение текстов в столбце без дубликатов с помощью формулы
Объединение текстов в столбце без дубликатов на основе значения другой ячейки с использованием кода VBA
Простое объединение текстов в столбце на основе значения другой ячейки с помощью мощного инструмента

Дополнительные руководства по объединению ячеек…


Объединение текстов в столбце без дубликатов с помощью формулы

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

Выберите пустую ячейку, в которую нужно поместить объединённый текст. Скопируйте приведённую ниже формулу и вставьте её в выбранную ячейку, затем нажмите Ctrl+Shift+Enter, если вы используете более старые версии Excel. В новых версиях с поддержкой динамических массивов (Excel 365 или Excel 2019 и новее) достаточно просто нажать Enter:

=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A12, A2:A12,0)=MATCH(ROW(A2:A12), ROW(A2:A12)), A2:A12, ""))

Пояснение параметров и примечания по использованию:

  • A2:A12: Этот диапазон указывает ячейки, значения которых нужно объединить. При необходимости скорректируйте его в соответствии со своими данными.
  • ", ": Это разделитель, используемый между объединяемыми фрагментами текста (в данном примере — запятая с пробелом). Чтобы задать другой разделитель, например точку с запятой или разрыв строки, просто измените этот аргумент.
  • TRUE: Этот параметр указывает функции TEXTJOIN игнорировать пустые ячейки.

снимок экрана с использованием формулы для объединения текстов в столбце без дубликатов

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


Объединение текстов в столбце без дубликатов на основе значения другой ячейки с использованием кода VBA

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

1. На листе с текстами для объединения нажмите Alt+F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. В окне Visual Basic выберите Insert>Module, чтобы создать новый модуль, и вставьте следующий код в окно кода модуля:

Код VBA: объединение текстов в столбце без дубликатов на основе значения другой ячейки

Sub JoinTextsWithoutDuplicates()
'Updated by Extendoffice 20190924
    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 xValue
    Dim xStr, xStrValue As String
    Dim xB As Boolean
    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
    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
            xStrValue = xArr(I, 2)
           xB = True
            For Each xStr In Split(xArr(xDic.Item(xArr(I, 1)), 2), ",")
                If xStr = xStrValue Then
                    xB = False
                    Exit For
                End If
            Next
            If xB Then
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
            End If
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub 

3. Чтобы запустить код, просто нажмите клавишу F5. Во всплывающем диалоговом окне (с заголовком)Kutools для Excel) выберите диапазон, включающий как столбец группировки, так и тексты для объединения. Диапазон должен состоять из двух столбцов (например, первый столбец — категория, второй — связанные текстовые значения). Нажмите OK, чтобы подтвердить выбор и продолжить.

снимок экрана с выделением ячеек, которые необходимо объединить после выполнения кода VBA

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

снимок экрана с отображением объединённых результатов


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

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

Перед применением Kutools для Excel пожалуйста, сначала загрузите и установите его.

Этот метод позволяет гибко и интерактивно настраивать операции сводки и объединения прямо в процессе работы, что делает его идеальным выбором для пользователей, которые часто имеют дело с изменяющимися наборами данных или многократно выполняют эти операции с разными параметрами.

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

1. Выделите диапазон ячеек, включающий как значения для группировки, так и тексты для объединения. Затем перейдите на вкладку Kutools, нажмите Merge & Split и выберите Расширенное объединение строк из раскрывающегося меню.

2. В появившемся диалоговом окне Расширенное объединение строк:

  • Выберите столбец, по которому нужно группировать тексты, и нажмите Primary Key. Обычно это столбец с идентификатором или категорией.
  • Выберите столбец с текстами, которые нужно объединить, затем нажмите Combine > Comma (или выберите нужный разделитель).
  • Если есть дополнительные столбцы — например, с числовыми значениями или другими атрибутами, — вы можете задать для них операции (например, суммирование или вычисление среднего), выбрав соответствующую функцию, такую как Calculate > Sum.
  • Нажмите OK, чтобы выполнить операцию — данные будут объединены соответствующим образом. Пример см. на следующем снимке экрана:

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

снимок экрана с исходными данными и объединёнными результатами

Если вы хотите воспользоваться бесплатной пробной версией (30 дней) этой утилиты, нажмите, чтобы скачать её, а затем выполните операцию в соответствии с приведёнными выше шагами.


См. также

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

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

Объединение ячеек с сохранением форматирования чисел и дат в Excel
Возможно, вы замечали: при использовании функции CONCATENATE в Excel формат даты (например, 2014-01-03), денежный формат ($734,70), процентный формат (48.9 %) и десятичные значения (24,5000) теряют исходное оформление и отображаются как обычные числа в результатах объединения. В этой статье мы расскажем о нескольких способах обойти эту проблему и сохранить форматирование дат и чисел при объединении данных в Excel.

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