Note: The other languages of the website are Google-translated. Back to English
English English

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 aplikovat 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ší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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 omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (3)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Děkuji! Skvělá a jednoduchá funkce pro mě funguje perfektně! https://www.extendoffice.com/documents/excel/3418-excel-concatenate-unique-values.html#a1
Tento komentář byl moderátorem webu minimalizován
Úspěšně jsem používal funkci VBA, ale něco se s ní pokazilo - mám pouze #HODNOTU! chyba se nyní vrátila v místech, kde dříve fungovala. Vyčesal jsem svá data na chyby a pokusil jsem se odstranit a znovu vytvořit modul VBA a přejmenovat funkci, zdá se, že nic nefunguje. Jakákoli pomoc by byla oceněna, díky!
Tento komentář byl moderátorem webu minimalizován
Výborný článek!
Mám otázku.
Jak by se odstranily mezery od začátku a konce, aby se zabránilo duplicitám (způsobeným mezerami) ve funkci ConcatUniq?
Děkuji moc!
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění