Vai al contenuto principale

VLOOKUP() in Google Sheets: come usarla + esempi

Impara a usare VLOOKUP() in Google Sheets per cercare, trovare ed estrarre dati da set di grandi dimensioni in pochi secondi.
Aggiornato 4 mag 2026  · 10 min leggi

VLOOKUP() è una funzione di Google Sheets che cerca un valore in una colonna e restituisce il valore corrispondente da un'altra colonna nella stessa riga. Le dai qualcosa da trovare, le dici dove cercare e lei ti riporta i dati di cui hai bisogno.

È particolarmente utile quando lavori con set di dati di grandi dimensioni, dove cercare e abbinare i dati manualmente richiederebbe troppo tempo. Ma ogni volta che devi collegare due tabelle di dati usando un valore condiviso, VLOOKUP() è la funzione di riferimento.

In questa guida vedrai la sua sintassi, come usarla passo dopo passo, cosa può causare risultati errati e quando scegliere alternative come INDEX MATCH() o XLOOKUP().

Qual è la sintassi di VLOOKUP() in Google Sheets?

La sintassi di VLOOKUP() è:

=VLOOKUP(search_key, range, index, [is_sorted])

Qui: 

  • search_key è il valore che vuoi trovare

  • range è la tabella in cui avviene la ricerca

  • index è il numero di colonna da cui restituire il risultato

  • [is_sorted] definisce se vuoi una corrispondenza esatta o no

Come si fa un VLOOKUP() in Google Sheets?

Per fare un VLOOKUP() in Google Sheets:

  1. Decidi quale valore vuoi cercare: può essere un ID, un nome o qualsiasi valore univoco.

  2. Identifica l'intervallo della tua tabella: assicurati che la colonna contenente il valore di ricerca sia la prima colonna di quell'intervallo.

  3. Scegli quali dati vuoi ottenere: è la colonna con il risultato (ad es. nome, prezzo, stato).

  4. Inserisci la formula VLOOKUP() in una nuova cella: fai riferimento al valore da cercare, all'intervallo della tabella e alla colonna da restituire.

  5. Usa corrispondenza esatta o approssimata (FALSE o TRUE): nella maggior parte dei casi, per evitare risultati errati ti serve una corrispondenza esatta (ne parliamo tra poco).

Se hai questa tabella:

A (ID)

B (Nome)

101

George

102

Sarah

103

Lily

E vuoi trovare il nome per l'ID 102, usa:

=VLOOKUP(102, A2:B4, 2, FALSE)

Questo dice a Google Sheets di:

  • Cercare 102 nella colonna A
  • Restituire il valore dalla colonna B
  • Dare una corrispondenza esatta

Di conseguenza, otterrai Sarah.

Esempio di VLOOKUP in Google Sheets.

Esempio di VLOOKUP(). Immagine dell'autore.

Come funziona VLOOKUP() (logica passo per passo)

VLOOKUP() segue un semplice processo di ricerca verticale. Parte sempre dalla prima colonna dell'intervallo selezionato, poi scorre verso il basso, una riga alla volta, finché non trova la prima corrispondenza.

Una volta trovata, resta sulla stessa riga. Poi si sposta sulla colonna che hai specificato e restituisce quel valore.

Ecco come funziona passo per passo:

  • Parte dalla prima colonna dell'intervallo
  • Cerca verso il basso nella colonna
  • Trova il primo valore corrispondente
  • Si sposta lungo la stessa riga
  • Restituisce i dati dalla colonna specificata

Diciamo che vuoi trovare il job title per l'ID dipendente E1007. Per questo, usa la seguente formula:

=VLOOKUP("E1007", A:G, 5, FALSE)

VLOOKUP in Google Sheets

VLOOKUP() in Google Sheets. Immagine dell'autore.

Questa formula:

  • Trova E1007 nella colonna A

  • Si sposta lungo la stessa riga

  • Restituisce la colonna 5 (Job Title) 

  • Fornisce come risultato Software Engineer.

Nota: VLOOKUP() può cercare solo da sinistra verso destra. Se la tua colonna di ricerca non è la prima colonna dell'intervallo, la funzione non funzionerà. In tal caso, devi riordinare i dati o usare un'altra funzione. Ci arriviamo tra poco.

Corrispondenza esatta vs approssimata in VLOOKUP()

La corrispondenza esatta restituisce un risultato solo quando il valore è identico. La corrispondenza approssimata restituisce il valore più vicino disponibile quando non si trova una corrispondenza esatta, di solito basandosi su dati ordinati.

