Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

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

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

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

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

Перечислите уникальные значения и соедините соответствующие значения с помощью Kutools for Excel


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


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

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

2. Щелчок Вставить > модуль, и вставьте следующий код в модуль Окно.

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

Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice 20151228
    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. Затем вернитесь на рабочий лист и введите следующую формулу: = ConcatUniq (A1: A17, ",") в пустую ячейку, где вы хотите вывести конкатенированный результат, и нажмите вводить ключ, чтобы получить уникальный конкатенированный результат, см. снимок экрана:

уникальный конкатенатный документ 1

Внимание: В приведенной выше формуле, A1: A17 это диапазон ячеек, который вы хотите объединить, а запятая ",«Это разделитель, который вам нужно разделить на комбинированные значения, вы можете изменить их на свои нужды.


arrow синий правый пузырь Найти уникальные значения в столбце и объединить их в одну ячейку с помощью Kutools for Excel

Если вы не знакомы с кодом VBA, Kutools for Excel также может помочь вам, вы можете комбинировать Выбрать дубликаты и уникальные ячейки Сочетать для достижения нужного результата.

Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно попробовать без ограничений в 60-дни.

После установки Kutools for Excel, сделайте следующее :( Скачать Kutools для Excel сейчас! )

1, Выберите список ячеек, в котором вы хотите объединить только уникальные значения.

2. Щелчок Kutools > Выбрать > Выбрать дубликаты и уникальные ячейки, см. снимок экрана:

уникальный конкатенатный документ 2

3. В Выбрать дубликаты и уникальные ячейки диалоговое окно, выберите Все уникальные (включая дубликаты 1) вариант под Правило раздел, см. снимок экрана:

Советы: Если вы хотите объединить уникальные значения, исключая первый повторяющийся дубликат, проверьте Только уникальные значения вариант.

уникальный конкатенатный документ 3

4, Затем нажмите OK , и выбраны только уникальные значения, а затем нажмите Ctrl + C скопировать их и вставить в определенное место, нажав Ctrl + V, см. снимок экрана:

уникальный конкатенатный документ 4

5, Выберите вложенные уникальные ячейки, а затем нажмите Kutools > Сочетать, см. снимок экрана:

уникальный конкатенатный документ 5

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

уникальный конкатенатный документ 6

7, Затем нажмите Ok or применять , извлеченные уникальные значения были объединены в одну ячейку, как показано на следующем скриншоте:

уникальный конкатенатный документ 7

Скачать Kutools для Excel сейчас!


arrow синий правый пузырь Перечислите уникальные значения и соедините соответствующие значения с кодом VBA

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

уникальный конкатенатный документ 8

Здесь вы можете применить следующий код VBA для решения этой задачи, пожалуйста, сделайте следующее:

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

2. Щелчок Вставить > модуль, и вставьте следующий код в модуль Окно.

Код VBA: перечислите уникальные значения и соедините соответствующие данные

Sub test()
'updateby Extendoffice 20151228
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    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
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub

3, Затем нажмите F5 для запуска этого кода, и появится окно подсказки, чтобы напомнить вам, выберите диапазон данных, который вы хотите объединить, на основе уникальных значений, см. снимок экрана:

уникальный конкатенатный документ 9

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

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


arrow синий правый пузырь Перечислите уникальные значения и соедините соответствующие значения с помощью Kutools for Excel

Если у вас есть Kutools for Excel, С его Расширенные ряды комбинирования , вы можете быстро и легко решить эту проблему без какого-либо кода.

После установки Kutools for Excel, сделайте следующее :( Скачать Kutools для Excel сейчас! )

1, Во-первых, вы должны сделать копию своих исходных данных, если хотите сохранить исходные данные. Затем выберите диапазон данных, который вы хотите объединить, на основе уникальных значений.

2, Затем нажмите Kutools > содержание > Расширенные ряды комбинирования, см. снимок экрана:

уникальный конкатенатный документ 10

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

уникальный конкатенатный документ 11

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

уникальный конкатенатный документ 12

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

уникальный конкатенатный документ 13

Скачать Kutools для Excel сейчас!



Инструменты для повышения производительности Excel

Kutools для Excel - лучший инструмент для работы в офисе

  • Приносит в Excel мощные расширенные функции 300, позволяя вам работать умнее, быстрее и лучше.
  • Больше не нужно запоминать формулы и коды VBA, дайте вашему мозгу отдохнуть.
  • Станьте экспертом по Excel за минуты 3. Сложные и повторяющиеся операции можно выполнить за считанные секунды,
  • Ежедневно сокращайте тысячи операций с клавиатурой и мышью, попрощайтесь с профессиональными заболеваниями сейчас.
  • Высокоэффективные люди 110,000 и выбор всемирно известных компаний 300 +.
  • 60-Day полнофункциональная бесплатная пробная версия. 60-день гарантии возврата денег. 2 лет бесплатного обновления и поддержки.

Вкладка «Office» - переносит интерфейс с вкладками в Office, делает вашу работу намного проще.

  • Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    MSBrown · 2 years ago
    I was successfully using the VBA function but something has gone wrong with it - I am only having a #VALUE! error returned now in places where it was working previously. I have combed my data for errors and tried removing and re-creating the VBA module, and renaming the function, nothing seems to be working. Any help would be appreciated, thanks!
  • To post as a guest, your comment is unpublished.
    Marek · 2 years ago
    Thank you! Great and simple function works perfect for me!

    https://www.extendoffice.com/documents/excel/3418-excel-concatenate-unique-values.html#a1