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

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ší 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-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné 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 snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (0)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
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í

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL