Vai al contenuto principale

Come combinare VLOOKUP() con IF() in Excel

Combina VLOOKUP() con IF() per un'analisi dei dati efficiente, incluse ricerche condizionali, gestione degli errori e indicizzazione dinamica delle colonne.
Aggiornato 3 giu 2026  · 10 min leggi

Se gestisci grandi set di dati in Excel, sai quanto può essere difficile organizzarli e analizzarli in modo efficiente. Ma ho una soluzione per te: puoi annidare la funzione VLOOKUP() all'interno di un'istruzione IF() per creare ricerche dinamiche basate su condizioni specifiche. Con questo approccio, puoi consultare tabelle diverse in base a una condizione e gestire gli errori in modo più elegante.

In concreto, VLOOKUP() trova punti dati specifici all'interno di una tabella, mentre le istruzioni IF() ti permettono di prendere decisioni condizionali in base a quei dati. Entrambe le funzioni sono, come sappiamo, estremamente importanti. In questo articolo, aggiungiamo un altro strumento alla cassetta: imparerai come sfruttare la potenza di entrambe insieme per eseguire ricerche condizionali, con esempi pratici.

La risposta rapida: come combinare VLOOKUP() e IF()

Per creare una ricerca condizionale, parti da un'istruzione IF() e usa VLOOKUP() al suo interno per restituire risultati diversi in base a una condizione. Possiamo usare il codice seguente per verificare se un prodotto è disponibile in base alla sua quantità. Segui questi passaggi:

  • Inizia con la funzione IF(): =IF()

  • All'interno della funzione IF(), usa VLOOKUP().

=IF(VLOOKUP(C2, $A$2:$B$6, 2, FALSE) > 0, "In Stock", "Out of Stock")

Comprendere VLOOKUP() e IF() in Excel

VLOOKUP() ti aiuta a trovare dati in una tabella, mentre le istruzioni IF() ti permettono di decidere in base a quei dati. Insieme, aiutano ad analizzare le informazioni nei fogli di calcolo. Vediamo ogni funzione separatamente e poi mettiamole insieme. 

Che cos'è VLOOKUP() in Excel?

VLOOKUP() cerca un valore specifico nella prima colonna di un intervallo e restituisce un valore da un'altra colonna della stessa riga. Ecco la sintassi per usare la formula VLOOKUP() con i tuoi grandi set di dati.

=VLOOKUP(search_key, range, index, is_sorted)

Scomponiamo questa sintassi per capirla:

  • Search_key è il valore che vuoi cercare. Può essere un numero, un testo o un riferimento a una cella che contiene il valore da cercare.

  • Range definisce l'intervallo di celle che contiene i dati. La prima colonna di questo intervallo deve contenere il search_key

  • Index è il numero della colonna nell'intervallo da cui vuoi recuperare il valore. La prima colonna è 1, la seconda è 2 e così via.

  • Is_sorted è un valore logico (TRUE o FALSE). Puoi usare TRUE (o 1) per i numeri e FALSE (o 0) per il testo. Se TRUE, VLOOKUP() presume che la prima colonna dell'intervallo sia ordinata in modo crescente e restituisce la corrispondenza più vicina. Se FALSE, VLOOKUP() cerca una corrispondenza esatta. Se l'argomento non è specificato, il valore predefinito è TRUE

Vediamo un esempio. Ho un elenco di prodotti con i loro ID e prezzi. Voglio trovare i prezzi di prodotti specifici in base al loro nome.

list of product.

Elenco di prodotti con i loro ID e prezzi. Fonte: immagine dell'autore.

Per iniziare, voglio trovare il prezzo di un tablet in particolare. Per farlo, inserisco un valore di search_key (nel mio caso, Tablet) per trovare il prezzo in una qualsiasi cella. 

Enter the value to find the price of it

Inserisci il valore per trovarne il prezzo. Fonte: immagine dell'autore.

Poi seleziono una cella e digito =VLOOKUP().

Typing the VLOOKUP formula in Excel

Digitare la formula VLOOKUP(). Fonte: immagine dell'autore.

Successivamente, seleziono la cella in cui è stato inserito il search_key.

selecting the column.

Selezionare la colonna in cui si trova il prodotto. Fonte: immagine dell'autore.

Poi seleziono l'intervallo della tabella. 

selecting the table's  range.

Selezionare l'intervallo della tabella. Fonte: immagine dell'autore.

Contando da sinistra, inserisco il numero della colonna da cui voglio recuperare i dati. Qui voglio conoscere il prezzo, quindi inserisco 2.

selecting the index of the table.

Selezionare l'indice delle colonne. Fonte: immagine dell'autore.

Poi digito FALSE per ottenere la corrispondenza esatta.

type false to get the exact match.

Digitare FALSE per la corrispondenza esatta. Fonte: immagine dell'autore.

Dopo aver compilato tutti i valori, premo Invio:

Using VLOOKUP the price of the product is achieved in excel.

Usando VLOOKUP(), si ottiene il prezzo del prodotto. Fonte: immagine dell'autore.

Come vedi nell'immagine, VLOOKUP() recupera correttamente il prezzo.

Che cos'è IF() in Excel?

Le istruzioni IF() confrontano i valori e li verificano rispetto alla condizione specificata. Ecco la sintassi:

=IF(logical_test, [value_if_true], [value_if_false])

Vediamo le parti chiave per capirla: 

  • Logical_test è il valore o l'espressione che vuoi valutare come TRUE o FALSE. È la condizione che vuoi verificare.

  • Value_if_true restituisce il valore se logical_test è TRUE.

  • Value_if_false restituisce il valore se logical_test è FALSE.

Facciamo un esempio. Voglio assegnare una valutazione agli studenti in base ai loro voti. Quindi preparo il foglio con due colonne: STUDENTS e GRADES

A sheet containing the list of students with their grades

Un foglio con l'elenco degli studenti e i loro voti. Fonte: immagine dell'autore.

Seleziono una cella e digito =IF(). Il mio obiettivo è verificare se il totale è maggiore di 50 e quindi stampare Excellent, oppure, se il voto è inferiore a 50, stampare Bad. Dopo aver specificato le condizioni, premo Invio per ottenere i risultati.

Assegnare le valutazioni a tutti gli studenti usando l'istruzione IF. Fonte: immagine dell'autore.

Poi copio la formula fino all'ultima cella compilata trascinandola. Puoi vedere i risultati. Ho assegnato le valutazioni a tutti gli studenti con una sola formula. 

Modi per combinare VLOOKUP() con IF() in Excel

Vediamo esempi pratici per capire come VLOOKUP() funziona con IF().

Ricerche condizionali

Per creare una ricerca condizionale, come detto, parti da un'istruzione IF() e usa VLOOKUP() al suo interno per restituire risultati diversi in base a una condizione.

  1. Inizia con la funzione IF(): =IF().

  2. All'interno della funzione IF(), usa VLOOKUP().

Proviamo un nuovo esempio: ho un elenco di ordini di prodotti con i relativi orari di ordine. Voglio vedere se un prodotto specifico è stato ordinato prima delle 12:00.

  A table containing product list along with order ID and time.

Una tabella con l'elenco dei prodotti insieme a ID ordine e orario. Fonte: immagine dell'autore.

Per prima cosa seleziono una colonna e inserisco la formula seguente: 

=IF(VLOOKUP(A3, A2:C5,3, FALSE) < TIME(12, 0, 0), "Ordered Before Noon", "Ordered After Noon")

Qui la funzione VLOOKUP() cerca Banana nella colonna A e restituisce l'orario dell'ordine corrispondente dalla colonna B.

L'istruzione IF() verifica se l'orario dell'ordine è minore di 12. In tal caso, restituisce Ordered Before Noon. Altrimenti restituisce Ordered After Noon.

Calculating the delivery time by combining IF and VLOOKUP formula.

Calcolo dell'orario di consegna combinando le formule IF() e VLOOKUP(). Fonte: immagine dell'autore.

Vedi come posso tracciare facilmente le consegne del prodotto desiderato usando ricerche condizionali.

Gestione degli errori

Per gestire gli errori, parti da un'istruzione IF() e usa ISNA() con VLOOKUP() al suo interno per controllare la presenza di errori. Per esempio, per visualizzare un messaggio personalizzato se un prodotto non viene trovato:

  1. Inizia con la funzione IF(): =IF().

  2. All'interno della funzione IF(), usa ISNA() con VLOOKUP() per controllare gli errori.

Chiarificiamo con un esempio. Diciamo che ho una tabella con i prezzi dei prodotti e voglio mostrare un messaggio personalizzato ogni volta che un prodotto non viene trovato. 

A table containing lit if product and their price.

Una tabella con un elenco di prodotti e i loro prezzi. Fonte: immagine dell'autore.

Per farlo, seleziono una cella e inserisco la formula seguente per trovare il prezzo:

=(VLOOKUP(B7, $A$2:$B$5, 2, FALSE)

Poi la combino con ISNA() e IF() per gestire eventuali errori.

=IF(ISNA(VLOOKUP(B7, $A$2:$B$5, 2, FALSE)), "Product Not Found", (VLOOKUP(B7, $A$2:$B$5, 2, FALSE)))

error handling using IF and ISNA formula

Gestire gli errori combinando le formule IF() e ISNA(). Fonte: immagine dell'autore.

Qui, ISNA() verifica se la funzione VLOOKUP() restituisce un errore #N/A, che si verificherebbe se non è disponibile. In altre parole, se ISNA() risulta TRUE, l'istruzione IF() restituisce Product Not Found; altrimenti, restituisce il prezzo dalla VLOOKUP().

Indicizzazione dinamica delle colonne

Per scegliere dinamicamente l'indice di colonna per VLOOKUP(), inizia con un'istruzione IF() e usa VLOOKUP() al suo interno per selezionare colonne diverse in base a una condizione. Ad esempio, per consultare colonne diverse in base a un valore soglia:

  1. Inizia con la funzione IF(): =IF().

  2. All'interno della funzione IF(), usa VLOOKUP() per verificare la soglia e selezionare la colonna.

Qui ho una tabella prodotti con la colonna A che contiene i nomi dei prodotti, la colonna B i prezzi e la colonna C la quantità in stock. Voglio recuperare il prezzo o la quantità in stock in base al fatto che il prezzo sia superiore o inferiore a una certa soglia, per esempio 50.

A table containing list of products their IDs and prices.

Una tabella con un elenco di prodotti, i loro ID e prezzi. Fonte: immagine dell'autore.

Seleziono una cella e inserisco la formula seguente:

=IF(VLOOKUP(B9, $B$9:$D$14, 2, FALSE) > 50, VLOOKUP(B9,$B$9:$D$14, 3, FALSE), VLOOKUP(B9,$B$9:$D$14, 2, FALSE))

Applying IF with nested VLOOKUP.

Applicare IF con VLOOKUP() annidate. Fonte: immagine dell'autore.

Ecco come funziona la formula: 

  • (VLOOKUP(B9, $B$9:$D$14, 2, FALSE) cerca il prodotto in B9 dalla colonna A e restituisce il prezzo dalla colonna C.

  • L'istruzione IF() ha verificato se il prezzo è maggiore di $50.

  • Se vero, il codice restituisce la quantità in stock: VLOOKUP(B9,$B$9:$D$14, 3, FALSE).

  • Se falso, il codice restituisce l'ID del prodotto: VLOOKUP(B9,$B$9:$D$14, 2, FALSE)).

Se stai lavorando con un set di dati molto grande, puoi copiare la formula trascinandola fino all'ultima cella compilata.

Showing results using IF and VLOOKUP.

Visualizzare i risultati. Fonte: immagine dell'autore.

E questo è tutto. Come vedi, possiamo recuperare le informazioni desiderate in base a condizioni specifiche usando una formula combinata.

Tecniche avanzate con VLOOKUP() e IF()

Ora che hai una comprensione di base di come combinare le istruzioni IF() con VLOOKUP(), vediamo alcune tecniche avanzate tratte da esempi che ho provato personalmente.

Combinare criteri multipli

Se cerchi dati in base a più criteri, puoi combinare più funzioni VLOOKUP() all'interno di un'istruzione IF() per verificare se tutte le condizioni sono soddisfatte. 

Ho qui una tabella con i dati degli acquisti dei clienti e lo stato di membership. Voglio verificare se un cliente era idoneo a un programma fedeltà, che richiede almeno 500 in TOTAL PURCHASE ($) e Gold come MEMBERSHIP STATUS.

a table with customers' details.

Una tabella contenente i dettagli dei clienti. Fonte: immagine dell'autore.

Creo un'altra colonna chiamata Eligibility, che mostra i criteri di idoneità. Poi digito la formula seguente e premo Invio

=IF(AND(VLOOKUP(B2, $B$2:$D$11, 2, FALSE) >= 500, VLOOKUP(B2, $B$2:$D$11, 3, FALSE) = "Gold"), "Eligible", "Not Eligible")

Checking the eligibility criteria of customers’ by combining multiple criteria.

Verificare i criteri di idoneità dei clienti combinando più criteri. Fonte: immagine dell'autore.

Ecco come funziona questa formula: 

  • VLOOKUP(B2, $B$2:$D$11, 2, FALSE) >= 500 verifica se gli acquisti totali del cliente sono almeno $500.

  • VLOOKUP(B2, $B$2:$D$11, 3, FALSE) = "Gold") controlla se lo stato di membership di John era Gold.

  • AND combina le condizioni per assicurarsi che entrambe siano vere.
  • IF() restituisce Eligible quando entrambe le condizioni sono vere. Altrimenti restituisce Not Eligible.

Usare VLOOKUP() con IF() per i calcoli

Puoi usare VLOOKUP() per trovare un valore e poi applicare un'istruzione IF() per eseguire calcoli basati su quel valore. 

Qui preparo un foglio con prodotti e relativi prezzi. Poi voglio applicare uno sconto del 10% ai prodotti sopra i 100 $.

A table containing list of products with their prices.

Una tabella con un elenco di prodotti e i loro prezzi. Fonte: immagine dell'autore.

Quindi creo un'altra colonna chiamata DISCOUNT e scrivo la seguente formula in quella colonna per mostrare lo sconto.

=IF(VLOOKUP(A2, $A$2:$B$10, 2, FALSE) > 100, VLOOKUP(A2, $A$2:$B$10, 2, FALSE) * 0.9, VLOOKUP(A2, $A$2:$B$10, 2, FALSE))

Ecco come funziona questa formula:

  • VLOOKUP(A2, $A$2:$B$10, 2, FALSE) ha recuperato il prezzo del prodotto che è  56.

  • =IF(VLOOKUP(A2, $A$2:$B$10, 2, FALSE) > 100, ..., ...) ha verificato se il prezzo del prodotto era superiore a 100. 

  • Poiché la condizione è vera, VLOOKUP(A2, $A$2:$B$10, 2, FALSE) * 0.9 ha applicato uno sconto del 10%. 

  • (VLOOKUP(A2, $A$2:$B$10, 2, FALSE)) ha stampato i prezzi effettivi dei prodotti in cui la condizione di sconto non era vera.

È così che ho ottenuto il risultato finale della formula per il prodotto, che era 135. Per ottenere i risultati desiderati per tutti i prodotti, puoi trascinare la formula verso il basso e copiarla fino all'ultima cella compilata.

Using VLOOKUP with IF for Calculating the discounts on products whose prices are greater than 100.

Usare VLOOKUP() con IF per calcolare gli sconti sui prodotti con prezzi superiori a 100. Fonte: immagine dell'autore.

Gestire set di dati di grandi dimensioni

Puoi anche combinare VLOOKUP() con la funzione IF() per semplificare il recupero dei dati e la gestione degli errori quando lavori con set di dati molto grandi.

Ecco l'ultimo esempio: ho un foglio con le informazioni sui dipendenti e voglio recuperare il reparto di un dipendente e gestire i casi in cui l'ID del dipendente non esiste.

Una tabella contenente un elenco di dipendenti con i loro ID e reparti. Fonte: immagine dell'autore.

Quindi seleziono una cella e digito la formula seguente: 

=IFERROR(VLOOKUP(E3, $A$2:$C$18, 3, FALSE), "Not Found")

Dopo aver premuto Invio, trascino la formula per copiarla anche nelle altre celle.

Recuperare il reparto del dipendente tramite ID e gestire gli errori se il dipendente non viene trovato. Fonte: immagine dell'autore.

E puoi vedere i risultati sopra. Ecco come funziona questa formula: 

  • VLOOKUP(E3, $A$2:$C$18, 3, FALSE) recupera il reparto del dipendente.

  • IFERROR gestisce gli errori. Invece di mostrare un messaggio di errore (#N/A), visualizza un messaggio amichevole e personalizzato.

In poche parole, non devi più scavare nei fogli. Perché quando combini le istruzioni VLOOKUP() e IF(), puoi affrontare facilmente anche i set di dati più grandi in Excel. 

Considerazioni finali

Combinando VLOOKUP() con le istruzioni IF(), puoi creare fogli di calcolo più accurati e resistenti agli errori. Assicurati di sperimentare con gli esempi che ho condiviso per vedere come queste tecniche possono semplificare le attività di gestione dei dati e migliorare le tue competenze in Excel.

Se vuoi migliorare le tue competenze, dai un'occhiata al nostro corso Introduction to Excel e poi passa alla skill track Excel Fundamentals per padroneggiare le basi. Una volta che ti senti a tuo agio con queste funzioni, migliora le tue capacità analitiche con il corso Data Analysis in Excel. Ma se sei più orientato alla finanza, scopri il corso Financial Modeling in Excel per integrare insight finanziari. 

Inoltre, il nostro corso Data Preparation in Excel ti aiuterà a snellire il processo di pulizia dei dati, e il corso Data Visualization in Excel ti aiuterà a presentare i tuoi dati in modo efficace.


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.

Frequently Asked Questions

VLOOKUP() può gestire criteri multipli?

VLOOKUP() da sola non può gestire criteri multipli, ma puoi usarla all'interno di un'istruzione IF() o combinarla con altre funzioni come AND per ottenere questo risultato.

Qual è la differenza tra TRUE e FALSE nella funzione VLOOKUP()?

TRUE (o omesso) indica una corrispondenza approssimativa, mentre FALSE specifica una corrispondenza esatta per il valore di ricerca.

Qual è il ruolo della funzione AND nel combinare VLOOKUP() con IF()?

AND controlla condizioni multiple all'interno di un'istruzione IF() per consentire criteri più complessi nelle operazioni di VLOOKUP().

Argomenti

Impara Excel con DataCamp

Programma

Fondamenti di Excel

16 h
Acquisisci le competenze essenziali per utilizzare Excel, dalla preparazione dei dati alla scrittura di formule e alla creazione di visualizzazioni. Non è richiesta alcuna esperienza precedente.
Vedi dettagliRight Arrow
Inizia il corso
Mostra altroRight Arrow
Correlato

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

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

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