Sommario
L'esercitazione mostra come utilizzare IFERROR in Excel per individuare gli errori e sostituirli con una cella vuota, un altro valore o un messaggio personalizzato. Si apprenderà come utilizzare la funzione IFERROR con Vlookup e Index Match e come si confronta con IF ISERROR e IFNA.
"Datemi un posto dove stare e muoverò la terra", disse una volta Archimede. "Datemi una formula e farò in modo che restituisca un errore", direbbe un utente di Excel. In questa esercitazione non vedremo come restituire gli errori in Excel, ma impareremo piuttosto come prevenirli per mantenere i vostri fogli di lavoro puliti e le vostre formule trasparenti.
Funzione IFERROR di Excel: sintassi e usi di base
La funzione IFERROR di Excel è progettata per intrappolare e gestire gli errori nelle formule e nei calcoli. In particolare, IFERROR controlla una formula e, se la valutazione è un errore, restituisce un altro valore specificato dall'utente; altrimenti, restituisce il risultato della formula.
La sintassi della funzione IFERROR di Excel è la seguente:
IFERROR(valore, valore_if_errore)Dove:
- Valore (obbligatorio) - cosa controllare per gli errori. Può essere una formula, un'espressione, un valore o un riferimento di cella.
- Valore_se_errore (obbligatorio) - cosa restituire in caso di errore. Può essere una stringa vuota (cella vuota), un messaggio di testo, un valore numerico, un'altra formula o un calcolo.
Ad esempio, quando si dividono due colonne di numeri, si possono ottenere diversi errori se una delle colonne contiene celle vuote, zeri o testo.
Per evitare che ciò accada, utilizzate la funzione IFERROR per catturare e gestire gli errori nel modo desiderato.
Se errore, allora vuoto
Fornite una stringa vuota (") all'opzione valore_se_errore per restituire una cella vuota se viene riscontrato un errore:
=IFERROR(A2/B2, "")
In caso di errore, mostrare un messaggio
È anche possibile visualizzare un messaggio personalizzato invece della notazione di errore standard di Excel:
=IFERROR(A2/B2, "Errore di calcolo")
5 cose da sapere sulla funzione IFERROR di Excel
- La funzione IFERROR di Excel gestisce tutti i tipi di errore, compresi #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! e #VALUE!
- A seconda del contenuto del file valore_se_errore IFERROR può sostituire gli errori con un messaggio di testo personalizzato, un numero, una data o un valore logico, il risultato di un'altra formula o una stringa vuota (cella vuota).
- Se il valore è una cella vuota, viene trattata come una stringa vuota (''') ma non come un errore.
- IFERROR è stato introdotto in Excel 2007 ed è disponibile in tutte le versioni successive di Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 ed Excel 365.
- Per intrappolare gli errori in Excel 2003 e versioni precedenti, utilizzate la funzione ISERROR in combinazione con IF, come mostrato in questo esempio.
Esempi di formula IFERROR
Gli esempi seguenti mostrano come utilizzare IFERROR in Excel in combinazione con altre funzioni per svolgere compiti più complessi.
Excel IFERROR con Vlookup
Uno degli usi più comuni della funzione IFERROR è quello di segnalare agli utenti che il valore che stanno cercando non esiste nell'insieme dei dati. A tale scopo, si avvolge una formula VLOOKUP in IFERROR in questo modo:
IFERROR(VLOOKUP( ... ), "Non trovato")Se il valore di ricerca non è presente nella tabella in cui si sta cercando, una normale formula Vlookup restituirebbe l'errore #N/A:
Per agevolare gli utenti, avvolgete VLOOKUP in IFERROR e visualizzate un messaggio più informativo e facile da usare:
=IFERROR(VLOOKUP(A2, 'Tabella di ricerca'!$A$2:$B$4, 2,FALSE), "Non trovato")
La schermata seguente mostra la formula Iferror in Excel:
Se si desidera catturare solo gli errori #N/A ma non tutti gli errori, utilizzare la funzione IFNA invece di IFERROR.
Per ulteriori esempi di formule IFERROR VLOOKUP di Excel, consultate queste esercitazioni:
- Iferror con Vlookup per intrappolare e gestire gli errori
- Come ottenere l'ennesima occorrenza del valore di ricerca
- Come ottenere tutte le occorrenze di un valore di ricerca
Funzioni IFERROR annidate per eseguire Vlookup sequenziali in Excel
Quando è necessario eseguire più Vlookup in base al successo o al fallimento della Vlookup precedente, è possibile annidare due o più funzioni IFERROR una nell'altra.
Supponiamo di avere una serie di report sulle vendite delle filiali regionali della nostra azienda e di voler ottenere un importo per un determinato ID ordine. Con A2 come valore di ricerca nel foglio corrente e A2:B5 come intervallo di ricerca in 3 fogli di ricerca (Report 1, Report 2 e Report 3), la formula è la seguente:
=IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0),non trovato))
Il risultato sarà simile a questo:
Per una spiegazione dettagliata della logica della formula, vedere Come eseguire Vlookup sequenziali in Excel.
IFERROR nelle formule di array
Come probabilmente sapete, le formule di matrice in Excel servono a eseguire più calcoli all'interno di una singola formula. Se si fornisce una formula o un'espressione di matrice che risulta in una matrice nell'elemento valore della funzione IFERROR, restituirà una matrice di valori per ogni cella dell'intervallo specificato. L'esempio seguente mostra i dettagli.
Diciamo che avete Totale nella colonna B e Prezzo nella colonna C e si vuole calcolare Quantità totale Questo può essere fatto utilizzando il seguente metodo formula dell'array, che divide ogni cella dell'intervallo B2:B4 per la cella corrispondente dell'intervallo C2:C4 e poi somma i risultati:
=SOMMA($B$2:$B$4/$C$2:$C$4)
La formula funziona bene se l'intervallo del divisore non contiene zeri o celle vuote. Se c'è almeno un valore 0 o una cella vuota, viene restituito l'errore #DIV/0!
Per risolvere l'errore, è sufficiente eseguire la divisione all'interno della funzione IFERROR:
=SOMMA(IFERROR($B$2:$B$4/$C$2:$C$4,0))
La formula consiste nel dividere un valore della colonna B per un valore della colonna C in ogni riga (100/2, 200/5 e 0/0) e restituire l'array di risultati {50; 40; #DIV/0!}. La funzione IFERROR cattura tutti gli errori #DIV/0! e li sostituisce con degli zeri. Infine, la funzione SUM somma i valori nell'array risultante {50; 40; 0} e fornisce il risultato finale (50+40=90).
Nota: ricordate che le formule di matrice devono essere completate premendo la scorciatoia Ctrl + Maiusc + Invio.
IFERROR vs. IF ISERROR
Ora che sapete quanto sia facile usare la funzione IFERROR in Excel, vi chiederete perché alcuni continuano a preferire la combinazione IF ISERROR. Ha qualche vantaggio rispetto a IFERROR? Nessuno. Ai vecchi tempi di Excel 2003 e inferiori, quando IFERROR non esisteva, IF ISERROR era l'unico modo possibile per intrappolare gli errori. In Excel 2007 e successivi, è solo un modo un po' più complesso perottenere lo stesso risultato.
Ad esempio, per individuare gli errori di Vlookup, è possibile utilizzare una delle formule seguenti.
In Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( ... ), "Non trovato")In tutte le versioni di Excel:
IF(ISERROR(VLOOKUP(...)), "Non trovato", VLOOKUP(...))Si noti che nella formula IF ISERROR VLOOKUP è necessario eseguire Vlookup due volte. In parole povere, la formula può essere letta come segue: se Vlookup produce un errore, restituire "Non trovato", altrimenti restituire il risultato di Vlookup.
Ecco un esempio reale di formula di Excel If Iserror Vlookup:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Non trovato", VLOOKUP(D2, A2:B5,2,FALSE ))
Per ulteriori informazioni, vedere Utilizzo della funzione ISERROR in Excel.
IFERROR vs. IFNA
Introdotta con Excel 2013, IFNA è un'ulteriore funzione per verificare la presenza di errori in una formula. La sua sintassi è simile a quella di IFERROR:
IFNA(valore, valore_if_na)In cosa si differenzia IFNA da IFERROR? La funzione IFNA cattura solo errori #N/A mentre IFERROR gestisce tutti i tipi di errore.
In quali situazioni è consigliabile utilizzare IFNA? Quando non è saggio mascherare tutti gli errori. Ad esempio, quando si lavora con dati importanti o sensibili, è possibile che si voglia essere avvisati di possibili errori nel set di dati e i messaggi di errore standard di Excel con il simbolo "#" potrebbero essere dei vividi indicatori visivi.
Vediamo come creare una formula che visualizzi il messaggio "Non trovato" invece dell'errore N/A, che appare quando il valore di ricerca non è presente nel set di dati, ma che porta all'attenzione altri errori di Excel.
Supponiamo di voler estrarre Qtà. dalla tabella di ricerca alla tabella di riepilogo, come mostrato nella schermata sottostante. L'utilizzo della formula Vlookup di Excel Iferror produrrebbe un risultato esteticamente gradevole, ma tecnicamente non corretto perché Limoni esistono nella tabella di ricerca:
Per catturare #N/A ma visualizzare l'errore #DIV/0, utilizzare la funzione IFNA in Excel 2013 e Excel 2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Non trovato")
Oppure, la combinazione IF ISNA in Excel 2010 e versioni precedenti:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Non trovato", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
La sintassi delle formule IFNA VLOOKUP e IF ISNA VLOOKUP è simile a quella di IFERROR VLOOKUP e IF ISERROR VLOOKUP descritte in precedenza.
Come mostrato nella schermata seguente, la formula Ifna Vlookup restituisce "Non trovato" solo per l'elemento che non è presente nella tabella di ricerca ( Pesche ). Per Limoni mostra #DIV/0! indicando che la nostra tabella di ricerca contiene un errore di divisione per zero:
Per maggiori dettagli, vedere Utilizzo della funzione IFNA in Excel.
Migliori pratiche per l'utilizzo di IFERROR in Excel
Ormai sapete già che la funzione IFERROR è il modo più semplice per individuare gli errori in Excel e mascherarli con celle vuote, valori zero o messaggi personalizzati. Tuttavia, questo non significa che dobbiate riempire ogni formula con la gestione degli errori. I seguenti semplici consigli possono aiutarvi a mantenere l'equilibrio.
- Non intrappolate errori senza un motivo.
- Avvolge la parte più piccola possibile di una formula in IFERROR.
- Per gestire solo errori specifici, utilizzare una funzione di gestione degli errori con un ambito più ristretto:
- IFNA o IF ISNA per catturare solo gli errori #N/A.
- ISERR per catturare tutti gli errori tranne #N/A.
Ecco come si usa la funzione IFERROR in Excel per intrappolare e gestire gli errori. Per dare un'occhiata più da vicino alle formule discusse in questa esercitazione, potete scaricare la nostra cartella di lavoro IFERROR di Excel di esempio. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana.