Přejít k hlavnímu obsahu

Jak zřetězit jedinečné hodnoty v aplikaci Excel?

Pokud mám dlouhý seznam hodnot, které se naplnily nějakými duplicitními daty, teď chci najít pouze jedinečné hodnoty a poté je zřetězit do jedné buňky. Jak mohu tento problém rychle a snadno vyřešit v aplikaci Excel?

Najděte jedinečné hodnoty ve sloupci a zřetězte je do jedné buňky pomocí kódu VBA

Najděte jedinečné hodnoty ve sloupci a zřetězte je do jedné buňky pomocí Kutools pro Excel

Seznam jedinečných hodnot a zřetězení odpovídajících hodnot pomocí kódu VBA

Seznam jedinečných hodnot a zřetězení odpovídajících hodnot pomocí Kutools pro Excel


šipka modrá pravá bublina Najděte jedinečné hodnoty ve sloupci a zřetězte je do jedné buňky pomocí kódu VBA

Následující Uživatelem definovaná funkce vám pomůže zřetězit pouze jedinečné hodnoty do jedné buňky ze seznamu, postupujte takto:

1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Spojte jedinečné hodnoty do jedné buňky:

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. Pak se vraťte do svého listu a zadejte tento vzorec: = ConcatUniq (A1: A17, ",") do prázdné buňky, kam chcete odeslat zřetězený výsledek, a stiskněte vstoupit klíč k získání jedinečného zřetězeného výsledku, viz screenshot:

doc zřetězit unikáty 1

Poznámka: Ve výše uvedeném vzorci, A1: A17 je oblast buněk, kterou chcete zřetězit, a čárka “,„Je oddělovač, který potřebujete k oddělení kombinovaných hodnot, můžete je podle potřeby změnit.


šipka modrá pravá bublina Najděte jedinečné hodnoty ve sloupci a zřetězte je do jedné buňky pomocí Kutools pro Excel

Pokud nejste obeznámeni s kódem VBA, Kutools pro Excel také vám může pomoci, můžete kombinovat Vyberte Duplikovat a jedinečné buňky a Kombinovat nástroje k dosažení požadovaného výsledku.

Kutools pro Excel : s více než 300 praktickými doplňky Excel, můžete si je vyzkoušet bez omezení do 30 dnů.

Po instalaci Kutools pro Excel, postupujte následovně :( Stažení zdarma Kutools pro Excel nyní! )

1. Vyberte seznam buněk, které chcete kombinovat, pouze jedinečné hodnoty.

2, klikněte Kutools > vybrat > Vyberte Duplikovat a jedinečné buňky, viz screenshot:

3. V Vyberte Duplikovat a jedinečné buňky dialogové okno vyberte Všechny jedinečné (včetně 1. duplikátu) možnost podle Pravidlo sekce, viz screenshot:

Tipy: Pokud chcete zkombinovat jedinečné hodnoty s výjimkou prvního objevujícího se duplikátu, zaškrtněte Pouze jedinečné hodnoty volba.

doc zřetězit unikáty 3

4. Pak klikněte na tlačítko OK tlačítko, byly vybrány pouze jedinečné hodnoty a poté stiskněte Ctrl + C zkopírovat je a vložit na konkrétní místo stisknutím Ctrl + V, viz screenshot:

doc zřetězit unikáty 4

5. Vyberte vložené jedinečné buňky a poté klikněte Kutools > Sloučit a rozdělitKombinujte řádky, sloupce nebo buňky bez ztráty dat, viz screenshot:

6. V Kombinujte sloupce nebo řádky dialogové okno vyberte Kombinujte do jedné buňky pod Kombinovat vybrané buňky podle následujících možností, a poté určete oddělovač kombinovaných dat, viz screenshot:

doc zřetězit unikáty 6

7. Pak klikněte na tlačítko Ok or Podat žádost tlačítko, extrahované jedinečné hodnoty byly zřetězeny do jedné buňky, jak ukazuje následující snímek obrazovky:

doc zřetězit unikáty 7

Stažení zdarma Kutools pro Excel nyní!


šipka modrá pravá bublina Seznam jedinečných hodnot a zřetězení odpovídajících hodnot pomocí kódu VBA

V jiném případě máte řadu dat, která zahrnuje dva sloupce, a nyní chcete vypsat pouze jedinečné hodnoty a zřetězit jejich odpovídající hodnoty jiného sloupce, abyste získali následující výsledek, máte nějaké dobré způsoby, jak tuto úlohu dokončit v aplikaci Excel?

doc zřetězit unikáty 8

Zde můžete použít následující kód VBA pro řešení této úlohy, postupujte takto:

1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Seznam jedinečných hodnot a zřetězení odpovídajících dat

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. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou, které vám připomene výběr rozsahu dat, který chcete zřetězit na základě jedinečných hodnot, viz screenshot:

doc zřetězit unikáty 9

4, klikněte OK, byly extrahovány jedinečné hodnoty a jejich odpovídající hodnoty v jiném sloupci byly zřetězeny společně do nového listu.

Poznámka: Ve výše uvedeném kódu můžete změnit červenou čárku xArr (xDic.Item (xArr (I, 1)), 2) = xArr (xDic.Item (xArr (I, 1)), 2) & ",„& xArr (I, 2) v tomto skriptu všem dalším oddělovačům, které chcete oddělit kombinovaná data.


šipka modrá pravá bublina Seznam jedinečných hodnot a zřetězení odpovídajících hodnot pomocí Kutools pro Excel

Pokud máte Kutools pro Excel, S jeho Pokročilé kombinování řádků Díky této funkci můžete tento problém rychle a snadno vyřešit bez jakéhokoli kódu.

Po instalaci Kutools pro Excel, postupujte následovně :( Stažení zdarma Kutools pro Excel nyní! )

1. Nejprve byste si měli vytvořit kopii původních dat, pokud si chcete zachovat původní data. A poté vyberte rozsah dat, který chcete zřetězit na základě jedinečných hodnot.

2. Pak klikněte na tlačítko Kutools > Sloučit a rozdělit > Pokročilé kombinování řádků, viz screenshot:

3. V Pokročilé kombinování řádků V dialogovém okně klikněte na název sloupce, u kterého chcete vypsat pouze jedinečné hodnoty, a klikněte na Primární klíč, viz screenshot:

doc zřetězit unikáty 11

4. Poté klikněte na jiný název sloupce, který chcete zřetězit, a klikněte na Kombinovat, a vyberte jeden oddělovač pro oddělení kombinovaných dat, viz screenshot:

doc zřetězit unikáty 12

5. A pak klikněte na tlačítko Ok Tlačítko, hodnoty byly zřetězeny na základě jedinečných hodnot jiného sloupce, jak ukazuje následující snímek obrazovky:

doc zřetězit unikáty 13

Stažení zdarma Kutools pro Excel nyní!

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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