Vai al contenuto principale

Come confrontare i valori separati da virgole in due celle e restituire valori duplicati o univoci in Excel?

Come mostrato nello screenshot qui sotto, ci sono due colonne: Colonna1 e Colonna2, ogni cella nella colonna contiene numeri separati da virgole. Per confrontare i numeri separati da virgola in Colonna1 con il contenuto della cella nella stessa riga di Colonna2 e restituire tutti i valori duplicati o univoci, cosa potresti fare?

Questo tutorial fornisce due metodi per aiutarti a svolgere questa attività.


Confronta i valori separati da virgole in due celle e restituisci valori duplicati o univoci con le formule

Questa sezione fornisce due formule per confrontare i valori separati da virgola in due celle e restituire i valori duplicati o univoci tra di loro.

Note:: Le seguenti formule funzionano solo in Excel per 365. Se utilizzi altre versioni di Excel, prova a utilizzare il metodo VBA di seguito.

Prendi le due colonne precedenti come esempio, per confrontare i numeri separati da virgola in Colonna1 con i numeri separati da virgola nella stessa riga di Colonna2 e restituire valori duplicati o univoci, procedi come segue.

Restituisce valori duplicati

1. Seleziona una cella per produrre i numeri duplicati tra le due celle specificate con numeri separati da virgola, in questo caso, seleziono la cella D2, quindi inserisci la formula di seguito e premi il tasto entrare chiave. Seleziona la cella della formula e trascinala Maniglia di riempimento automatico verso il basso per ottenere i numeri duplicati tra le celle nelle altre righe.

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

Restituisce valori univoci

Per restituire i numeri univoci tra le due celle specificate con numeri separati da virgole nella stessa riga, la seguente formula può essere d'aiuto.

1. Seleziona una cella per produrre i numeri univoci, in questo caso, seleziono la cella E2, quindi inserisci la formula di seguito e premi il tasto entrare chiave. Seleziona la cella della formula e trascinala Maniglia di riempimento automatico verso il basso per ottenere i numeri univoci tra le celle nelle altre righe.

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

Note:

1) Le due formule precedenti possono essere applicate solo in Excel per 365. Se si utilizza una versione di Excel diversa da Excel per 365, provare il seguente metodo VBA.
2) Le celle da confrontare devono essere adiacenti l'una all'altra nella stessa riga o colonna.

Confronta due colonne con valori separati da virgole e restituisci valori duplicati o univoci con VBA

La funzione definita dall'utente fornita in questa sezione consente di confrontare i valori separati da virgole in due celle specificate e restituire i valori duplicati o i valori univoci tra di loro. Si prega di fare quanto segue.

Prendi lo stesso esempio di cui sopra, per confrontare i numeri separati da virgola in Colonna1 con i numeri separati da virgola nella stessa riga di Colonna2 e restituire valori duplicati o univoci, prova la funzione definita dall'utente in questa sezione.

1. Nella cartella di lavoro di apertura, premere il altro + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulie copia il seguente codice VBA nel file Modulo (codice) finestra.

Codice VBA: confronta i valori separati da virgola in due celle e restituisce valori duplicati/unici

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. Dopo aver incollato il codice nel file Modulo (codice) finestra, vai a fare clic Strumenti > Riferimenti per aprire il Riferimenti - VBAProject finestra, controlla il file Runtime di script Microsoft casella e quindi fare clic su OK pulsante.

4. premi il altro + Q i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.

5. Ora è necessario applicare due funzioni separatamente per restituire i valori duplicati e univoci da due celle con valori separati da virgola.

Restituisce un valore duplicato

Seleziona una cella per produrre i numeri duplicati, in questo esempio, seleziono la cella D2, quindi inserisci la formula qui sotto e premi il entrare chiave per ottenere i numeri duplicati tra le celle A2 e B2.

Seleziona la cella della formula e trascina verso il basso la sua maniglia di riempimento automatico per ottenere i numeri duplicati tra le celle nelle altre righe.

=COMPARE(A2,B2,TRUE)

Restituisce valori univoci

Selezionare una cella per produrre i numeri univoci, in questo esempio, seleziono la cella E2, quindi inserisco la formula sottostante e premo il entrare chiave per ottenere i numeri univoci tra le celle A2 e B2.

Seleziona la cella della formula e trascina verso il basso la sua maniglia di riempimento automatico per ottenere i numeri univoci tra le celle nelle altre righe.

=COMPARE(A2,B2,FALSE)

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
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