In VLOOKUP() questo è controllato dall'ultimo argomento. L'ultimo argomento, FALSE o TRUE, è quello che molti sbagliano perché TRUE sembra innocuo e non lo è.

  • FALSE significa solo corrispondenza esatta. Se il valore non c'è, ottieni #N/A, che in realtà è utile. 
  • TRUE restituisce il valore immediatamente inferiore più vicino quando non esiste una corrispondenza esatta, il che sembra un ripiego ma è più correttamente descritto come una risposta sbagliata silenziosa. Inoltre, presuppone che i dati siano ordinati. Se non lo sono, il risultato è indefinito. 

Direi di usare TRUE solo per ricerche a scaglioni, come scaglioni fiscali o fasce di voto, dove l'approssimazione è il comportamento corretto per progettazione. Per tutto il resto, usa FALSE.

Corrispondenza esatta (FALSE)

Questo dice a VLOOKUP(): “Restituisci un risultato solo se trovi esattamente questo valore”. Per esempio, questa formula =VLOOKUP("E1005", A:G, 7, FALSE) cerca E1005, restituisce lo stipendio dalla colonna 7 e dà come risultato 90000.

Se il valore non esiste, ottieni un errore #N/A

La corrispondenza esatta genera un errore in VLOOKUP in Google Sheets

Corrispondenza esatta in VLOOKUP(). Immagine dell'autore.

Corrispondenza approssimata (TRUE)

Questo dice a VLOOKUP(): “Se non trovi una corrispondenza esatta, restituisci il valore più vicino inferiore”. Può sembrare utile — a volte lo è, ma a volte ti dà silenziosamente la risposta sbagliata.

Per esempio, E1011 non esiste nel nostro dataset. L'ultimo ID dipendente è E1010. Quindi, se usi questa formula =VLOOKUP("E1011", A:G, 7, TRUE), VLOOKUP() non restituirà un errore. Invece, restituirà il valore della corrispondenza inferiore più vicina, cioè E1010. La cella mostrerà 88000.

Quindi, anche se E1011 manca, VLOOKUP() ti dà comunque un risultato perché TRUE consente una corrispondenza approssimata.

Corrispondenza approssimata in VLOOKUP Google Sheets.

Corrispondenza approssimata in VLOOKUP(). Immagine dell'autore.

Ora immagina che gli stessi dati siano fuori ordine, e inserisco l'ID dipendente disponibile nella formula, così: =VLOOKUP("E1011", A:G, 7, TRUE).

Questa volta, la formula restituisce uno stipendio errato perché la colonna di ricerca non è ordinata e la corrispondenza approssimata dipende da dati ordinati.

La corrispondenza approssimata di VLOOKUP genera un errore a causa di un elenco non ordinato in Google Sheets.

La corrispondenza approssimata di VLOOKUP() genera un errore a causa di un elenco non ordinato. Immagine dell'autore.

Errori comuni in VLOOKUP() e come risolverli

Vediamo alcuni dei problemi più comuni che potresti incontrare con VLOOKUP() e come risolverli: 

Errore #N/A

Un errore #N/A significa che VLOOKUP() non ha trovato il valore richiesto.

Supponiamo tu abbia questa formula: =VLOOKUP("E9999", A:G, 7, FALSE)

 Se E9999 non è nella prima colonna dell'intervallo, la formula restituisce #N/A.

Può succedere anche se il valore è digitato in modo diverso nel foglio, ad esempio con spazi extra o problemi di formattazione del testo.

Per risolvere:

  • Assicurati che il valore esista nella prima colonna dell'intervallo

  • Quando possibile, usa il riferimento di cella corretto invece di digitare il valore manualmente

  • Aggiungi le virgolette se inserisci manualmente un valore di testo

  • Rimuovi spazi iniziali o finali dai dati

  • Usa FALSE solo quando ti serve una corrispondenza esatta 

Indice di colonna sbagliato

L'indice di colonna dice a VLOOKUP() da quale colonna restituire il valore all'interno dell'intervallo selezionato. Se il numero di indice è troppo grande, la formula restituisce #REF!.

Questa =VLOOKUP("E1005", A:G, 8, FALSE) restituisce #REF! perché l'intervallo A:G ha solo 7 colonne.

Indice di colonna errato genera un errore in VLOOKUP Google Sheets.

L'indice di colonna errato genera un errore. Immagine dell'autore.

