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

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

Автор: Силувия Последна промяна: 2019-10-09

Знаете ли как да съедините текстове от колона в клетка без дубликати в Excel? И какво, ако съедините текстове в колона без дубликати въз основа на конкретна стойност на клетка? Тази статия предлага методи за решаване на проблемите.

Обединете текстове в колона без дубликати с формула
Обединете текстове в колона без дубликати въз основа на друга стойност на клетка с VBA код
Лесно съединявайте текстове в колона въз основа на друга стойност на клетка с невероятен инструмент

Още урок за комбиниране на клетки...


Обединете текстове в колона без дубликати с формула

Както е показано на екранната снимка по-долу, искате да обедините текстове в колона A в една клетка без дубликати. Моля, направете следното.

1. Изберете празна клетка, копирайте формулата по-долу в нея и натиснете Друг + Превключване + Въведете клавиши едновременно.

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

След това уникалните стойности се извличат и съответните им уникални текстове в друга колона се обединяват и поставят в нов работен лист.


Лесно съединявайте текстове в колона въз основа на друга стойност на клетка с невероятен инструмент

Може би не сте добър с формулата или VBA кода. Тук препоръчайте Разширено комбиниране на редове полезност на Kutools за Excel за теб. С тази помощна програма можете лесно да съединявате текстове в колона въз основа на стойност в друга клетка само с няколко кликвания.

Преди да кандидатствате Kutools за Excel, Моля те първо го изтеглете и инсталирайте.

Забележка: Тъй като помощната програма ще се прилага директно в оригиналния диапазон, моля, направете копие на оригиналните данни, преди да приложите операцията по-долу.

1. Изберете диапазона (включете текстовете, които ще съедините, и стойността, въз основа на която ще съедините текстовете), щракнете Kutools > съдържание > Разширено комбиниране на редове. Вижте екранна снимка:

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

  • Изберете колоната, съдържаща стойностите, въз основа на които ще съедините текстове, и щракнете Първичен ключ;
  • Изберете колоната, съдържаща текстовете, които ще съедините в клетка, и щракнете Комбинирам > Запетая;
  • Ако има останали колони, моля, посочете условия за тях. В този случай избирам колоната Продажби и избирам Изчисли > Сума.
  • Щракнете върху OK бутон. Вижте екранна снимка:

След това можете да видите, че всички текстове в посочената колона са обединени въз основа на ключовата колона. Вижте екранна снимка:

  Ако искате да имате безплатен пробен период (30 дни) на тази помощна програма, моля, щракнете, за да го изтеглитеи след това преминете към прилагане на операцията съгласно горните стъпки.


Свързани статии

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

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

Свържете клетки, като запазите форматирането на число/дата в Excel
Може би сте забелязали, че когато прилагаме функцията CONCATENATE в 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 за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


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

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 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