In questo tutorial, vedremo come usare le funzioni IFERROR e VLOOKUP insieme per intrappolare e gestire diversi errori. Inoltre, imparerete come fare vlookup sequenziali in Excel annidando più funzioni IFERROR una sull’altra.

Excel VLOOKUP e IFERROR – queste due funzioni possono essere piuttosto difficili da capire separatamente, figuriamoci quando sono combinate. In questo articolo, troverete alcuni esempi facili da seguire che affrontano usi comuni e illustrano chiaramente la logica delle formule.

Se non avete molta esperienza con le funzioni IFERROR e VLOOKUP, potrebbe essere una buona idea ripassare prima le loro basi seguendo i link sopra.

  • IFERROR con VLOOKUP per gestire gli errori
    • VLOOKUP e restituire il proprio testo invece di N/A errore
    • VLOOKUP e restituire cella vuota o zero se non viene trovato nulla
  • Nest IFERROR all’interno di VLOOKUP per trovare sempre qualcosa
  • Vlookup sequenziali con IFERROR annidati

Formula VLOOKUP IFERROR per gestire #N/A e altri errori

Quando Excel Vlookup non riesce a trovare un valore di ricerca, lancia un errore #N/A, come questo:

In base alle tue esigenze aziendali, potresti voler mascherare l’errore con un testo, uno zero o una cella vuota.

Esempio 1. Formula Vlookup Iferror per sostituire tutti gli errori con il tuo testo

Se vuoi sostituire la notazione di errore standard con il tuo testo personalizzato, avvolgi la tua formula VLOOKUP in IFERROR, e scrivi il testo che vuoi nel secondo argomento (value_if_error), per esempio “Non trovato”:

IFERROR(VLOOKUP(…), “Non trovato”)

Con il valore di ricerca in B2 nella tabella principale e l’intervallo di ricerca A2:B4 nella tabella Lookup, la formula assume la seguente forma:

=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), "Not found")

Lo screenshot qui sotto mostra la nostra formula Excel IFERROR VLOOKUP in azione:

Il risultato sembra molto più comprensibile e molto meno intimidatorio, vero?

In modo simile, puoi usare INDEX MATCH insieme a IFERROR:

=IFERROR(INDEX('Lookup table'!$B:$B,MATCH(B2,'Lookup table'!$A:$A,0)), "Not found")

La formula IFERROR INDEX MATCH è particolarmente utile quando vuoi estrarre valori da una colonna che si trova a sinistra della colonna di ricerca (left lookup), e restituire il tuo testo quando non viene trovato nulla.

Esempio 2. IFERROR con VLOOKUP per restituire vuoto o 0 se non viene trovato nulla

Se non volete mostrare nulla quando il valore di lookup non viene trovato, fate in modo che IFERROR mostri una stringa vuota (“”):

IFERROR(VLOOKUP(…),””)

Nel nostro esempio, la formula è la seguente:

=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), "")

Come potete vedere, non restituisce nulla quando il valore di ricerca non è nella lista.

Se vuoi sostituire l’errore con il valore zero, metti 0 nell’ultimo argomento:

=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), 0)

Parola di prudenza! La funzione IFERROR di Excel cattura tutti i tipi di errori, non solo #N/A. È un bene o un male? Tutto dipende dal vostro obiettivo. Se vuoi mascherare tutti i possibili errori, IFERROR Vlookup è la strada da percorrere. Ma può essere una tecnica poco saggia in molte situazioni.

Per esempio, se avete creato un intervallo con nome per i dati della vostra tabella, e avete scritto male quel nome nella vostra formula Vlookup, IFERROR catturerà un errore #NOME? e lo sostituirà con “Non trovato” o qualsiasi altro testo che fornirete. Come risultato, potreste non sapere mai che la vostra formula sta dando risultati sbagliati a meno che non vi accorgiate voi stessi del refuso. In tal caso, un approccio più ragionevole sarebbe quello di catturare solo gli errori #N/A. Per questo, usa la formula IFNA Vlookup in Excel per Office 365, Excel 209, Excel 2016 e Excel 2013, IF ISNA VLOOKUP in tutte le versioni di Excel.

La linea di fondo è: fai molta attenzione quando scegli un compagno per la tua formula VLOOKUP 🙂

Nest IFERROR dentro VLOOKUP per trovare sempre qualcosa