Puoi anche ottenere il risultato sbagliato se il numero di colonna è valido ma punta alla colonna sbagliata.

Per esempio:

=VLOOKUP("E1005", A:G, 5, FALSE)

Questo restituisce il job title, non lo stipendio.

Per risolvere:

  • Conta le colonne a partire dalla prima colonna dell'intervallo selezionato
  • Verifica che il numero di colonna corrisponda al valore che vuoi restituire
  • Assicurati che la colonna esista nell'intervallo

Problemi con la corrispondenza approssimata

Se usi TRUE, VLOOKUP() cerca la corrispondenza inferiore più vicina invece di richiedere una corrispondenza esatta.

Se digiti =VLOOKUP("E1011", A:G, 7, TRUE) e non c'è E1011 nel dataset,  invece di restituire un errore, la formula restituisce 88000, che appartiene a E1010.

Quel risultato può sembrare corretto, ma non è una corrispondenza esatta.

Per risolvere:

  • Usa FALSE quando ti serve un risultato esatto

  • Usa TRUE solo quando i dati sono ordinati e un risultato approssimato è accettabile

Problemi di intervallo

VLOOKUP() può anche smettere di funzionare quando l'intervallo selezionato non corrisponde a ciò che la formula sta cercando di fare.

Per esempio, =VLOOKUP("E1005", A:C, 7, FALSE) restituisce #REF! perché l'intervallo A:C ha solo 3 colonne, ma la formula chiede la colonna 7.

Un altro problema comune si verifica quando la colonna di ricerca non è la prima colonna dell'intervallo.

Guarda questa formula:

=VLOOKUP("E1005", B:G, 7, FALSE)

Qui, la prima colonna dell'intervallo è la colonna B, non la colonna A. Poiché VLOOKUP() cerca solo nella prima colonna dell'intervallo selezionato, non può trovare E1005.

Per risolvere:

  • Assicurati che la colonna di ricerca sia la prima colonna dell'intervallo
  • Assicurati che l'intervallo includa la colonna da restituire
  • Ricontrolla l'intervallo selezionato prima di finalizzare la formula

Intervallo sbagliato genera un errore in VLOOKUP Google Sheets

Intervallo sbagliato genera un errore. Immagine dell'autore.

VLOOKUP() tra fogli in Google Sheets

Puoi usare VLOOKUP() per prelevare dati da un altro foglio aggiungendo il nome del foglio prima dell'intervallo.

Il formato è questo:

=VLOOKUP(search_key, SheetName!range, index, FALSE)

La parte SheetName! dice alla formula in quale foglio cercare.

Supponiamo che i tuoi dati siano archiviati in un foglio chiamato Employees e che tu stia lavorando in un altro foglio. Per trovare il reparto per l'ID dipendente E1005, usa:

=VLOOKUP("E1005", Employees!A:G, 4, FALSE)

Qui:

  • Employees!A:G cerca nel foglio Employees

  • 4 restituisce la colonna Department

La formula restituisce il reparto per E1005.

Fai riferimento a un altro foglio in VLOOKUP Google Sheets.

Riferimento a un altro foglio in VLOOKUP(). Immagine dell'autore.

Quando i nomi dei fogli hanno spazi

Se il nome del foglio contiene spazi, racchiudilo tra apici singoli così: 

=VLOOKUP("E1005", 'Employee Data'!A:G, 7, FALSE)

Senza le virgolette, la formula non funzionerà.

VLOOKUP() vs. INDEX MATCH in Google Sheets

VLOOKUP() cerca in una colonna fissa e restituisce i dati in base alla posizione, mentre INDEX MATCH trova i valori usando direttamente i riferimenti di riga e colonna, quindi funziona anche se la struttura della tabella cambia.

VLOOKUP: veloce da scrivere, facile da rompere

Hai già visto che =VLOOKUP("E1005", A:G, 7, FALSE) trova lo stipendio per E1005

Funziona bene quando:

  • La colonna di ricerca è a sinistra
  • La struttura della tabella non cambia

I problemi iniziano quando la struttura cambia.

Per esempio:

  • Inserisci una nuova colonna
  • La colonna dello stipendio si sposta da 7 a 8
  • La formula usa ancora 7

Ora restituisce il valore sbagliato senza mostrare un errore.

INDEX MATCH: più lunga, ma stabile

Ora guarda la stessa ricerca usando INDEX MATCH:

=INDEX(G:G, MATCH("E1005", A:A, 0))

