
VLOOKUP è una delle funzioni di Excel più utilizzate di sempre. Che si tratti di associare ID cliente ai nomi, di estrarre prezzi da un catalogo prodotti o di combinare dati provenienti da due fogli diversi, VLOOKUP svolge il lavoro con una sola formula. Questa guida copre tutto ciò di cui hai bisogno: sintassi, esempi reali, errori comuni e quando conviene scegliere una funzione diversa.
VLOOKUP sta per Ricerca Verticale (Vertical Lookup). Cerca un valore nella prima colonna di un intervallo e restituisce un valore da una colonna specificata nella stessa riga. Immagina una ricerca precisa: fornisci a Excel una chiave, gli indichi dove cercare e gli chiedi di restituire un'informazione dallo stesso record.
Gli utilizzi più comuni nel mondo reale includono:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Ogni argomento svolge un ruolo specifico:
| Argomento | Obbligatorio? | Significato |
|---|---|---|
| lookup_value | Sì | Il valore che si desidera trovare: un riferimento di cella, un numero o una stringa di testo. |
| table_array | Sì | L'intervallo che contiene i dati. La colonna di ricerca deve essere la colonna più a sinistra di questo intervallo. |
| col_index_num | Sì | Il numero di colonna (contato dalla sinistra di table_array) il cui valore si desidera restituire. |
| range_lookup | No | FALSO (o 0) per una corrispondenza esatta; VERO (o 1) per una corrispondenza approssimativa. Se omesso, il valore predefinito è VERO. |
Importante: usa sempre FALSE per il quarto argomento, a meno che tu non stia lavorando con una tabella ordinata e abbia effettivamente bisogno di una corrispondenza approssimativa (ad esempio per fasce di voto o scaglioni fiscali). Omettere questo argomento o usare VERO su dati non ordinati è una delle cause principali di risultati errati.
Supponi di gestire un piccolo catalogo prodotti in Foglio1 e di voler estrarre i prezzi in un modulo d'ordine su Foglio2. Ecco come si presentano i dati in Foglio1:
| A — SKU | B — Nome Prodotto | C — Prezzo |
|---|---|---|
| P001 | Mouse Wireless | €29,99 |
| P002 | Hub USB-C | €49,99 |
| P003 | Tastiera Meccanica | €89,99 |
| P004 | Supporto Monitor | €34,99 |
In Foglio2, la colonna A contiene lo SKU inserito dall'utente. Per restituire il nome del prodotto nella colonna B di Foglio2, digita:
=VLOOKUP(A2, Sheet1!$A$2:$C$5, 2, FALSE)
Per restituire il prezzo nella colonna C di Foglio2, modifica l'indice di colonna a 3:
=VLOOKUP(A2, Sheet1!$A$2:$C$5, 3, FALSE)
Nota i simboli del dollaro in Sheet1!$A$2:$C$5. Bloccano l'intervallo in modo che, quando copi la formula verso il basso in altre righe, il table_array non si sposti. Se non hai familiarità con il funzionamento dei riferimenti di cella, l'articolo su riferimenti di cella in Excel: relativi e assoluti tratta questo argomento in modo esaustivo.
Imposta il quarto argomento su TRUE quando la tua tabella di ricerca è ordinata in modo crescente e desideri la corrispondenza più vicina al di sotto del valore cercato. Un esempio classico è la conversione di un punteggio grezzo in un voto letterale:
=VLOOKUP(B2, $E$2:$F$6, 2, TRUE)
| E — Punteggio Minimo | F — Voto |
|---|---|
| 0 | F |
| 60 | D |
| 70 | C |
| 80 | B |
| 90 | A |
Un punteggio di 85 corrisponde alla riga con 80 e restituisce "B". Questo funziona correttamente solo perché la colonna Punteggio Minimo è ordinata dal valore più basso al più alto.
È l'errore più frequente. Significa che VLOOKUP non riesce a trovare il lookup_value nella prima colonna della tabella. Verifica la presenza di:
Per nascondere l'errore durante il debug, racchiudi la formula in: =IFERROR(VLOOKUP(A2, $D$2:$F$10, 2, FALSE), "Non trovato")
Compare quando il col_index_num è maggiore del numero di colonne nel table_array. Ad esempio, specificare la colonna 5 quando l'intervallo è largo solo 3 colonne. Conta le colonne e riduci l'indice di conseguenza.
Di solito è causato da un col_index_num pari a zero o da un valore non numerico. L'indice di colonna deve essere un numero intero positivo maggiore o uguale a 1.
Se hai omesso il quarto argomento (o lo hai impostato su VERO) ma la tabella non è ordinata, VLOOKUP potrebbe restituire silenziosamente una corrispondenza approssimativa errata, senza alcun messaggio di errore. Usa sempre FALSE per le corrispondenze esatte.
Puoi combinare VLOOKUP con funzioni logiche per ottenere risultati più articolati. Ad esempio, mostrare uno sconto solo se la ricerca ha esito positivo:
=IF(IFERROR(VLOOKUP(A2, $D$2:$F$10, 3, FALSE), "") = "", "Nessuno sconto", VLOOKUP(A2, $D$2:$F$10, 3, FALSE))
Per approfondire la creazione di test logici all'interno delle formule, consulta la guida completa sulla funzione SE: test logici e SE annidati.
Puoi fare riferimento a dati di un altro foglio anteponendo il nome del foglio all'intervallo:
=VLOOKUP(A2, Catalog!$A$2:$C$100, 2, FALSE)
Per fare riferimento a una cartella di lavoro diversa (mentre è aperta):
=VLOOKUP(A2, [PriceList.xlsx]Sheet1!$A$2:$C$100, 2, FALSE)
Se la cartella di lavoro è chiusa, Excel mostrerà automaticamente il percorso completo del file quando vi si crea un collegamento con entrambi i file aperti.
La combinazione INDICE CONFRONTA elimina il vincolo della colonna a sinistra ed è più robusta quando le colonne vengono aggiunte o riorganizzate. Se ti trovi a combattere con i limiti di VLOOKUP, l'articolo dedicato su INDICE CONFRONTA: il metodo di ricerca superiore illustra la transizione passo dopo passo.
Disponibile in Excel 365 ed Excel 2021, XLOOKUP è più semplice e più potente:
=XLOOKUP(A2, Sheet1!$A$2:$A$5, Sheet1!$C$2:$C$5, "Non trovato")
Cerca in qualsiasi direzione, gestisce nativamente i valori mancanti e non richiede un indice di colonna numerico. Se la tua versione di Excel la supporta, valuta di usare XLOOKUP per tutti i nuovi progetti.
VLOOKUP si integra bene con molti altri flussi di lavoro di Excel. Ad esempio, una dashboard delle vendite per il monitoraggio di KPI e performance utilizza spesso VLOOKUP per estrarre nomi di prodotti o territori dei rappresentanti da tabelle di riferimento nei report di riepilogo. Analogamente, la creazione di un modello di fattura con fatturazione professionale prevede quasi sempre un VLOOKUP che recupera i prezzi unitari da un listino prodotti in base ai codici articolo inseriti dall'utente.
Per i team che lavorano con grandi set di dati, combinare VLOOKUP con le Tabelle Pivot è un flusso di lavoro produttivo: usa VLOOKUP per arricchire i dati grezzi con etichette di categoria, quindi riepiloga in una Tabella Pivot.
Se sai cosa ti serve ma non ricordi la sintassi esatta — ad esempio, "cerca l'ID dipendente nella colonna A del foglio HR e restituisci il suo stipendio dalla colonna D" — GPTExcel ti consente di descrivere la necessità in linguaggio naturale e genera immediatamente la formula VLOOKUP corretta, pronta per essere incollata nel tuo foglio di calcolo.
La causa più probabile è la presenza di tipi di dati non uniformi o spazi extra in alcune celle. Applica =ANNULLA.SPAZI(A2) ai valori cercati e assicurati che tutte le voci nella colonna di ricerca siano memorizzate con lo stesso tipo di dato (tutto testo o tutti numeri). Puoi anche usare =IFERROR(VLOOKUP(...), "Controlla i dati") per identificare le righe che generano errori senza interrompere il resto del report.
Non con una singola formula nel senso tradizionale. È necessario un VLOOKUP separato per ogni colonna che si desidera restituire, modificando solo il col_index_num. In alternativa, XLOOKUP in Excel 365 può restituire un'intera riga di risultati con una sola formula, specificando un array di restituzione su più colonne.
VLOOKUP restituisce sempre il valore corrispondente alla prima corrispondenza trovata, scansionando dall'alto verso il basso. Se la colonna di ricerca contiene duplicati, le corrispondenze successive vengono ignorate. In presenza di duplicati, valuta l'utilizzo di una Tabella Pivot o di colonne di supporto per deduplicare i dati prima di effettuare la ricerca.
No. VLOOKUP tratta le lettere maiuscole e minuscole come identiche. La ricerca di "mela" troverà una corrispondenza con "Mela" o "MELA". Se hai bisogno di una ricerca con distinzione tra maiuscole e minuscole, devi usare una formula di matrice che combina UGUALE() e INDICE/CONFRONTA.
Scopri come la funzione TESTO di Excel converte numeri, date e ore in stringhe di testo formattate tramite codici di formato — con esempi reali e casi d'uso pratici.
Scopri come funziona la funzione SE di Excel, come annidare più SE e quando usare le alternative moderne come SE.PIÙ.SE e SWITCH per una logica più chiara e leggibile.
Padroneggia SUMIF e SUMIFS in Excel per sommare dati in base a una o più condizioni, con sintassi reale, esempi pratici e una guida passo dopo passo.