Sommario
Oggi vedremo come utilizzare VLOOKUP in Excel con molti esempi dettagliati passo dopo passo. Imparerete a fare Vlookup da un altro foglio e da un'altra cartella di lavoro, a cercare con i caratteri jolly e molto altro ancora.
Questo articolo inizia una serie di riflessioni su VLOOKUP, una delle funzioni più utili di Excel e allo stesso tempo una delle più complesse e meno comprese. Cercheremo di spiegarne le basi con un linguaggio molto semplice, in modo da rendere il più facile possibile la curva di apprendimento per un utente inesperto. Forniremo anche esempi di formule che coprono gli usi più tipici di VLOOKUP in Excel, e cercheremo di rendere più chiaro il significato di VLOOKUP.informativo e divertente.
Funzione VLOOKUP di Excel
Che cos'è VLOOKUP? Per cominciare, è una funzione di Excel :) Che cosa fa? Cerca il valore specificato dall'utente e restituisce un valore corrispondente da un'altra colonna. Più tecnicamente, la funzione VLOOKUP cerca un valore nella prima colonna di un determinato intervallo e restituisce un valore nella stessa riga da un'altra colonna.
Nell'uso comune, Excel VLOOKUP cerca nel set di dati in base all'identificatore univoco e riporta le informazioni associate a quell'identificatore univoco.
La lettera "V" sta per "verticale" e serve a differenziare VLOOKUP dalla funzione HLOOKUP che cerca un valore in una riga anziché in una colonna (H sta per "orizzontale").
La funzione è disponibile in tutte le versioni di Excel 365 fino a Excel 2007.
Suggerimento: in Excel 365 e Excel 2021 è possibile utilizzare la funzione XLOOKUP, un successore più flessibile e potente di VLOOKUP.
Sintassi VLOOKUP
La sintassi della funzione VLOOKUP è la seguente:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])Dove:
- Valore_di_ricerca (obbligatorio) - è il valore da cercare.
Può trattarsi di un valore (numero, data o testo), di un riferimento di cella (riferimento a una cella contenente un valore di ricerca) o del valore restituito da un'altra funzione. A differenza dei numeri e dei riferimenti di cella, i valori di testo devono sempre essere racchiusi tra "doppi apici".
- Tabella_array (obbligatorio) - è l'intervallo di celle in cui cercare il valore di ricerca e da cui recuperare una corrispondenza. Il parametro La funzione VLOOKUP cerca sempre nella prima colonna dell'array della tabella che possono contenere vari valori di testo, numeri, date e valori logici.
- Numero_colonna_indice (obbligatorio) - è il numero della colonna da cui restituire un valore. Il conteggio inizia dalla colonna più a sinistra dell'array della tabella, che è 1.
- Ricerca_intervallo (opzionale) - determina se cercare una corrispondenza approssimativa o esatta:
- TRUE o omesso (valore predefinito) - corrispondenza approssimativa. Se non viene trovata una corrispondenza esatta, la formula cerca il valore più grande che è più piccolo del valore di ricerca. Richiede l'ordinamento della colonna di ricerca in ordine crescente.
- FALSE - corrispondenza esatta. La formula cerca un valore esattamente uguale al valore di ricerca. Se non viene trovata una corrispondenza esatta, viene restituito un valore #N/A.
Formula VLOOKUP di base
Ecco un esempio della formula VLOOKUP di Excel nella sua forma più semplice. Date un'occhiata alla formula seguente e cercate di "tradurla" in inglese:
=VLOOKUP("leone", A2:B11, 2, FALSE)
- Il primo argomento ( valore_di_ricerca ) indica chiaramente che la formula cerca la parola "leone".
- Il secondo argomento ( tabella_array ) è A2:B11. Tenendo presente che la ricerca viene eseguita nella colonna più a sinistra, si può leggere la formula precedente un po' più in là: cercare "leone" nell'intervallo A2:A11. Fin qui tutto bene, no?
- Il 3° argomento col_index_num è 2. Ciò significa che vogliamo restituire un valore corrispondente dalla colonna B, che è la seconda nell'array della tabella.
- Il quarto argomento ricerca_intervallo è FALSO, il che indica che stiamo cercando una corrispondenza esatta.
Con tutti gli argomenti stabiliti, non dovrebbe essere un problema leggere l'intera formula: cercare "leone" in A2:A11, trovare una corrispondenza esatta e restituire un valore dalla colonna B della stessa riga.
Per comodità, è possibile digitare il valore di interesse in una cella, ad esempio E1, sostituire il testo "hardcoded" con il riferimento alla cella e far sì che la formula cerchi qualsiasi valore inserito in E1:
=VLOOKUP(E1, A2:B11, 2, FALSE)
C'è qualcosa che non vi è chiaro? Allora provate a vederla in questo modo:
Come eseguire un Vlookup in Excel
Quando si utilizzano le formule VLOOKUP in fogli di lavoro reali, la regola principale è la seguente: array di tabelle di blocco con riferimenti assoluti alla cella (come $A$2:$C$11) per evitare che cambi quando si copia una formula in altre celle.
Il valore di ricerca nella maggior parte dei casi dovrebbe essere un riferimento relativo (come E2) oppure si può bloccare solo la coordinata della colonna ($E2). Quando la formula viene copiata lungo la colonna, il riferimento si adatta automaticamente a ogni riga.
Per vedere come funziona in pratica, considerate il seguente esempio. Alla nostra tabella di esempio, abbiamo aggiunto un'altra colonna che classifica gli animali in base alla velocità (colonna A) e vogliamo trovare il 1°, il 5° e il 10° velocista più veloce del mondo. A tale scopo, inserite i ranghi di ricerca in alcune celle (E2:E4 nella schermata sottostante) e utilizzate le formule seguenti:
Per estrarre i nomi degli animali dalla colonna B:
=VLOOKUP($E2, $A$2:$C$11, 2, FALSE)
Estrarre la velocità dalla colonna C:
=VLOOKUP($E2, $A$2:$C$11, 3, FALSE)
Inserite le formule di cui sopra nelle celle F2 e G2, selezionate le celle e trascinate le formule nelle righe sottostanti:
Se si esamina la formula in una riga inferiore, si noterà che il riferimento al valore di ricerca è stato modificato per quella riga specifica, mentre la matrice della tabella è rimasta invariata:
Di seguito sono riportati alcuni consigli utili che vi faranno risparmiare un sacco di mal di testa e di tempo per la risoluzione dei problemi.
Excel VLOOKUP - 5 cose da ricordare!
- La funzione VLOOKUP non può guardare alla sua sinistra Cerca sempre nella colonna più a sinistra della matrice della tabella e restituisce un valore da una colonna a destra. Se è necessario estrarre i valori da sinistra, utilizzare la combinazione INDEX MATCH (o INDEX XMATCH in Excel 365) che non si preoccupa del posizionamento delle colonne di ricerca e di restituzione.
- La funzione VLOOKUP non fa distinzione tra maiuscole e minuscole. Per distinguere le lettere, utilizzare formule VLOOKUP sensibili alle maiuscole e alle minuscole.
- Ricordate l'importanza dell'ultimo parametro. Usate TRUE per una corrispondenza approssimativa e FALSE per una corrispondenza esatta. Per maggiori dettagli, consultate VLOOKUP TRUE vs. FALSE.
- Quando si cerca una corrispondenza approssimativa, assicurarsi che i dati nella colonna di ricerca siano ordinati in ordine crescente.
- Se il valore di ricerca non viene trovato, viene restituito un errore #N/A. Per informazioni su altri errori, vedere Perché VLOOKUP di Excel non funziona.
Esempi di VLOOKUP di Excel
Spero che il lookup verticale cominci a sembrarvi un po' più familiare. Per rafforzare le vostre conoscenze, costruiamo qualche altra formula VLOOKUP.
Come eseguire Vlookup da un altro foglio in Excel
In pratica, la funzione VLOOKUP di Excel viene utilizzata raramente con i dati presenti nello stesso foglio di lavoro. Il più delle volte è necessario estrarre i dati corrispondenti da un altro foglio di lavoro.
Per eseguire Vlookup da un altro foglio di Excel, inserite il nome del foglio di lavoro seguito da un punto esclamativo nel campo tabella_array prima del riferimento all'intervallo. Ad esempio, per cercare nell'intervallo A2:B10 del Foglio2, utilizzate questa formula:
=VLOOKUP("Prodotto1", Foglio2!A2:B10, 2)
Naturalmente non è necessario digitare manualmente il nome del foglio: basta iniziare a digitare la formula e quando si arriva al punto tabella_array passare al foglio di lavoro di ricerca e selezionare l'intervallo con il mouse.
Ad esempio, in questo modo è possibile cercare il valore A2 nell'intervallo A2:A9 del programma Prezzi e restituire un valore corrispondente dalla colonna C:
=VLOOKUP(A2, Prezzi!$A$2:$C$9, 3, FALSE)
Note:
- Se il nome del foglio di calcolo contiene spazi o caratteri non alfabetici deve essere racchiuso tra virgolette singole, ad esempio "Listino prezzi"!$A$2:$C$9.
- Nel caso in cui si utilizzi una formula VLOOKUP per più celle, ricordare di bloccare table_array con il segno $, come $A$2:$C$9.
Come eseguire Vlookup da un'altra cartella di lavoro in Excel
Per eseguire Vlookup da un'altra cartella di lavoro di Excel, anteporre il nome della cartella di lavoro racchiuso tra parentesi quadre al nome del foglio di lavoro.
Ad esempio, ecco la formula per cercare il valore A2 nel foglio denominato Prezzi nel Listino_prezzi.xlsx libro di lavoro:
=VLOOKUP(A2, [Price_List.xlsx]Prices!$A$2:$C$9, 3, FALSE)
Se il nome di una cartella di lavoro o di un foglio di lavoro contiene spazi o caratteri non alfabetici, è necessario racchiuderli tra apici singoli come in questo caso:
=VLOOKUP(A2, '[Listino prezzi.xlsx]Prezzi'!$A$2:$C$9, 3, FALSE)
Il modo più semplice per creare una formula VLOOKUP che faccia riferimento a una cartella di lavoro diversa è il seguente:
- Aprire entrambi i file.
- Iniziare a digitare la formula, passare all'altra cartella di lavoro e selezionare la matrice di tabelle con il mouse.
- Inserite gli altri argomenti e premete il tasto Invio per completare la formula.
Il risultato sarà simile alla schermata seguente:
Una volta chiudere la formula VLOOKUP continuerà a funzionare, ma ora visualizzerà il percorso completo della cartella di lavoro chiusa:
Per ulteriori informazioni, vedere Come fare riferimento a un altro foglio o cartella di lavoro di Excel.
Come eseguire Vlookup da un intervallo di nomi in un altro foglio
Nel caso in cui si intenda utilizzare lo stesso intervallo di ricerca in molte formule, è possibile creare un intervallo con nome e digitare il nome direttamente nel campo tabella_array argomento.
Per creare un intervallo con nome, è sufficiente selezionare le celle e digitare il nome desiderato nel campo Nome Per i passaggi dettagliati, consultate Come assegnare un nome a un intervallo in Excel.
Per questo esempio, abbiamo dato il nome Prezzi_2020 alle celle dei dati (A2:C9) nel foglio di ricerca e otteniamo questa formula compatta:
=VLOOKUP(A2, Prezzi_2020, 3, FALSO)
La maggior parte dei nomi in Excel si applica alla cartella l'intera cartella di lavoro quindi non è necessario specificare il nome del foglio di lavoro quando si utilizzano gli intervalli denominati.
Se l'intervallo nominato è in un'altra cartella di lavoro , anteporre il nome della cartella di lavoro al nome dell'intervallo, ad esempio:
=VLOOKUP(A2, 'Listino prezzi.xlsx'!Prezzi_2020, 3, FALSE)
Inoltre, l'uso di intervalli con nome può essere una buona alternativa ai riferimenti assoluti. Poiché un intervallo con nome non cambia, si può essere certi che l'array di tabelle rimarrà bloccato indipendentemente da dove la formula viene spostata o copiata.
Se l'intervallo di ricerca è stato convertito in una tabella Excel completamente funzionale, è possibile eseguire una Vlookup basata sul nome della tabella, ad esempio Tabella_prezzi nella formula seguente:
=VLOOKUP(A2, tabella_prezzi, 3, FALSE)
I riferimenti alle tabelle, chiamati anche riferimenti strutturati, sono resistenti e immuni a molte manipolazioni dei dati. Ad esempio, è possibile rimuovere o aggiungere nuove righe alla tabella di ricerca senza preoccuparsi di aggiornare i riferimenti.
Utilizzo dei caratteri jolly nella formula VLOOKUP
Come molte altre formule, la funzione VLOOKUP di Excel accetta i seguenti caratteri jolly:
- Punto interrogativo (?) per corrispondere a qualsiasi singolo carattere.
- Asterisco (*) per abbinare qualsiasi sequenza di caratteri.
I caratteri jolly si rivelano molto utili in molte situazioni:
- Quando non si ricorda il testo esatto che si sta cercando.
- Quando si cerca una stringa di testo che fa parte del contenuto della cella.
- Quando una colonna di ricerca contiene spazi iniziali o finali, ci si può scervellare per capire perché una formula normale non funziona.
Esempio 1. Cercare il testo che inizia o termina con determinati caratteri
Si supponga di voler trovare un certo cliente nel database sottostante. Non si ricorda il cognome, ma si è certi che inizi con "ack".
Per ottenere il cognome dalla colonna A, utilizzare la seguente formula jolly di Vlookup:
=VLOOKUP("ack*", $A$2:$B$10, 1, FALSE)
Per recuperare la chiave di licenza dalla colonna B, utilizzare questa (la differenza è solo nel numero di indice della colonna):
=VLOOKUP("ack*", $A$2:$B$10, 2, FALSE)
È anche possibile inserire la parte nota del nome in una cella, ad esempio E1, e combinare il carattere jolly con il riferimento alla cella:
=VLOOKUP(E1& "*", $A$2:$B$10, 1, FALSE)
La schermata seguente mostra i risultati:
Di seguito sono riportate alcune altre formule VLOOKUP con caratteri jolly.
Trova il cognome che termina con "figlio":
=VLOOKUP("*figlio", $A$2:$B$10, 1, FALSE)
Prendete il nome che inizia con "joh" e finisce con "son":
=VLOOKUP("joh*son", $A$2:$B$10, 1, FALSE)
Estrarre un cognome di 5 caratteri:
=VLOOKUP("?????", $A$2:$B$10, 1, FALSE)
Esempio 2. VLOOKUP jolly basato sul valore della cella
Dall'esempio precedente, sapete già che è possibile concatenare una virgola (&) e un riferimento di cella per creare una stringa di ricerca. Per trovare un valore che contenga uno o più caratteri in qualsiasi posizione, mettete una virgola prima e dopo il riferimento di cella.
Supponiamo di voler ottenere un nome corrispondente a una determinata chiave di licenza, ma di non conoscere l'intera chiave, ma solo alcuni caratteri. Con le chiavi nella colonna A, i nomi nella colonna B e parte della chiave di destinazione in E1, è possibile eseguire un Vlookup con caratteri jolly in questo modo:
Estrarre la chiave:
=VLOOKUP("*"&E1& "*", $A$2:$B$10, 1, FALSO)
Estrarre il nome:
=VLOOKUP("*"&E1& "*", $A$2:$B$10, 2, FALSO)
Note:
- Affinché una formula VLOOKUP con caratteri jolly funzioni correttamente, utilizzare una corrispondenza esatta (FALSE è l'ultimo argomento).
- Se viene trovata più di una corrispondenza, viene restituita la prima. .
VLOOKUP VERO vs FALSO
Ora è il momento di dare un'occhiata più da vicino all'ultimo argomento della funzione VLOOKUP di Excel. Sebbene sia facoltativo, il parametro ricerca_intervallo A seconda che si scelga VERO o FALSO, la formula può dare risultati diversi.
Excel VLOOKUP corrispondenza esatta (FALSO)
Se ricerca_intervallo è impostato su FALSE, una formula di Vlookup cerca un valore che sia esattamente uguale al valore di ricerca. Se vengono trovate due o più corrispondenze, viene restituita la prima. Se non viene trovata una corrispondenza esatta, si verifica l'errore #N/A.
Excel VLOOKUP corrispondenza approssimativa (VERO)
Se ricerca_intervallo è impostato su VERO o omesso (valore predefinito), la formula cerca la corrispondenza più vicina. Più precisamente, cerca prima una corrispondenza esatta e, se non viene trovata, cerca il valore successivo più grande che è inferiore al valore di ricerca.
Un Vlookup a corrispondenza approssimativa funziona con le seguenti avvertenze:
- La colonna di ricerca deve essere ordinata in ordine ascendente , dal più piccolo al più grande, altrimenti non è possibile trovare un valore corretto.
- Se il valore di ricerca è più piccolo del valore più piccolo dell'array di ricerca, viene restituito un errore #N/A.
I seguenti esempi vi aiuteranno a capire meglio la differenza tra un Vlookup a corrispondenza esatta e uno a corrispondenza approssimativa e quando è meglio utilizzare ciascuna formula.
Esempio 1. Come eseguire una corrispondenza esatta di Vlookup
Per cercare una corrispondenza esatta, basta inserire FALSE nell'ultimo argomento.
Per questo esempio, prendiamo la tabella delle velocità degli animali, scambiamo le colonne e cerchiamo di trovare gli animali che possono correre a 80, 50 e 30 miglia all'ora. Con i valori di ricerca in D2, D3 e D4, inserite la formula seguente in E2 e poi copiatela in altre due celle:
=VLOOKUP(D2, $A$2:$B$12, 2, FALSE)
Come si può vedere, la formula restituisce "Lion" in E3, perché vengono eseguite esattamente 50 corse all'ora. Per gli altri due valori di ricerca non viene trovata una corrispondenza esatta e compare l'errore #N/A.
Esempio 2. Come eseguire una Vlookup per una corrispondenza approssimativa
Per cercare una corrispondenza approssimativa, è necessario fare due cose essenziali:
- Ordinare la prima colonna di tabella_array dal più piccolo al più grande.
- Utilizzare TRUE per l'opzione ricerca_intervallo o ometterlo.
L'ordinamento della colonna di ricerca è molto importante perché la funzione VLOOKUP interrompe la ricerca non appena trova una corrispondenza stretta più piccola del valore di ricerca. Se i dati non sono ordinati correttamente, si possono ottenere risultati molto strani o un gruppo di errori #N/A.
Per i nostri dati di esempio, una formula di match Vlookup approssimativa è la seguente:
=VLOOKUP(D2, $A$2:$B$12, 2, TRUE)
E restituisce i seguenti risultati:
- Per un valore di ricerca di "80", viene restituito "Cheetah" perché la sua velocità (70) è la corrispondenza più vicina e più piccola del valore di ricerca.
- Per un valore di ricerca di "50", viene restituita una corrispondenza esatta (Lion).
- Per un valore di ricerca di "30", viene restituito un errore #N/A perché il valore di ricerca è inferiore al valore più piccolo della colonna di ricerca.
Strumenti speciali per Vlookup in Excel
Senza dubbio, VLOOKUP è una delle funzioni più potenti e utili di Excel, ma anche una delle più confuse. Per rendere la curva di apprendimento meno ripida e l'esperienza più piacevole, abbiamo incluso un paio di strumenti per risparmiare tempo nella nostra Ultimate Suite per Excel.
VLOOKUP Wizard - modo semplice per scrivere formule complesse
La procedura guidata VLOOKUP interattiva vi guiderà attraverso le opzioni di configurazione per creare una formula perfetta per i criteri specificati. A seconda della struttura dei dati, utilizzerà la funzione VLOOKUP standard o una formula INDEX MATCH che può estrarre i valori da sinistra.
Per ottenere la vostra formula personalizzata, ecco cosa dovete fare:
- Eseguire la procedura guidata VLOOKUP.
- Scegliere la tabella principale e la tabella di ricerca.
- Specificare le seguenti colonne (in molti casi vengono scelte automaticamente):
- Colonna chiave - la colonna della tabella principale contenente i valori da cercare.
- Colonna di ricerca - la colonna da cui guardare.
- Colonna di ritorno - la colonna da cui recuperare i valori.
- Fare clic sul pulsante Inserire pulsante.
Gli esempi seguenti mostrano la procedura guidata in azione.
Vlookup standard
Quando la colonna di ricerca ( Animale ) è la colonna più a sinistra della tabella di ricerca, viene inserita una normale formula VLOOKUP per la corrispondenza esatta:
Vlookup a sinistra
Quando la colonna di ricerca ( Animale ) si trova a destra della colonna di ritorno ( Velocità ), la procedura guidata inserisce una formula MATCH INDEX per Vlookup da destra a sinistra:
Bonus extra! Grazie all'uso intelligente dei riferimenti alle celle, le formule possono essere copiate o spostate in qualsiasi colonna, senza dover aggiornare i riferimenti.
Unire due tabelle: alternativa senza formule a VLOOKUP di Excel
Se i vostri file Excel sono enormemente grandi e complessi, la scadenza del progetto è imminente e cercate qualcuno che vi dia una mano, provate la procedura guidata Unisci tabelle.
Questo strumento è la nostra alternativa visiva e senza stress alla funzione VLOOKUP di Excel, che funziona in questo modo:
- Selezionare la tabella principale.
- Selezionare la tabella di ricerca.
- Scegliere una o più colonne comuni come identificatore unico.
- Specificare le colonne da aggiornare.
- Scegliere facoltativamente le colonne da aggiungere.
- Lasciate che la procedura guidata di unione delle tabelle abbia qualche secondo per essere elaborata... e godetevi i risultati :)
Nella prossima parte del nostro tutorial, parleremo di esempi avanzati di VLOOKUP che vi insegneranno come eseguire Vlookup su più criteri, restituire tutte le corrispondenze o l'ennesima occorrenza, eseguire Vlookup doppi, cercare su più fogli con una sola formula e altro ancora. Vi ringrazio per la lettura e spero di vedervi la prossima settimana!
Download disponibili
Esempi di formula VLOOKUP di Excel (file .xlsx)
Ultimate Suite 14 giorni versione completamente funzionale (file .exe)