Skip to main content

Funzione VLOOKUP di Excel

Author: Siluvia Last Modified: 2025-08-06

La funzione VLOOKUP di Excel è uno strumento potente che consente di cercare un valore specifico confrontando la prima colonna di una tabella o di un intervallo in verticale e restituendo quindi un valore corrispondente da un'altra colonna nella stessa riga. Sebbene VLOOKUP sia estremamente utile, può risultare talvolta difficile da comprendere per i principianti. Questo tutorial ha l'obiettivo di aiutarti a padroneggiare VLOOKUP fornendo una spiegazione dettagliata e guidata degli argomenti, esempi pratici e soluzioni agli errori più comuni che potresti incontrare durante l'utilizzo della funzione VLOOKUP.

showing the usage of VLOOKUP function


Video correlati


Spiegazione dettagliata degli argomenti

Come mostrato nello screenshot sopra, la funzione VLOOKUP viene utilizzata per trovare un'email in base a un determinato numero ID. Ora fornirò una spiegazione dettagliata su come utilizzare VLOOKUP in questo esempio, analizzando ciascun argomento passo dopo passo.

Passaggio1: Avvia la funzione VLOOKUP

Seleziona una cella (in questo caso H6) dove visualizzare il risultato, quindi avvia la funzione VLOOKUP digitando il seguente contenuto nella Barra delle formule.

