Прескочи на основното съдържание

Как да свържа уникални стойности в Excel?

Автор: Xiaoyang Последна промяна: 2020-07-24

Ако имам дълъг списък от стойности, които са попълнени с някои дублирани данни, сега искам да намеря само уникалните стойности и след това да ги свържа в една клетка. Как мога да се справя с този проблем бързо и лесно в Excel?

Намерете уникални стойности в колона и ги свържете в една клетка с VBA код

Намерете уникални стойности в колона и ги свържете в една клетка с Kutools за Excel

Избройте уникални стойности и свържете съответните стойности с VBA код

Избройте уникални стойности и свържете съответните стойности с Kutools за Excel


стрелка син десен балон Намерете уникални стойности в колона и ги свържете в една клетка с VBA код

По-долу Потребителска функция може да ви помогне да свържете само уникалните стойности в една клетка от списък, моля, направете следното:

1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

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. След това се върнете към работния си лист и въведете тази формула: =ConcatUniq (A1:A17,",") в празна клетка, където искате да изведете свързания резултат, и натиснете Въведете ключ, за да получите уникалния конкатениран резултат, вижте екранната снимка:

doc конкатениране на уникални 1

Забележка: В горната формула, A1: A17 е диапазонът от клетки, който искате да свържете, а запетаята „,” е разделителят, от който се нуждаете, за да разделите комбинираните стойности, можете да ги промените според вашите нужди.


стрелка син десен балон Намерете уникални стойности в колона и ги свържете в една клетка с Kutools за Excel

Ако не сте запознати с кода на VBA, Kutools за Excel също може да ви помогне, можете да комбинирате Изберете Дублирани и уникални клетки намлява Комбинирам помощни програми, за да постигнете желания резултат.

Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни.

След инсталиране Kutools за Excel, моля, направете следното:( Безплатно изтегляне Kutools за Excel сега! )

1. Изберете списъка с клетки, които искате да комбинирате само уникалните стойности.

2. Щракнете Kutools > Изберете > Изберете Дублирани и уникални клетки, вижте екранна снимка:

3. В Изберете Дублирани и уникални клетки изберете диалоговия прозорец Всички уникални (включително 1-ви дубликати) вариант по Член раздел, вижте екранна снимка:

Съвети: Ако искате да комбинирате уникалните стойности, с изключение на първия появил се дубликат, отметнете Само уникални стойности опция.

doc конкатениране на уникални 3

4, След това кликнете OK и са избрани само уникалните стойности, след което натиснете Ctrl + C за да ги копирате и да ги поставите на определено място, като натиснете Ctrl + V, вижте екранна снимка:

doc конкатениране на уникални 4

5. Изберете поставените уникални клетки и след това щракнете Kutools > Обединяване и разделянеКомбинирайте редове, колони или клетки без загуба на данни, вижте екранна снимка:

6. В Комбинирайте колони или редове диалогов прозорец, изберете Комбинирайте в една клетка под За комбиниране на избрани клетки според следните опциии след това задайте разделител за вашите комбинирани данни, вижте екранна снимка:

doc конкатениране на уникални 6

7, След това кликнете Ok or Добавете Обява бутон, извлечените уникални стойности са свързани в една клетка, както е показано на следната екранна снимка:

doc конкатениране на уникални 7

Безплатно изтегляне Kutools за Excel сега!


стрелка син десен балон Избройте уникални стойности и свържете съответните стойности с VBA код

В друг случай имате диапазон от данни, който включва две колони и сега искате да изброите само уникалните стойности и да свържете съответните им стойности на друга колона, за да получите следния резултат, имате ли добри начини да завършите тази работа в Excel?

doc конкатениране на уникални 8

Тук можете да приложите следния VBA код, за да се справите с тази работа, моля, направете следното:

1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

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
    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 ключ, за да изпълните този код, и се появява поле за подкана, за да ви напомни, че изберете диапазона от данни, който искате да свържете въз основа на уникалните стойности, вижте екранната снимка:

doc конкатениране на уникални 9

4. Щракнете OK, уникалните стойности са извлечени и съответните им стойности в друга колона са свързани заедно в нов работен лист.

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


стрелка син десен балон Избройте уникални стойности и свържете съответните стойности с Kutools за Excel

Ако имате Kutools за Excel, Със своята Разширено комбиниране на редове функция, можете да разрешите този проблем бързо и лесно без никакъв код.

След инсталиране Kutools за Excel, моля, направете следното:( Безплатно изтегляне Kutools за Excel сега! )

1. Първо, трябва да направите копие на вашите оригинални данни, ако искате да запазите оригиналните данни. И след това изберете диапазона от данни, който искате да свържете въз основа на уникалните стойности.

2, След това кликнете Kutools > Обединяване и разделяне > Разширено комбиниране на редове, вижте екранна снимка:

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

doc конкатениране на уникални 11

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

doc конкатениране на уникални 12

5, И после щракнете върху Ok бутон, стойностите са свързани въз основа на уникалните стойности на друга колона, както е показано на следната екранна снимка:

doc конкатениране на уникални 13

Безплатно изтегляне Kutools за Excel сега!

Най-добрите инструменти за продуктивност в офиса

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Excellent article!
I have a question.
How would delete blanks from start and end to avoid duplicates(caused by spaces) in function ConcatUniq?
Thank you very much!
This comment was minimized by the moderator on the site
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!
This comment was minimized by the moderator on the site
Thank you! Great and simple function works perfect for me! https://www.extendoffice.com/documents/excel/3418-excel-concatenate-unique-values.html#a1
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations