Come confrontare due colonne in Excel utilizzando VLOOKUP

  • Condividi Questo
Michael Brown

L'esercitazione mostra come utilizzare la formula VLOOKUP in Excel per confrontare due colonne e ottenere valori comuni (corrispondenze) o trovare dati mancanti (differenze).

Quando si dispone di dati in due elenchi diversi, spesso è necessario confrontarli per vedere quali informazioni mancano in uno degli elenchi o quali dati sono presenti in entrambi. Il confronto può essere effettuato in molti modi diversi: il metodo da utilizzare dipende esattamente da ciò che si vuole ottenere.

    Come confrontare due colonne in Excel utilizzando VLOOKUP

    Quando si dispone di due colonne di dati e si desidera scoprire quali punti di dati di un elenco sono presenti nell'altro elenco, è possibile utilizzare la funzione VLOOKUP per confrontare gli elenchi alla ricerca di valori comuni.

    Per costruire una formula VLOOKUP nella sua forma di base, è necessario procedere in questo modo:

    • Per valore_di_ricerca (1° argomento), utilizza la cella più in alto dell'Elenco 1.
    • Per tabella_array (secondo argomento), fornire l'intero elenco 2.
    • Per col_index_num (terzo argomento), utilizzare 1 poiché c'è solo una colonna nell'array.
    • Per ricerca_intervallo (quarto argomento), impostare FALSE - corrispondenza esatta.

    Supponiamo di avere i nomi dei partecipanti nella colonna A (Elenco 1) e i nomi di coloro che hanno superato i turni di qualificazione nella colonna B (Elenco 2). Si desidera confrontare questi due elenchi per determinare quali partecipanti del gruppo A sono arrivati all'evento principale. Per farlo, utilizzare la seguente formula.

    =VLOOKUP(A2, $C$2:$C$9, 1, FALSE)

    La formula va nella cella E2, quindi viene trascinata verso il basso in tante celle quanti sono gli elementi dell'Elenco 1.

    Si noti che tabella_array è bloccato con riferimenti assoluti ($C$2:$C$9) in modo che rimanga costante quando si copia la formula nelle celle successive.

    Come si può notare, i nomi degli atleti qualificati compaiono nella colonna E. Per i restanti partecipanti, compare un errore #N/A che indica che i loro nomi non sono disponibili nell'Elenco 2.

    Errori di travestimento #N/A

    La formula VLOOKUP discussa in precedenza soddisfa perfettamente il suo obiettivo principale: restituire valori comuni e identificare i punti di dati mancanti. Tuttavia, fornisce un gruppo di errori #N/A, che possono confondere gli utenti inesperti facendo loro pensare che ci sia qualcosa di sbagliato nella formula.

    Per sostituire gli errori con celle vuote , utilizzare VLOOKUP in combinazione con la funzione IFNA o IFERROR in questo modo:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")

    La nostra formula migliorata restituisce una stringa vuota ("") invece di #N/A. È anche possibile restituire la propria formula testo personalizzato come "Non nell'elenco 2", "Non presente" o "Non disponibile". Ad esempio:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "Non nell'elenco 2")

    Questa è la formula VLOOKUP di base per confrontare due colonne in Excel. A seconda dell'attività specifica, può essere modificata come illustrato in altri esempi.

    Confrontare due colonne in diversi fogli Excel utilizzando VLOOKUP

    Nella vita reale, le colonne da confrontare non si trovano sempre nello stesso foglio. In un piccolo insieme di dati, si può provare a individuare le differenze manualmente visualizzando due fogli affiancati.

    Per cercare in un altro foglio di lavoro o in un'altra cartella di lavoro con le formule, è necessario utilizzare un riferimento esterno. La pratica migliore è iniziare a digitare la formula nel foglio principale, quindi passare all'altro foglio di lavoro e selezionare l'elenco con il mouse: alla formula verrà aggiunto automaticamente un riferimento all'intervallo appropriato.

    Supponendo che l'Elenco 1 sia nella colonna A di Foglio1 e la lista 2 è nella colonna A di Foglio2 è possibile confrontare due colonne e trovare le corrispondenze utilizzando questa formula:

    =IFNA(VLOOKUP(A2, Foglio2!$A$2:$A$9, 1, FALSE), "")

    Per ulteriori informazioni, consultare il sito:

    • VLOOKUP da un altro foglio
    • VLOOKUP da una cartella di lavoro diversa

    Confronta due colonne e restituisce valori comuni (corrispondenze)

    Negli esempi precedenti abbiamo discusso una formula VLOOKUP nella sua forma più semplice:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")

    Il risultato della formula è un elenco di valori presenti in entrambe le colonne e celle vuote al posto dei valori non disponibili nella seconda colonna.

    Per ottenere un elenco di valori comuni senza spazi vuoti, basta aggiungere un filtro automatico alla colonna risultante e filtrare gli spazi vuoti.

    In Excel per Microsoft 365 e in Excel 2021 che supportano gli array dinamici, è possibile utilizzare la funzione FILTRO per eliminare gli spazi vuoti in modo dinamico. A tale scopo, utilizzare la formula IFNA VLOOKUP come criterio per FILTRO:

    =FILTRO(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")")

    Si prega di prestare attenzione al fatto che in questo caso forniamo l'intero Elenco 1 (A2:A14) al valore_di_ricerca di VLOOKUP. La funzione confronta ciascuno dei valori di ricerca con l'Elenco 2 (C2:C9) e restituisce una matrice di corrispondenze e di errori #N/A che rappresentano i valori mancanti. La funzione IFNA sostituisce gli errori con stringhe vuote e serve i risultati alla funzione FILTRO, che filtra gli spazi vuoti ("") e restituisce una matrice di corrispondenze come risultato finale.

    In alternativa, è possibile utilizzare la funzione ISNA per controllare il risultato di VLOOKUP e filtrare gli elementi che hanno un valore FALSO, ovvero i valori diversi dagli errori #N/A:

    =FILTRO(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE))=FALSE)

    Lo stesso risultato può essere ottenuto con la funzione XLOOKUP, che rende la formula ancora più semplice. Grazie alla capacità di XLOOKUP di gestire internamente gli errori #N/A (opzionale se_non_trovato ), possiamo fare a meno dell'involucro IFNA o ISNA:

    =FILTRO(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")")

    Confrontare due colonne e trovare i valori mancanti (differenze)

    Per confrontare 2 colonne in Excel e trovare le differenze, si può procedere in questo modo:

    1. Scrivete la formula centrale per cercare il primo valore dell'Elenco 1 (A2) nell'Elenco 2 ($C$2:$C$9):

      VLOOKUP(A2, $C$2:$C$9, 1, FALSE)

    2. Nestate la formula di cui sopra nella funzione ISNA per verificare la presenza di errori #N/A nell'output del VLOOKUP. In caso di errore, ISNA restituisce VERO, altrimenti FALSO:

      ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE))

    3. Utilizzare la formula ISNA VLOOKUP per il test logico della funzione IF. Se il test ha esito VERO (errore #N/A), restituire un valore dell'Elenco 1 nella stessa riga. Se il test ha esito FALSO (viene trovata una corrispondenza nell'Elenco 2), restituire una stringa vuota.

    La formula completa ha questa forma:

    =IF(ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE)), A2, "")

    Per eliminare gli spazi vuoti, applicare il filtro di Excel come mostrato nell'esempio precedente.

    In Excel 365 e Excel 2021, è possibile filtrare dinamicamente l'elenco dei risultati. A tal fine, è sufficiente inserire la formula VLOOKUP ISNA nell'elemento includere della funzione FILTER:

    =FILTRO(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSO))

    Un altro modo è quello di utilizzare XLOOKUP per i criteri - la funzione restituisce stringhe vuote ("") per i punti di dati mancanti, e si filtrano i valori dell'Elenco 1 per i quali XLOOKUP ha restituito stringhe vuote (=""):

    =FILTRO(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")="")

    Formula VLOOKUP per identificare le corrispondenze e le differenze tra due colonne

    Se si desidera aggiungere etichette di testo al primo elenco che indichino quali valori sono disponibili nel secondo elenco e quali no, utilizzare la formula VLOOKUP insieme alle funzioni IF e ISNA/ISERROR.

    Ad esempio, per identificare i nomi presenti in entrambe le colonne A e D e quelli presenti solo nella colonna A, la formula è:

    =IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Non qualificato", "Qualificato")

    In questo caso, la funzione ISNA cattura gli errori #N/A generati da VLOOKUP e passa questo risultato intermedio alla funzione IF per restituire il testo specificato per gli errori e un altro testo per le ricerche riuscite.

    In questo esempio, abbiamo utilizzato le etichette "Non qualificato"/"Qualificato", che sono adatte al nostro set di dati di esempio. È possibile sostituirle con "Non nell'elenco 2"/"Nell'elenco 2", "Non disponibile"/"Disponibile" o qualsiasi altra etichetta ritenuta adatta.

    Questa formula va inserita in una colonna adiacente all'Elenco 1 e copiata in tante celle quanti sono gli elementi dell'elenco.

    Un altro modo per identificare le corrispondenze e le differenze in due colonne è utilizzare la funzione MATCH:

    =IF(ISNA(MATCH(A2, $D$2:$D$9, 0)), "Non nell'elenco 2", "Nell'elenco 2")

    Confronta 2 colonne e restituisce un valore dalla terza

    Quando si lavora con tabelle contenenti dati correlati, a volte è necessario confrontare due colonne di due tabelle diverse e restituire un valore corrispondente da un'altra colonna. In effetti, questo è l'uso principale della funzione VLOOKUP, lo scopo per cui è stata progettata.

    Ad esempio, per confrontare i nomi nelle colonne A e D delle due tabelle seguenti e restituire un tempo dalla colonna E, la formula è:

    =VLOOKUP(A3, $D$3:$E$10, 2, FALSE)

    Per nascondere gli errori #N/A, utilizzate la soluzione collaudata: la funzione IFNA:

    =IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "")

    Al posto degli spazi vuoti, è possibile restituire qualsiasi testo desiderato per i punti di dati mancanti, basta digitarlo nell'ultimo argomento. Ad esempio:

    =IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "Non disponibile")

    Oltre a VLOOKUP, il compito può essere svolto con alcune altre funzioni di ricerca.

    Personalmente, mi affiderei a una formula più flessibile di INDEX MATCH:

    =IFNA(INDEX($E$3:$E$10, MATCH(A3, $D$3:$D$10, 0)), "")

    Oppure utilizzate il moderno successore di VLOOKUP, la funzione XLOOKUP, disponibile in Excel 365 e Excel 2021:

    =XLOOKUP(A3, $D$3:$D$10, $E$3:$E$10, "")

    Per ottenere i nomi dei partecipanti qualificati del gruppo A e i relativi risultati, è sufficiente filtrare le celle vuote della colonna B:

    =FILTRO(A3:B15, B3:B15"")

    Strumenti di confronto

    Se fate spesso confronti di file o di dati in Excel, questi strumenti intelligenti inclusi nella nostra Ultimate Suite possono farvi risparmiare immensamente tempo!

    Confronta tabelle - metodo rapido per trovare duplicati (corrispondenze) e valori unici (differenze) in due set di dati quali colonne, elenchi o tabelle.

    Confronta due fogli: trova ed evidenzia le differenze tra due fogli di lavoro.

    Confronta più fogli: trova ed evidenzia le differenze in più fogli contemporaneamente.

    Eserciziario da scaricare

    VLOOKUP in Excel per confrontare colonne - esempi (file .xlsx)

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.