Skip to main content

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

Author: Siluvia Last Modified: 2025-05-30

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

Questa guida fornisce due metodi per aiutarti a completare questa operazione.

compare comma separated values in two cells


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

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

Nota: Le seguenti formule funzionano solo in Excel per 365. Se stai utilizzando altre versioni di Excel, prova a usare il metodo VBA qui sotto.

Prendendo le due colonne sopra come esempio, per confrontare i numeri separati da virgole nella Colonna1 con i numeri separati da virgole nella stessa riga della Colonna2 e restituire valori duplicati o univoci, procedi nel seguente modo.

sample data

Restituisci valori duplicati

1. Seleziona una cella per visualizzare i numeri duplicati tra le due celle specificate con numeri separati da virgole; in questo caso, seleziono la cella D2, quindi inserisci la formula sottostante e premi il tasto Invio. Seleziona la cella della formula e trascina la 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, "")))

 compare to return duplicate values

Restituisci 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 visualizzare i numeri univoci; in questo caso, seleziono la cella E2, quindi inserisci la formula sottostante e premi il tasto Invio. Seleziona la cella della formula e trascina la 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))

compare to return unique values

Note:

1) Le due formule sopra possono essere applicate solo in Excel per 365. Se stai utilizzando una versione di Excel diversa da Excel per 365, prova il seguente metodo VBA.
2) Le celle da confrontare devono essere adiacenti tra loro nella stessa riga o colonna.
a screenshot of kutools for excel ai

Sblocca la Magia di Excel con Kutools AI

  • Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
  • Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
  • Interpretazione delle Formule: Comprendi facilmente formule complesse.
  • Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

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

La funzione definita dall'utente fornita in questa sezione aiuta a confrontare i valori separati da virgole in due celle specificate e restituire i valori duplicati o univoci tra di loro. Procedi nel seguente modo.

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

 sample data

1. Nella cartella di lavoro aperta, premi i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Nella finestra Microsoft Visual Basic for Applications, clicca su Inserisci > Modulo, e copia il seguente codice VBA nella finestra Modulo (Codice).

 copy anf paste the code into the module

Codice VBA: Confronta i valori separati da virgole in due celle e restituisce valori duplicati/univoci

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 nella finestra Modulo (Codice), vai su Strumenti > Riferimenti per aprire la finestra Riferimenti – VBAProject, spunta la casella Microsoft Scripting Runtime e poi clicca sul pulsante OK.

 click Tools > References and check Microsoft Scripting Runtime box

4. Premi i tasti Alt + Q per chiudere la finestra Microsoft Visual Basic for Applications.

5. Ora devi applicare due funzioni separatamente per restituire i valori duplicati e univoci da due celle con valori separati da virgole.

Restituisci valore duplicato

Seleziona una cella per visualizzare i numeri duplicati; in questo esempio, seleziono la cella D2, quindi inserisci la formula sottostante e premi il tasto Invio per ottenere i numeri duplicati tra la cella A2 e B2.

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

=COMPARE(A2,B2,TRUE)

 use formula to return duplicate value

Restituisci valori univoci

Seleziona una cella per visualizzare i numeri univoci; in questo esempio, seleziono la cella E2, quindi inserisci la formula sottostante e premi il tasto Invio per ottenere i numeri univoci tra la cella A2 e B2.

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

=COMPARE(A2,B2,FALSE)

 use formula to return unique value

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l'analisi dei dati grazie a: Esecuzione Intelligente | Genera Codice | Crea Formule Personalizzate | Analizza Dati e Genera Grafici | Richiama Funzioni avanzate di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • 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, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!