Come trovare i valori comuni presenti in tre colonne di Excel?
Lavorare con i dati in Excel spesso richiede il confronto tra elenchi per individuare voci condivise o duplicate. Sebbene sia comune confrontare due colonne per trovare valori in comune, in alcuni casi è necessario identificare quali elementi compaiono contemporaneamente in tre colonne distinte. Ad esempio, durante la consolidazione di dati provenienti da sondaggi, l’unione di registrazioni di vendita o l’analisi di duplicati su più elenchi, è essenziale estrarre con precisione l’insieme degli elementi presenti in tutte e tre le colonne, come mostrato nell’immagine seguente. Questo articolo ti presenta diversi metodi pratici per risolvere questo problema in Excel, permettendoti di individuare in modo efficiente e affidabile i valori comuni tra tre colonne, sia che tu preferisca usare formule che VBA.

Trova i valori comuni in 3 colonne con formule matriciali
Macro VBA per estrarre i valori presenti in tutte e tre le colonne
Trova i valori comuni in 3 colonne con formule matriciali
Per trovare ed estrarre i valori comuni tra tre colonne, puoi utilizzare formule matriciali appositamente progettate per individuare gli elementi presenti in tutti e tre gli intervalli selezionati. Questo approccio è ideale se preferisci evitare componenti aggiuntivi di Excel o strumenti esterni.
Inserisci questa formula matriciale in una cella vuota in cui desideri visualizzare il primo valore comune:
=LOOKUP("zzz",CHOOSE({1,2},"",INDEX(A$2:A$10,MATCH(0,COUNTIF(E$1:E1,A$2:A$10)+IF(IF(COUNTIF(B$2:B$8,A$2:A$10)>0,1,0)+IF(COUNTIF(C$2:C$9,A$2:A$10)>0,1,0)=2,0,1),0)))) Come utilizzare questa formula matriciale:
- Dopo aver inserito la formula nella cella selezionata, premi Maiusc + Ctrl + Invio (non semplicemente Invio). Excel racchiuderà automaticamente la formula tra parentesi graffe per indicare che si tratta di una formula matriciale.
- Trascina la formula lungo la colonna finché non compaiono celle vuote: in questo modo verranno elencati tutti i valori condivisi dalle tre colonne, e le celle vuote indicheranno l’assenza di ulteriori corrispondenze.

Note e spiegazioni dei parametri:
- Se preferisci un’altra formula matriciale, anche questa restituisce tutti i valori univoci presenti nelle tre colonne:
Ricorda nuovamente di premere Maiusc + Ctrl + Invio dopo aver digitato o incollato la formula.=INDEX($A$2:$A$10, MATCH(0, COUNTIF($E$1:E1, $A$2:$A$10)+IF(IF(COUNTIF($B$2:$B$8, $A$2:$A$10)>0,1,0)+IF(COUNTIF($C$2:$C$9, $A$2:$A$10)>0,1,0)=2,0,1),0)) - Nelle seguenti formule:
- A2:A10, B2:B8 e C2:C9 sono gli intervalli nelle tre colonne che desideri confrontare.
- E1 si riferisce alla cella immediatamente sopra il punto in cui inserisci la tua formula (in base alla logica di esclusione). Modifica i riferimenti di cella in modo che corrispondano al tuo effettivo intervallo e alla posizione in cui desideri visualizzare i risultati.
- Questi metodi funzionano bene con set di dati di dimensioni moderate, ma possono rallentare con volumi molto elevati a causa dell’elevato carico computazionale delle formule matriciali.
- Fai attenzione a non modificare l’intervallo di origine a metà operazione, poiché potrebbe causare risultati imprecisi o errori nella formula.
- Se il risultato include righe vuote, significa che sono stati estratti tutti i valori comuni e le celle rimanenti non contengono ulteriori intersezioni.

Sblocca la magia di Excel con KUTOOLS AI
- Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
- Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
- Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
- Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
- Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Macro VBA per estrarre i valori presenti in tutte e tre le colonne
Se preferisci un approccio automatizzato che non richieda di inserire o copiare formule complesse, puoi sfruttare VBA in Excel per analizzare i tuoi dati e visualizzare esclusivamente i valori presenti in ciascuna delle tre colonne. Questo metodo si rivela particolarmente efficace con set di dati molto grandi o quando lavori con intervalli dinamici, grazie alla capacità di VBA di gestire in modo più efficiente attività ripetitive e criteri personalizzati.
1. Fai clic su Sviluppo > Visual Basicper aprire l’editor VBA (se la scheda)Sviluppo non è visibile, puoi abilitarla tramite File > Opzioni > Personalizza Barra multifunzione).
2. Nell’editor VBA, fai clic su Inserisci > Modulo per creare un nuovo modulo. Incolla quindi il codice riportato di seguito nella finestra del modulo:
Sub FindCommonValuesThreeColumns()
Dim dict1 As Object
Dim dict2 As Object
Dim dict3 As Object
Dim resultDict As Object
Dim rngA As Range
Dim rngB As Range
Dim rngC As Range
Dim cell As Range
Dim outputRow As Long
Dim key As Variant
On Error Resume Next
Set dict1 = CreateObject("Scripting.Dictionary")
Set dict2 = CreateObject("Scripting.Dictionary")
Set dict3 = CreateObject("Scripting.Dictionary")
Set resultDict = CreateObject("Scripting.Dictionary")
' Prompt the user to select the three column ranges
Set rngA = Application.InputBox("Select the first column range", "KutoolsforExcel", Selection.Address, Type:=8)
Set rngB = Application.InputBox("Select the second column range", "KutoolsforExcel", Selection.Address, Type:=8)
Set rngC = Application.InputBox("Select the third column range", "KutoolsforExcel", Selection.Address, Type:=8)
' Store all unique values from each column into corresponding dictionaries
For Each cell In rngA
If Not dict1.exists(cell.Value) And cell.Value <> "" Then
dict1.Add cell.Value, 1
End If
Next
For Each cell In rngB
If Not dict2.exists(cell.Value) And cell.Value <> "" Then
dict2.Add cell.Value, 1
End If
Next
For Each cell In rngC
If Not dict3.exists(cell.Value) And cell.Value <> "" Then
dict3.Add cell.Value, 1
End If
Next
' Check which values exist in all three dictionaries
For Each key In dict1.keys
If dict2.exists(key) And dict3.exists(key) Then
resultDict.Add key, 1
End If
Next
' Output result to next empty column on the active sheet
outputRow = 1
For Each key In resultDict.keys
Cells(outputRow, Columns.Count).End(xlToLeft).Offset(0, 1).Value = key
outputRow = outputRow + 1
Next
MsgBox "Common values extracted next to your data.", vbInformation, "KutoolsforExcel"
End Sub 3. Nella finestra VBA, con il modulo selezionato, premi F5 oppure fai clic sul pulsante Esegui (▶) per eseguire il codice. Ti verrà chiesto, in sequenza, di selezionare ciascuno dei tre intervalli di colonne che desideri confrontare. Utilizza il mouse per evidenziare le celle appropriate a ogni richiesta.
4. La macro elaborerà le tue selezioni e mostrerà tutti i valori presenti nelle tre colonne nella prima colonna vuota a destra del tuo set di dati corrente, a partire dalla prima riga.
Questo metodo si rivela particolarmente efficiente quando si lavora con set di dati grandi o dinamici e può essere facilmente esteso a quattro o più colonne replicando la logica basata sui dizionari. Ricorda sempre di salvare la cartella di lavoro prima di eseguire le macro: in caso di ripristino, infatti, le modifiche non salvate non potranno essere annullate.
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità 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 all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi