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
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:
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.
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.
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:
5. Markera de klistrade unika cellerna och klicka sedan på Kutools > Slå ihop och dela > Kombinera 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:
7. Klicka sedan Ok or Ansök -knappen, de extraherade unika värdena har sammanfogats till en enda cell enligt följande skärmdump:
Gratis nedladdning Kutools för Excel nu!
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?
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:
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.
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:
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:
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:
Gratis nedladdning Kutools för Excel nu!
Bästa kontorsproduktivitetsverktyg
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...
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!