Qui:

  • MATCH() trova la posizione di E1005 nella colonna A

  • INDEX() restituisce il valore dalla colonna G in quella posizione

Questo metodo non dipende dai numeri di colonna, quindi continua a funzionare anche se la tabella cambia.

INDEX MATCH gestisce i dati meglio di VLOOKUP

INDEX MATCH gestisce i dati meglio di VLOOKUP(). Immagine dell'autore.

Dove aiuta davvero

Usa INDEX MATCH quando i dati non sono disposti da sinistra a destra. Supponi che Colonna A contenga ID dipendente e la Colonna C contenga il Cognome. Se vuoi cercare per Cognome e restituire l'ID dipendente, questa sarebbe una ricerca da destra a sinistra.

VLOOKUP() non può farlo senza cambiare la tabella, ma INDEX MATCH lo gestisce direttamente:

=INDEX(A:A, MATCH("Wilson", C:C, 0))

Non serve riordinare i dati.

VLOOKUP() vs XLOOKUP in Google Sheets

VLOOKUP() cerca all'interno di una struttura fissa e ha dei limiti, mentre XLOOKUP() consente ricerche in qualsiasi direzione. È stata aggiunta a Google Sheets nel 2022 ed è ora l'opzione migliore in molti casi.

Diciamo che vuoi trovare l'ID dipendente usando il Cognome Wilson. Questa è una ricerca da destra a sinistra. VLOOKUP() non può gestirla senza riordinare la tabella, ma XLOOKUP() sì:

=XLOOKUP("Wilson", C:C, A:A)

Questa formula:

  • Cerca Cognome (colonna C)
  • Restituisce ID dipendente (colonna A)

XLOOKUP in Google Sheets

XLOOKUP() in Google Sheets. Immagine dell'autore.

XLOOKUP() è migliore perché: 

  • Funziona in qualsiasi direzione (sinistra o destra)
  • Non usa numeri di colonna
  • Restituisce per impostazione predefinita corrispondenze esatte
  • Consente un output personalizzato quando non trova corrispondenze 

Considerazioni finali 

Se dovessi dare un solo consiglio: usa VLOOKUP() in un foglio di calcolo reale a cui tieni davvero, invece che in un foglio di prova. Gli errori si sentono diversamente quando i dati sono importanti. Ti ricorderai perché esiste FALSE la prima volta che TRUE ti restituisce silenziosamente lo stipendio sbagliato di qualcuno.

Quando ti senti a tuo agio, prova tipi di corrispondenza diversi, regola gli intervalli e nota quando i risultati smettono di avere senso. Di solito è il momento in cui un'opzione più flessibile come INDEX MATCH() o XLOOKUP() ha più senso. 


Laiba Siddiqui's photo
Author
Laiba Siddiqui
LinkedIn
Twitter

Sono una content strategist: mi piace semplificare argomenti complessi. Ho aiutato aziende come Splunk, Hackernoon e Tiiny Host a creare contenuti coinvolgenti e informativi per il loro pubblico.

FAQs

Posso usare `VLOOKUP()` con caratteri jolly?

Sì. Puoi usare * (qualsiasi numero di caratteri) e ? (singolo carattere) nella chiave di ricerca quando usi la corrispondenza esatta.

Per esempio, =VLOOKUP("E10*", A:G, 2, FALSE)

`VLOOKUP()` può gestire ricerche con distinzione tra maiuscole e minuscole in Google Sheets?

No. VLOOKUP() non fa distinzione tra maiuscole e minuscole. Considera “apple” e “Apple” come lo stesso valore. Per effettuare ricerche sensitive al maiuscolo/minuscolo, devi usare funzioni come FILTER() o EXACT().

Perché `VLOOKUP()` a volte restituisce risultati vuoti?

Succede quando la cella corrispondente è vuota, perché indica che la formula ha funzionato correttamente ma non c'è alcun dato da mostrare.

`VLOOKUP()` può fare riferimento a intervalli con nome?

Sì. Invece di usare A:G, puoi dare un nome al tuo intervallo (ad es., EmployeeData) e usarlo nella formula.

Ecco un esempio di come fare:

=VLOOKUP("E1005", EmployeeData, 7, FALSE)

Argomenti

Impara Google Sheets con DataCamp

Corso

Introduzione alla statistica in Google Sheets

4 h
46.8K
Scopri come usare le tecniche statistiche con i fogli di calcolo per lavorare meglio con i tuoi dati e capirci di più.
Vedi dettagliRight Arrow
Inizia il corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra altroMostra altro