Hoppa till huvudinnehåll

Hur sammanfoga unika värden i Excel?

Om jag har en lång lista med värden som innehåller några dubbletter av data, vill jag nu bara hitta de unika värdena och sedan sammanfoga dem till en enda cell. Hur kunde jag hantera detta problem snabbt och enkelt i Excel?

Hitta unika värden i en kolumn och sammanfoga dem till en cell med VBA-kod

Hitta unika värden i en kolumn och sammanfoga dem till en cell med Kutools för Excel

Lista unika värden och sammanfoga motsvarande värden med VBA-kod

Lista unika värden och sammanfoga motsvarande värden med Kutools för Excel


pil blå höger bubbla Hitta unika värden i en kolumn och sammanfoga dem till en cell med VBA-kod

Följande Användardefinierad funktion kan hjälpa dig att sammanfoga endast de unika värdena i en enda cell från en lista, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Sammankoppla unika värden till en enda cell:

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. Gå sedan tillbaka till ditt kalkylblad och ange den här formeln: = ConcatUniq (A1: A17, ",") till en tom cell där du vill mata ut det sammanfogade resultatet och tryck på ange nyckel för att få det unika sammanfogade resultatet, se skärmdump:

doc sammanfogade unika 1

Anmärkningar: I ovanstående formel, A1: A17 är det cellintervall som du vill sammanfoga, och kommat ”,”Är den separator du behöver för att separera de kombinerade värdena, du kan ändra dem till ditt behov.


pil blå höger bubbla Hitta unika värden i en kolumn och sammanfoga dem till en cell med Kutools för Excel

Om du inte känner till VBA-koden, Kutools för Excel också kan hjälpa dig, kan du kombinera Välj Duplicera och unika celler och Kombinera verktyg för att uppnå det resultat du behöver.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar.

När du har installerat Kutools för Excel, gör så här :( Gratis nedladdning Kutools för Excel nu! )

1. Välj listan med celler som du vill kombinera endast de unika värdena.

2. Klicka Kutools > Välja > Välj Duplicera och unika celler, se skärmdump:

3. I Välj Duplicera och unika celler dialogrutan väljer du Alla unika (inklusive 1: a dubbletter) alternativet under Regel avsnitt, se skärmdump:

tips: Om du vill kombinera de unika värdena, exklusive att duplikat först visas, kontrollera Endast unika värden alternativ.

doc sammanfogade unika 3

4. Klicka sedan OK och endast de unika värdena har valts och tryck sedan på Ctrl + C för att kopiera dem och klistra in dem på en viss plats genom att trycka på Ctrl + V, se skärmdump:

doc sammanfogade unika 4

5. Markera de klistrade unika cellerna och klicka sedan på Kutools > Slå ihop och delaKombinera rader, kolumner eller celler utan att förlora data, se skärmdump:

6. I Kombinera kolumner eller rader dialogrutan, välj Kombinera i en enda cell under Att kombinera valda celler enligt följande alternativ, och ange sedan en separator för dina kombinerade data, se skärmdump:

doc sammanfogade unika 6

7. Klicka sedan Ok or Ansök -knappen, de extraherade unika värdena har sammanfogats till en enda cell enligt följande skärmdump:

doc sammanfogade unika 7

Gratis nedladdning Kutools för Excel nu!


pil blå höger bubbla Lista unika värden och sammanfoga motsvarande värden med VBA-kod

I ett annat fall har du en rad data som innehåller två kolumner, och nu vill du bara lista de unika värdena och sammanfoga deras motsvarande värden för en annan kolumn för att få följande resultat, har du några bra sätt att avsluta det här jobbet i Excel?

doc sammanfogade unika 8

Här kan du tillämpa följande VBA-kod för att hantera detta jobb, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Lista unika värden och sammanfoga motsvarande data

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. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta dyker upp för att påminna dig om att välja det dataområde som du vill sammanfoga baserat på de unika värdena, se skärmdump:

doc sammanfogade unika 9

4. Klicka OK, har de unika värdena extraherats och deras motsvarande värden i en annan kolumn har sammanfogats till ett nytt kalkylblad.

Anmärkningar: I koden ovan kan du ändra det röda komma xArr (xDic.Item (xArr (I, 1)), 2) = xArr (xDic.Item (xArr (I, 1)), 2) & ","& xArr (I, 2) i detta skript till alla andra avgränsare som du vill separera den kombinerade data.


pil blå höger bubbla Lista unika värden och sammanfoga motsvarande värden med Kutools för Excel

Om du har Kutools för Excel, med dess Avancerade kombinera rader funktion kan du lösa detta problem snabbt och enkelt utan någon kod.

När du har installerat Kutools för Excel, gör så här :( Gratis nedladdning Kutools för Excel nu! )

1. Först bör du göra en kopia av dina ursprungliga data om du vill behålla originaldata. Och välj sedan det dataintervall som du vill sammanfoga baserat på de unika värdena.

2. Klicka sedan Kutools > Slå ihop och dela > Avancerade kombinera rader, se skärmdump:

3. I Avancerade kombinera rader dialogrutan, klicka på kolumnnamnet där du bara vill visa de unika värdena och klicka Primärnyckel, se skärmdump:

doc sammanfogade unika 11

4. Klicka sedan på ett annat kolumnnamn som du vill sammanfoga och klicka på Kombinera, och välj en avgränsare för att separera dina kombinerade data, se skärmdump:

doc sammanfogade unika 12

5. Och klicka sedan på Ok -knappen, värdena har sammanfogats baserat på de unika värdena i en annan kolumn enligt följande skärmdump:

doc sammanfogade unika 13

Gratis nedladdning Kutools för Excel nu!

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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