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

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

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

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

Еще одно руководство по объединению ячеек…


Соединить тексты в столбце без дубликатов формулой

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

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

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

Примечание: В формуле «, »- разделитель объединенных текстов; A2: A12 - это ячейки столбца, которые вы объедините. Пожалуйста, измените их по своему усмотрению.

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


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

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

1. На листе, содержащем тексты, к которым вы присоединитесь, нажмите кнопку другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модуль, а затем скопируйте приведенный ниже код VBA в окно кода модуля.

Код 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 for Excel в диалоговом окне выберите диапазон, включающий как значения, на основе которых вы будете объединять тексты, так и тексты, к которым вы присоединитесь, а затем щелкните OK .

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


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

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

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

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

1. Выберите диапазон (включите тексты, к которым вы присоединитесь, и значение, на основе которого вы присоедините тексты), нажмите Кутулс > Содержание > Расширенные ряды комбинирования. Смотрите скриншот:

2. в Расширенные ряды комбинирования диалог, пожалуйста, сделайте следующее:

  • Выберите столбец, содержащий значения, на основе которых вы будете объединять тексты, и нажмите Основной ключ;
  • Выберите столбец, содержащий тексты, которые вы объедините в ячейку, и нажмите Сочетать > Запятая;
  • Если остались столбцы, укажите для них условия. В этом случае я выбираю столбец Продажи и выбираю Рассчитать > Сумма.
  • Нажмите OK кнопка. Смотрите скриншот:

Затем вы можете увидеть, что все тексты в указанном столбце объединены на основе ключевого столбца. Смотрите скриншот:

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


Статьи по теме

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

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

Объединение ячеек с сохранением форматирования числа / даты в Excel
Возможно, вы заметили, что, когда мы применяем функцию СЦЕПИТЬ в Excel, формат даты (2014-01-03) и числовой формат, такой как денежный формат (734.7 доллара США), процентный формат (48.9%), десятичные разряды (24.5000) и т. Д. удаляются и отображаются как общие числа в результатах конкатенации. В этой статье мы предлагаем несколько обходных путей для объединения данных с сохранением даты или форматирования чисел в Excel.

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

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

Еще одно руководство по объединению ячеек…

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

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

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

Описание


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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I like this formula, but often times i will have a blank cell in my data range and yet this formula won't work with blanks. how would i handle blank cells?
This comment was minimized by the moderator on the site
Thanks! This was helpful. I found that the formula below did the trick. I just needed to select a range to combine text, but didn't want to duplicate values.
=TEXTJOIN(", ",TRUE,UNIQUE($A2:$K2,TRUE))
This comment was minimized by the moderator on the site
This is a much easier way to join unique items based on another column:

=TEXTJOIN(", ",TRUE,UNIQUE(IF(Table1[Category]=Table2[Unique Categories],Table1[Items to Join],"")))

Works a treat, I use it a lot.
This comment was minimized by the moderator on the site
Thanks a Lot. You saved me.
This comment was minimized by the moderator on the site
Omg. You're a lifesaver, I was trying way more complex formulas and this worked like a charm! Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations