Přejít k hlavnímu obsahu

Jak porovnat hodnoty oddělené čárkami ve dvou buňkách a vrátit duplicitní nebo jedinečné hodnoty v aplikaci Excel?

Jak je znázorněno na obrázku níže, existují dva sloupce – Sloupec1 a Sloupec2, každá buňka ve sloupci obsahuje čísla oddělená čárkami. Co můžete udělat, chcete-li porovnat čísla oddělená čárkami ve Sloupec1 s obsahem buňky ve stejném řádku Sloupec2 a vrátit všechny duplicitní nebo jedinečné hodnoty?

Tento kurz poskytuje dvě metody, které vám pomohou tento úkol splnit.


Porovnejte hodnoty oddělené čárkami ve dvou buňkách a vraťte duplicitní nebo jedinečné hodnoty pomocí vzorců

Tato část obsahuje dva vzorce, které vám pomohou porovnat hodnoty oddělené čárkami ve dvou buňkách a vrátit mezi nimi duplicitní nebo jedinečné hodnoty.

Poznámka: Následující vzorce fungují pouze v Excel pro 365. Pokud používáte jiné verze aplikace Excel, zkuste použít níže uvedenou metodu VBA.

Vezměte si dva výše uvedené sloupce jako příklad, chcete-li porovnat čísla oddělená čárkami ve sloupci 1 s čísly oddělenými čárkami ve stejném řádku sloupce 2 a vrátit duplicitní nebo jedinečné hodnoty, postupujte následovně.

Vrátit duplicitní hodnoty

1. Vyberte buňku pro výstup duplicitních čísel mezi dvěma určenými buňkami s čísly oddělenými čárkami, v tomto případě vyberu buňku D2, poté zadejte vzorec níže a stiskněte klávesu vstoupit klíč. Vyberte buňku vzorce a přetáhněte ji Rukojeť automatického vyplňování dolů, abyste získali duplicitní čísla mezi buňkami v ostatních řádcích.

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))

Vrátí jedinečné hodnoty

Chcete-li vrátit jedinečná čísla mezi dvěma určenými buňkami s čísly oddělenými čárkami ve stejném řádku, může vám pomoci následující vzorec.

1. Vyberte buňku pro výstup jedinečných čísel, v tomto případě vyberu buňku E2, poté zadejte vzorec níže a stiskněte vstoupit klíč. Vyberte buňku vzorce a přetáhněte ji Rukojeť automatického vyplňování dolů, abyste získali jedinečná čísla mezi buňkami v ostatních řádcích.

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

Poznámky:

1) Výše ​​uvedené dva vzorce lze použít pouze v Excelu pro 365. Pokud používáte jinou verzi Excelu než Excel pro 365, vyzkoušejte prosím následující metodu VBA.
2) Porovnávané buňky musí být vedle sebe ve stejném řádku nebo sloupci.

Porovnejte dva sloupce s hodnotami oddělenými čárkami a vraťte duplicitní nebo jedinečné hodnoty pomocí jazyka VBA

Uživatelsky definovaná funkce uvedená v této části pomáhá porovnat hodnoty oddělené čárkami ve dvou určených buňkách a vrátit mezi nimi duplicitní hodnoty nebo jedinečné hodnoty. Postupujte prosím následovně.

Vezměte stejný příklad jako výše, chcete-li porovnat čísla oddělená čárkami ve sloupci1 s čísly oddělenými čárkami ve stejném řádku sloupce2 a vrátit duplicitní nebo jedinečné hodnoty, vyzkoušejte uživatelsky definovanou funkci v této části.

1. V otevíracím sešitu stiskněte tlačítko Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modula zkopírujte následující kód VBA do souboru Modul (kód) okno.

Kód VBA: Porovnejte hodnoty oddělené čárkami ve dvou buňkách a vraťte duplicitní/jedinečné hodnoty

Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
    Dim R1Arr As Variant
    Dim R2Arr As Variant
    Dim Ans1 As String
    Dim Ans2 As String
    Dim Separator As String
    Dim d1 As New Dictionary
    Dim d2 As New Dictionary
    Dim d3 As New Dictionary
    Application.Volatile

    Separator = ", "
    
    R1Arr = Split(Rng1.Value, Separator)
    R2Arr = Split(Rng2.Value, Separator)
    
    Ans1 = ""
    Ans2 = ""
    
    For Each ch In R2Arr
        If Not d2.Exists(ch) Then
            d2.Add ch, "1"
        End If
    Next
    
    If Op Then
        For Each ch In R1Arr
            If d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans1 = Ans1 & ch & Separator
                End If
            End If
        Next
        If Ans1 <> "" Then
            Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
        End If
        COMPARE = Ans1
    Else
        For Each ch In R1Arr
            If Not d1.Exists(ch) Then
                d1.Add ch, "1"
            End If
        Next
        
        For Each ch In R1Arr
            If Not d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        For Each ch In R2Arr
            If Not d1.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        If Ans2 <> "" Then
            Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
        End If
        COMPARE = Ans2
    End If

End Function

3. Po vložení kódu do Modul (kód) okno, přejděte ke kliknutí Tools > Reference k otevření Reference - VBAProject okno, zkontrolujte Microsoft Scripting Runtime a potom klepněte na tlačítko OK .

4. zmáčkni Další + Q klávesy pro zavření Microsoft Visual Basic pro aplikace okno.

5. Nyní musíte použít dvě funkce samostatně, abyste vrátili duplicitní a jedinečné hodnoty ze dvou buněk s hodnotami oddělenými čárkami.

Vrátit duplicitní hodnotu

Vyberte buňku pro výstup duplicitních čísel, v tomto příkladu vyberu buňku D2, poté zadejte vzorec níže a stiskněte klávesu vstoupit k získání duplicitních čísel mezi buňkami A2 a B2.

Vyberte buňku vzorce a přetáhněte její úchyt automatického vyplňování dolů, abyste získali duplicitní čísla mezi buňkami v ostatních řádcích.

=COMPARE(A2,B2,TRUE)

Vrátí jedinečné hodnoty

Vyberte buňku pro výstup jedinečných čísel, v tomto příkladu vyberu buňku E2, poté zadejte vzorec níže a stiskněte klávesu vstoupit klíč k získání jedinečných čísel mezi buňkami A2 a B2.

Vyberte buňku vzorce a přetáhněte její úchyt automatického vyplňování dolů, abyste získali jedinečná čísla mezi buňkami v ostatních řádcích.

=COMPARE(A2,B2,FALSE)

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

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...

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 snižuje stovky kliknutí myší každý den!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations