Programma
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(), usaVLOOKUP().
=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. -
Rangedefinisce l'intervallo di celle che contiene i dati. La prima colonna di questo intervallo deve contenere ilsearch_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 (TRUEoFALSE). Puoi usareTRUE(o1) per i numeri eFALSE(o0) per il testo. SeTRUE,VLOOKUP()presume che la prima colonna dell'intervallo sia ordinata in modo crescente e restituisce la corrispondenza più vicina. SeFALSE,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.

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.

Inserisci il valore per trovarne il prezzo. Fonte: immagine dell'autore.
Poi seleziono una cella e digito =VLOOKUP().

Digitare la formula VLOOKUP(). Fonte: immagine dell'autore.
Successivamente, seleziono la cella in cui è stato inserito il search_key.

Selezionare la colonna in cui si trova il prodotto. Fonte: immagine dell'autore.
Poi seleziono l'intervallo della tabella.

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.

Selezionare l'indice delle colonne. Fonte: immagine dell'autore.
Poi digito FALSE per ottenere la corrispondenza esatta.

Digitare FALSE per la corrispondenza esatta. Fonte: immagine dell'autore.
Dopo aver compilato tutti i valori, premo Invio:

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 comeTRUEoFALSE. È la condizione che vuoi verificare. -
Value_if_truerestituisce il valore selogical_testèTRUE. -
Value_if_falserestituisce il valore selogical_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.

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.
-
Inizia con la funzione
IF():=IF(). -
All'interno della funzione
IF(), usaVLOOKUP().
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.

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.

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:
-
Inizia con la funzione
IF():=IF(). -
All'interno della funzione
IF(), usaISNA()conVLOOKUP()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.

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)))

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:
-
Inizia con la funzione
IF():=IF(). -
All'interno della funzione
IF(), usaVLOOKUP()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.

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))

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 inB9dalla 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.

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.

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")

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) >= 500verifica 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 eraGold. ANDcombina le condizioni per assicurarsi che entrambe siano vere.-
IF()restituisceEligiblequando entrambe le condizioni sono vere. Altrimenti restituisceNot 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 $.

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.9ha 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.

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. -
IFERRORgestisce 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.
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().