Immagina la seguente situazione: cerchi un valore specifico in un elenco e non lo trovi. Quali scelte avete? O ottieni un errore N/A o mostri il tuo messaggio. In realtà, c’è una terza opzione – se il tuo vlookup primario inciampa, allora cerca qualcos’altro che è sicuramente lì!

Portando avanti il nostro esempio, creiamo una sorta di dashboard per i nostri utenti che mostrerà loro un numero di interno di un ufficio specifico. Qualcosa del genere:

Quindi, come si estrae l’interno dalla colonna B in base al numero di ufficio in D2? Con questa formula Vlookup regolare:

=VLOOKUP($D,$A:$B,2,FALSE)

E funzionerà bene finché i vostri utenti inseriscono un numero valido in D2. Ma cosa succede se un utente inserisce un numero che non esiste? In questo caso, lasciamo che chiami l’ufficio centrale! Per questo, inserite la formula di cui sopra nell’argomento value di IFERROR, e mettete un altro Vlookup nell’argomento value_if_error.

La formula completa è un po’ lunga, ma funziona perfettamente:

=IFERROR(VLOOKUP("office "&$D,$A:$B,2,FALSE),VLOOKUP("central office",$A:$B,2,FALSE))

Se il numero dell’ufficio viene trovato, l’utente ottiene il numero di interno corrispondente:

Se il numero dell’ufficio non viene trovato, viene visualizzato l’interno dell’ufficio centrale:

Per rendere la formula un po’ più compatta, puoi usare un approccio diverso:

Prima di tutto, controlla se il numero in D2 è presente nella colonna di ricerca (nota che abbiamo impostato col_index_num a 1 perché la formula cerchi e restituisca il valore dalla colonna A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

Se il numero di ufficio specificato non viene trovato, allora cerchiamo la stringa “ufficio centrale”, che è sicuramente nella lista di ricerca. Per questo, si avvolge il primo VLOOKUP in IFERROR e si annida tutta questa combinazione all’interno di un’altra funzione VLOOKUP:

=VLOOKUP(IFERROR(VLOOKUP(D2,$A:$B,1,FALSE),"central office"),$A:$B,2)

Bene, una formula leggermente diversa, lo stesso risultato:

Ma qual è il motivo di cercare “ufficio centrale”, mi chiederete. Perché non fornire il numero di interno direttamente in IFERROR? Perché l’interno potrebbe cambiare in futuro. Se questo accade, dovrai aggiornare i tuoi dati solo una volta nella tabella di origine, senza preoccuparti di aggiornare ciascuna delle tue formule VLOOKUP.

Come eseguire VLOOKUP sequenziali in Excel

In situazioni in cui è necessario eseguire i cosiddetti Vlookup sequenziali o concatenati in Excel a seconda che una ricerca precedente sia riuscita o fallita, annidate due o più funzioni IFERROR per eseguire i vostri Vlookup uno per uno:

IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), “Not found”))

La formula funziona con la seguente logica:

Se il primo VLOOKUP non trova nulla, il primo IFERROR intrappola un errore ed esegue un altro VLOOKUP. Se il secondo VLOOKUP fallisce, il secondo IFERROR cattura un errore ed esegue il terzo VLOOKUP, e così via. Se tutti i Vlookup inciampano, l’ultimo IFERROR restituisce il vostro messaggio.

Questa formula IFERROR annidata è particolarmente utile quando dovete eseguire Vlookup su più fogli come mostrato nell’esempio seguente.

Diciamo che avete tre liste di dati omogenei in tre diversi fogli di lavoro (numeri di ufficio in questo esempio), e volete ottenere un interno per un certo numero.

Assumendo che il valore di ricerca sia nella cella A2 del foglio corrente, e che l’intervallo di ricerca sia A2:B5 in 3 diversi fogli di lavoro (Nord, Sud e Ovest), la seguente formula funziona benissimo:

=IFERROR(VLOOKUP(A2,North!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,South!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,West!$A:$B,2,FALSE),"Not found")))

Quindi, la nostra formula “Vlookups concatenati” cerca in tutti e tre i fogli nell’ordine in cui li abbiamo annidati nella formula, e porta la prima corrispondenza che trova:

Questo è come si usa IFERROR con VLOOKUP in Excel. Ti ringrazio per aver letto e spero di vederti sul nostro blog la prossima settimana!

Download disponibili

Esempi di formula Excel IFERROR VLOOKUP

Ti potrebbe interessare anche

  • Funzione Excel IFERROR con esempi di formula
  • Utilizzo di IF con VLOOKUP in Excel
  • Tutorial Excel VLOOKUP per principianti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.