=VLOOKUP(
Passaggio2: Specifica il valore da cercare

Per prima cosa, specifica il valore da cercare (ovvero ciò che stai cercando) nella funzione VLOOKUP. Qui faccio riferimento alla cella G6 che contiene un determinato numero ID1005.

=VLOOKUP(G6

showing the usage of VLOOKUP function

Nota: Il valore da cercare deve trovarsi nella prima colonna dell'area dati.
Passaggio3: Specifica l'intervallo della tabella

Successivamente, specifica un intervallo di celle che contenga sia il valore che stai cercando sia il valore che desideri restituire. In questo caso, seleziono l'intervallo B6:E12. La formula ora appare così:

=VLOOKUP(G6,B6:E12

showing the usage of VLOOKUP function

Nota: Se desideri copiare la funzione VLOOKUP per cercare più valori nella stessa colonna e ottenere risultati diversi, devi utilizzare riferimenti assoluti aggiungendo il simbolo del dollaro, come segue:
=VLOOKUP(G6,$B$6:$E$12
Passaggio4: Specifica la colonna da cui vuoi restituire un valore

Quindi specifica la colonna da cui desideri restituire un valore.

In questo esempio, poiché devo restituire l'email in base a un numero ID, inserisco il numero4 per indicare a VLOOKUP di restituire un valore dalla quarta colonna dell'area dati.

=VLOOKUP(G6,B6:E12,4

showing the usage of VLOOKUP function

Passaggio5: Trova una corrispondenza approssimativa o esatta

Infine, determina se stai cercando una corrispondenza approssimativa o esatta.

  • Per trovare una corrispondenza esatta, è necessario utilizzare FALSO come ultimo argomento.
  • Per trovare una corrispondenza approssimativa, utilizza VERO come ultimo argomento, oppure lascialo semplicemente vuoto.

In questo esempio, utilizzo FALSO per la corrispondenza esatta. La formula ora appare così:

=VLOOKUP(G6,B6:E12,4,FALSE

showing the usage of VLOOKUP function

Premi il tasto Invio per ottenere il risultato

showing the usage of VLOOKUP function

Spiegando ciascun argomento uno per uno nell'esempio sopra, la sintassi e gli argomenti della funzione VLOOKUP risultano ora molto più semplici da comprendere.


Sintassi e argomenti

=VLOOKUP (lookup_value, table_array, col_index, [range_lookup])

  • Lookup_value (obbligatorio): Il valore (un valore reale o un riferimento di cella) che stai cercando. Ricorda che questo valore deve trovarsi nella prima colonna dell'intervallo tabella.
  • Table_array (obbligatorio): Un intervallo di celle che contiene sia la colonna del valore da cercare sia la colonna del valore da restituire.
  • Col_index (obbligatorio): Un numero intero che rappresenta il numero della colonna che contiene il valore da restituire. Parte dal numero1 per la colonna più a sinistra dell'intervallo tabella.
  • Range_lookup (opzionale): Un valore logico che determina se desideri che VLOOKUP trovi una corrispondenza approssimativa o esatta.
    • Corrispondenza approssimativa - Imposta questo argomento su VERO, 1 oppure lascialo vuoto.
      Importante: Per trovare una corrispondenza approssimativa, i valori nella prima colonna dell'intervallo tabella devono essere ordinati in ordine crescente, altrimenti VLOOKUP potrebbe restituire un risultato errato.
    • Corrispondenza esatta - Imposta questo argomento su FALSO o0.

Esempi

Questa sezione mostra alcuni esempi per aiutarti a comprendere meglio la funzione VLOOKUP.

Esempio1: Corrispondenza esatta vs. corrispondenza approssimativa in VLOOKUP

Se hai dubbi tra corrispondenza esatta e corrispondenza approssimativa quando usi VLOOKUP, questa sezione può aiutarti a chiarire.

Corrispondenza esatta in VLOOKUP

In questo esempio, voglio trovare i nomi corrispondenti in base ai punteggi elencati nell'intervallo E6:E8, quindi inserisco la seguente formula nella cella F6 e trascino la maniglia di riempimento automatico fino a F8. In questa formula, l'ultimo argomento è impostato su FALSO per effettuare una ricerca con corrispondenza esatta.

=VLOOKUP(E6,$B$6:$C$12,2,FALSE)

Tuttavia, poiché il punteggio98 non esiste nella prima colonna dell'area dati, VLOOKUP restituisce il risultato di errore #N/A.

showing the usage of VLOOKUP function

Nota: Qui ho bloccato l'intervallo tabella ($B$6:$C$12) nella funzione VLOOKUP per poter fare rapidamente riferimento a un set di dati costante  rispetto a più valori da cercare.
Corrispondenza approssimativa in VLOOKUP

Utilizzando ancora l'esempio sopra, se cambi l'ultimo argomento in VERO, VLOOKUP eseguirà una ricerca con corrispondenza approssimativa. Se non viene trovata una corrispondenza, troverà il valore più grande che è inferiore al valore da cercare e restituirà il risultato corrispondente.

=VLOOKUP(E6,$B$6:$C$12,2,TRUE)

Poiché il punteggio98 non esiste, VLOOKUP trova il valore più grande che è inferiore a98, cioè95, e restituisce il nome associato al punteggio95 come risultato più vicino.

showing the usage of VLOOKUP function

Note:
  • In questo caso di corrispondenza approssimativa, i valori nella prima colonna dell'intervallo tabella devono essere ordinati in ordine crescente. In caso contrario, VLOOKUP potrebbe non restituire il valore corretto.
  • Qui ho bloccato l'intervallo tabella ($B$6:$C$12) nella funzione VLOOKUP per poter fare rapidamente riferimento a un set di dati costante rispetto a più valori da cercare.

Esempio2: Utilizzare VLOOKUP con criteri multipli

Questa sezione mostra come utilizzare VLOOKUP con più condizioni in Excel. Come illustrato nello screenshot qui sotto, se desideri trovare uno stipendio in base a un nome fornito (nella cella H5) e al dipartimento (nella cella H6), segui i passaggi sotto per completare l'operazione.

showing the usage of VLOOKUP function

Passaggio1: Aggiungi una colonna di supporto per concatenare i valori delle colonne di ricerca

In questo caso, è necessario creare una colonna di supporto per concatenare i valori della colonna Nome e della colonna Dipartimento.

  1. Aggiungi una colonna di supporto a sinistra dell'area dati e assegna un'intestazione a questa colonna. Vedi screenshot:
  2. In questa colonna di supporto, seleziona la prima cella sotto l'intestazione, inserisci la seguente formula nella Barra delle formule, e premi Invio.
    =C6&" "&D6
    Note: In questa formula, utilizziamo una e commerciale (&) per unire il testo di due colonne e ottenere un unico testo.
    • C6 è il primo nome della colonna Nome da unire, D6 è il primo dipartimento della colonna Dipartimento da unire.
    • I valori di queste due celle vengono concatenati con uno spazio tra di essi.
  3. Seleziona questa cella con il risultato, quindi trascina la Maniglia di riempimento automatico verso il basso per applicare questa formula alle altre celle della stessa colonna.
Passaggio2: Applica la funzione VLOOKUP con i criteri forniti

Seleziona una cella dove vuoi visualizzare il risultato (qui seleziono I7), inserisci la seguente formula nella Barra delle formule e poi premi Invio.

=VLOOKUP(I5& " "&I6,B6:F12,5,FALSE)
Risultato

showing the usage of VLOOKUP function

Note:
  • La colonna di supporto deve essere utilizzata come prima colonna dell'area dati.
  • Ora la colonna degli stipendi è la quinta colonna dell'area dati, quindi utilizziamo il numero 5 come indice di colonna nella formula.
  • Dobbiamo unire i criteri in I5 e I6 (I5& " "&I6) nello stesso modo della colonna di supporto e utilizzare il valore concatenato come argomento lookup_value nella formula.
  • Puoi anche inserire direttamente le due condizioni nell'argomento lookup_value e separarle con uno spazio (se le condizioni sono testo, non dimenticare di racchiuderle tra virgolette doppie).
    =VLOOKUP("Albee IT",B6:F12,5,FALSE)
  • Un'alternativa migliore - ricerca con criteri multipli in pochi secondi
    La funzione Ricerca multi-condizione di Kutools per Excel ti consente di effettuare facilmente ricerche con criteri multipli in pochi secondi. Prova ora la versione di prova gratuita completa per30 giorni!

Errori comuni di VLOOKUP e soluzioni

Questa sezione elenca gli errori più comuni che potresti incontrare utilizzando VLOOKUP e fornisce le soluzioni per risolverli.

  Panoramica degli errori comuni di VLOOKUP:
          
        Motivo1: Il valore da cercare non si trova nella prima colonna  
    Motivo2: Il valore da cercare non è stato trovato  
  ------ Motivo3: Il valore da cercare è inferiore al valore più piccolo  
    Motivo4: I numeri sono formattati come testo  
      Motivo5: L'intervallo tabella non è costante  
         
  ------ Motivo1: Il valore da cercare supera i255 caratteri  
  Motivo2: Col_index è inferiore a1  
         
  ------ Motivo1: Col_index è maggiore del numero di colonne  
   
         
  ------ Motivo1: La colonna di ricerca non è ordinata in ordine crescente  
  Motivo2: È stata inserita o rimossa una colonna  
         

Viene restituito l'errore #N/A

L'errore più comune con VLOOKUP è l'errore #N/A, che significa che Excel non ha trovato il valore che stavi cercando. Ecco alcuni motivi per cui VLOOKUP può restituire l'errore #N/A.

Motivo1: Il valore da cercare non si trova nella prima colonna dell'intervallo tabella

Una delle limitazioni di VLOOKUP in Excel è che consente di cercare solo da sinistra a destra. Pertanto, i valori da cercare devono trovarsi nella prima colonna dell'intervallo tabella.

Come mostrato nello screenshot qui sotto, voglio restituire un nome in base al titolo di lavoro fornito. Qui il valore da cercare (sales manager) si trova nella seconda colonna dell'intervallo tabella e il valore da restituire è a sinistra della colonna di ricerca, quindi VLOOKUP restituisce l'errore #N/A.

showing the usage of VLOOKUP function

Soluzioni

Puoi applicare una delle seguenti soluzioni per risolvere questo errore.

  • Riorganizza le colonne
    Puoi riorganizzare le colonne per posizionare la colonna di ricerca come prima colonna dell'intervallo tabella.
  • Utilizza insieme le funzioni INDEX e MATCH
    Qui utilizziamo insieme le funzioni INDEX e MATCH come alternativa a VLOOKUP per risolvere questo problema.
    =INDEX(B6:B12,MATCH(F6,C6:C12,0))
    showing the usage of VLOOKUP function
  • Utilizza la funzione XLOOKUP (disponibile in Excel365, Excel2021 e versioni successive)
    =XLOOKUP(F6,C6:C12,B6:B12)

Motivo2: Il valore da cercare non è stato trovato nella colonna di ricerca (corrispondenza esatta)

Uno dei motivi più comuni per cui VLOOKUP restituisce l'errore #N/A è che il valore che stai cercando non è stato trovato.

Come mostrato nell'esempio qui sotto, stiamo cercando il nome in base al punteggio98 inserito in E6. Tuttavia, questo punteggio non esiste nella prima colonna dell'area dati, quindi VLOOKUP restituisce il risultato di errore #N/A.

showing the usage of VLOOKUP function

Soluzioni

Per risolvere questo errore, puoi provare una delle seguenti soluzioni.

  • Se vuoi che VLOOKUP cerchi il valore più grande che sia inferiore al valore da cercare, cambia l'ultimo argomento FALSO (corrispondenza esatta) in VERO (corrispondenza approssimativa). Per maggiori dettagli, consulta l'Esempio1: Corrispondenza esatta vs. corrispondenza approssimativa con VLOOKUP.
  • Per evitare di modificare l'ultimo argomento e ricevere un avviso nel caso in cui il valore da cercare non venga trovato, puoi racchiudere la funzione VLOOKUP all'interno della funzione IFERROR:
    =IFERROR(VLOOKUP(E8,$B$6:$C$12,2,FALSE),"Not found")

Motivo3: Il valore da cercare è inferiore al valore più piccolo nella colonna di ricerca (corrispondenza approssimativa)

Come illustrato nello screenshot qui sotto, stai effettuando una ricerca con corrispondenza approssimativa. Il valore che stai cercando (in questo caso il numero ID1001) è inferiore al valore più piccolo1002 nella colonna di ricerca, pertanto VLOOKUP restituisce l'errore #N/A.

showing the usage of VLOOKUP function

Soluzioni

Ecco due soluzioni per te.

  • Assicurati che il valore da cercare sia maggiore o uguale al valore più piccolo nella colonna di ricerca.
  • Se vuoi che Excel ti avvisi che il valore da cercare non è stato trovato, basta annidare la funzione VLOOKUP all'interno della funzione IFERROR come segue:
    =IFERROR(VLOOKUP(G6,B6:E12,4,TRUE),"Not found")

Motivo4: I numeri sono formattati come testo

Come puoi vedere nello screenshot qui sotto, il risultato di errore #N/A in questo esempio è dovuto a una mancata corrispondenza del tipo di dati tra la cella di ricerca (G6) e la colonna di ricerca (B6:B12) della tabella originale. Qui il valore in G6 è un numero, mentre i valori nell'intervallo B6:B12 sono numeri formattati come testo.

Suggerimento: Se un numero è stato convertito in testo, viene visualizzato un piccolo triangolo verde nell'angolo in alto a sinistra della cella.

showing the usage of VLOOKUP function

Soluzioni

Per risolvere questo problema, è necessario convertire nuovamente il valore da cercare in numero. Ecco due metodi per farlo.

  • Applica la funzione Da testo a valore
    Fai clic sulla cella che desideri convertire da testo a valore, seleziona questo pulsante showing the usage of VLOOKUP function accanto alla cella e poi seleziona Da testo a valore.
    showing the usage of VLOOKUP function
  • Applica uno strumento pratico per convertire in batch tra testo e valore
    La funzione Converti tra testo e numeri di Kutools per Excel ti aiuta a convertire facilmente un intervallo di celle da testo a valore e viceversa. Prova ora la versione di prova gratuita completa per30 giorni!

Motivo5: L'intervallo tabella non è costante quando si trascina la formula VLOOKUP su altre celle

Come illustrato nello screenshot qui sotto, ci sono due valori da cercare in E6 ed E7. Dopo aver ottenuto il primo risultato in F6, trascinando la formula VLOOKUP dalla cella F6 a F7 viene restituito un errore #N/A. Questo perché i riferimenti di cella (B6:C12) sono relativi per impostazione predefinita e vengono modificati man mano che si scende nelle righe. L'intervallo tabella è stato spostato a B7:C13, che non contiene più il punteggio73 da cercare.

showing the usage of VLOOKUP function

Soluzione

Devi bloccare l'intervallo tabella per mantenerlo costante aggiungendo il simbolo $ davanti a righe e colonne nei riferimenti di cella. Per saperne di più sui riferimenti assoluti in Excel, consulta questo tutorial: Riferimento assoluto in Excel (come creare e utilizzare).

showing the usage of VLOOKUP function

Viene restituito l'errore #VALUE

Le seguenti condizioni possono causare la restituzione dell'errore #VALUE da parte di VLOOKUP.

Motivo1: Il valore da cercare supera i255 caratteri

Come illustrato nello screenshot qui sotto, il valore da cercare nella cella H4 supera i255 caratteri, quindi VLOOKUP restituisce un errore #VALUE.

showing the usage of VLOOKUP function

Soluzioni

Per aggirare questa limitazione, puoi utilizzare una funzione di ricerca diversa che gestisca stringhe più lunghe. Prova una delle seguenti formule.

  • INDEX e MATCH:
    =INDEX(E5:E11, MATCH(TRUE, INDEX(B5:B11=H4, 0), 0))
    showing the usage of VLOOKUP function
  • Funzione XLOOKUP (disponibile in Excel365, Excel2021 e versioni successive):
    =XLOOKUP(H4,B5:B11,E5:E11)

Motivo2: L'argomento col_index è inferiore a1

L'indice di colonna specifica il numero della colonna nell'intervallo tabella che contiene il valore che desideri restituire. Questo argomento deve essere un numero positivo che corrisponda a una colonna valida nell'intervallo tabella.

Se inserisci un indice di colonna inferiore a1 (cioè zero o negativo), VLOOKUP non sarà in grado di individuare la colonna nell'intervallo tabella.

Soluzione

Per risolvere questo problema, assicurati che l'argomento indice di colonna nella tua formula VLOOKUP sia un numero positivo che corrisponda a una colonna valida nell'intervallo tabella.

Viene restituito l'errore #REF

Questa sezione elenca un motivo per cui VLOOKUP restituisce l'errore #REF e fornisce soluzioni a questo problema.

Motivo: L'argomento col_index è maggiore del numero di colonne

Come puoi vedere nello screenshot qui sotto, l'intervallo tabella ha solo4 colonne. Tuttavia, l'indice di colonna specificato nella formula VLOOKUP è5, che è maggiore del numero di colonne dell'intervallo tabella. Di conseguenza, VLOOKUP non sarà in grado di individuare la colonna e restituirà l'errore #REF.

showing the usage of VLOOKUP function

Soluzioni

  • Specifica un numero di colonna corretto
    Assicurati che l'argomento indice di colonna nella tua formula VLOOKUP sia un numero che corrisponda a una colonna valida nell'intervallo tabella.
  • Ottieni automaticamente il numero di colonna in base all'intestazione di colonna specificata
    Se la tabella contiene molte colonne, potresti avere difficoltà a determinare il numero di indice di colonna corretto. In questo caso, puoi annidare la funzione MATCH all'interno della funzione VLOOKUP per trovare la posizione della colonna in base a una determinata intestazione di colonna.
    =VLOOKUP(G6,B6:E12,MATCH("Email",B5:E5,0),FALSE)
    Nota: Nella formula sopra, la funzione MATCH("Email",B5:E5,0) viene utilizzata per ottenere il numero di colonna della colonna "Email" nell'intervallo dati B6:E12. Qui il risultato è4, che viene utilizzato come col_index nella funzione VLOOKUP.

Viene restituito un valore errato

Se noti che VLOOKUP non restituisce il risultato corretto, potrebbe essere causato dai seguenti motivi

Motivo1: La colonna di ricerca non è ordinata in ordine crescente

Se hai impostato l'ultimo argomento su VERO (o lo hai lasciato vuoto) per una corrispondenza approssimativa e la colonna di ricerca non è ordinata in ordine crescente, il valore risultante potrebbe essere errato.

showing the usage of VLOOKUP function

Soluzione

Ordinare la colonna di ricerca in ordine crescente può aiutarti a risolvere questo problema. Per farlo, segui questi passaggi:

  1. Seleziona le celle dei dati nella colonna di ricerca, vai alla scheda Dati, fai clic su Ordina dal più piccolo al più grande nel gruppo Ordina e filtra.
  2. Nella finestra di dialogo Avviso di ordinamento, seleziona l'opzione Espandi la selezione e fai clic su OK.

Motivo2: È stata inserita o rimossa una colonna

Come illustrato nello screenshot qui sotto, il valore che volevo restituire inizialmente si trova nella quarta colonna dell'intervallo tabella, quindi specifico il numero col_index come4. Se viene inserita una nuova colonna, la colonna del risultato diventa la quinta colonna dell'intervallo tabella, causando a VLOOKUP la restituzione del risultato dalla colonna sbagliata.

showing the usage of VLOOKUP function

Soluzioni

Ecco due soluzioni per te.

  • Puoi modificare manualmente il numero dell'indice di colonna per farlo corrispondere alla posizione della colonna di restituzione. La formula qui dovrebbe essere modificata così:
    =VLOOKUP(H6,B6:F12,5,FALSE)
  • Se desideri sempre restituire il risultato da una determinata colonna, come la colonna Email in questo esempio, la seguente formula può aiutarti a far corrispondere automaticamente l'indice di colonna in base all'intestazione di colonna fornita, indipendentemente dal fatto che vengano inserite o rimosse colonne dall'intervallo tabella.
    =VLOOKUP(H6,B6:F12,MATCH("Email",B5:E5,0),FALSE)

Altre note sulla funzione

  • VLOOKUP cerca solo da sinistra a destra.
    Il valore da cercare si trova nella colonna più a sinistra e il valore da restituire deve essere in una qualsiasi colonna a destra della colonna di ricerca.
  • Se lasci l'ultimo argomento vuoto, VLOOKUP utilizza per impostazione predefinita la corrispondenza approssimativa.
  • VLOOKUP esegue una ricerca senza distinzione tra maiuscole e minuscole.
  • In caso di corrispondenze multiple, VLOOKUP restituisce solo la prima corrispondenza trovata nell'intervallo tabella, in base all'ordine delle righe nell'intervallo tabella.

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
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca 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 a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di 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 & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. 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 su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura 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 ti fa risparmiare centinaia di clic ogni giorno!