Formula SE ERRORE in Excel, VBA e Fogli Google

Questo tutorial mostra come utilizzare la funzione SEERRORE di Excel per rilevare gli errori di formula, sostituendoli con un'altra formula, un valore vuoto, 0 o un messaggio personalizzato.

IFERROR Panoramica della funzione

La funzione IFERROR Controlla se una formula genera un errore. Se FALSE, restituisce il risultato originale della formula. Se TRUE, restituisce un altro valore specificato.

Sintassi IFERROR

Per utilizzare la funzione SEERRORE del foglio di lavoro Excel, seleziona una cella e digita:
=SE ERRORE(
Notare come vengono visualizzati gli input della formula SEERRORE:

Sintassi e input della funzione IFERROR:

1 =IFERROR(VALUE,value_if_error)

valore - Un espressione. Esempio: 4/LA1

valore_se_errore - Valore o Calcolo da eseguire se l'input precedente genera un errore. Esempio 0 o “” (vuoto)

Che cos'è la funzione SEERRORE?

La funzione SE.ERRORE rientra nella categoria delle funzioni logiche in Microsoft Excel, che include VAL.VALORE, VAL.ERRORE e VAL.ERR. Tutte queste funzioni aiutano a rilevare e gestire gli errori di formula.

SE.ERRORE consente di eseguire un calcolo. Se il calcolo non genera un errore, viene visualizzato il risultato del calcolo. Se il calcolo fa genera un errore, quindi viene eseguito un altro calcolo (o viene emesso un valore statico come 0, vuoto o del testo).

Quando useresti la funzione SEERRORE?

  • Quando si dividono i numeri per evitare errori causati dalla divisione per 0
  • Quando si eseguono ricerche per evitare errori se il valore non viene trovato.
  • Quando si desidera eseguire un altro calcolo se il primo risulta in un errore (es. cercare un valore in un 2ns tabella se non si trova nella prima tabella)

Gli errori di formula non gestiti possono causare errori all'interno della cartella di lavoro, ma gli errori visibili rendono anche il foglio di calcolo meno attraente.

Se errore allora 0

Diamo un'occhiata a un esempio di base. Di seguito stai dividendo due numeri. Se provi a dividere per zero riceverai un errore:

Invece, inserisci il calcolo all'interno della funzione SE.ERRORE e se dividi per zero viene emesso uno 0 invece di un errore:

1 =SE ERRORE(LA2/B2,0)

Se errore allora vuoto

Invece di impostare gli errori su 0, puoi impostarli su "vuoti" con doppie virgolette (""):

1 =SE ERRORE(A2/B2,"")

Vedremo più utilizzi IFERROR con la funzione VLOOKUP…

SE ERRORE con CERCA.VERT

Le funzioni di ricerca come CERCA.VERT genereranno errori se il valore di ricerca non viene trovato. Come mostrato sopra, puoi utilizzare la funzione IFERROR per sostituire gli errori con spazi ("") o 0:

1 =IFERROR(VLOOKUP(A2,LookupTable1!$A$2:$B$4,2,FALSE),"non trovato")

Se errore, fai qualcos'altro

La funzione SEERRORE può essere utilizzata anche per eseguire un 2° calcolo se il 1° calcolo risulta in un errore:

12 =SEERRORE(CERCA.VERT(A2,TableTable1!$A$2:$B$4,2,FALSO),CERCA.VERT(A2,Table2 di ricerca!$A$2:$B$4,2,FALSO))

Qui se i dati non vengono trovati in "LookupTable1" viene invece eseguito un VLOOKUP su "LookupTable2".

Altri esempi di formule IFERROR

IFERROR nidificato - VLOOKUP Fogli multipli

Puoi annidare un IFERROR all'interno di un altro IFERROR per eseguire 3 calcoli separati. Qui useremo due IFERROR per eseguire VLOOKUP su 3 fogli di lavoro separati:

123 =SEERRORE(CERCA.VERT(A2,TableTable1!$A$2:$B$4,2,FALSO),SEERRORE(CERCA.VERT(A2,Table2 di ricerca!$A$2:$B$4,2,FALSO),CERCA.VERT(A2,TableTable3!$A$2:$B$4,2,FALSE)))

Indice / Corrispondenza e XLOOKUP

Naturalmente, IFERROR funzionerà anche con le formule Index/Match e XLOOKUP.

SE ERRORE X CERCA

La funzione CERCA.X è una versione avanzata della funzione CERCA.VERT.

1 =IFERROR(XLOOKUP(A2,LookupTable1!$A$2:$A$4,LookupTable1!$B$2:$B$4);"Non trovato")

INDICE DI ERRORE / CORRISPONDENZA

INDEX e MATCH possono essere utilizzati per creare VLOOKUP più potenti (in modo simile a come funziona la nuova funzione XLOOKUP) in Excel.

1 =IFERROR(INDEX(LookupTable1!$B$2:$B$4,MATCH(A3,LookupTable1!$A$2:$A$4,0)),"Non trovato")

IFERROR negli array

Le formule di matrice in Excel vengono utilizzate per eseguire diversi calcoli tramite un'unica formula. Supponiamo che ci siano tre colonne di Anno, Vendite e Prezzo medio. Puoi scoprire la quantità totale con la seguente formula nella colonna E.

1 {=SOMMA($B$2:$B$4/$C$2:$C$4)}

La formula funziona bene finché non tenta di dividere per zero, risultando in #DIV/0! errore.

Puoi usare la funzione IFERROR in questo modo per risolvere l'errore:

1 {=SOMMA(SEERRORE($B$2:$B$4/$C$2:$C$4,0))}

Notare che la funzione SE.ERRORE deve essere nidificata all'interno della funzione SOMMA, altrimenti SE ERRORE si applicherà alla somma totale e non a ogni singolo elemento nell'array.

IFNA contro IFERROR

La funzione IFNA funziona esattamente come la funzione IFERROR tranne che la funzione IFNA catturerà solo gli errori #N/A. Questo è estremamente utile quando si lavora con le funzioni di ricerca: gli errori di formula regolari verranno comunque rilevati, ma non verrà visualizzato alcun errore se il valore di ricerca non viene trovato.

1 =IFNA(CERCA.VERT(A2,TableTable1!$A$2:$B$4,2,FALSE),"Non trovato")

Se ISERROR

Se stai ancora utilizzando Microsoft Excel 2003 o una versione precedente, puoi sostituire SE ERRORE con una combinazione di SE e VAL.ERRORE. Ecco un breve esempio:

1 =SE(VAL.ERRORE(A2/B2),0,A2/B2)

SE ERRORE in Fogli Google

La funzione SEERRORE funziona esattamente allo stesso modo in Fogli Google come in Excel:

IFERROR Esempi in VBA

VBA non ha una funzione SEERRORE incorporata, ma puoi anche accedere alla funzione SEERRORE di Excel da VBA:

12 Dim n il più a lungon = Application.WorksheetFunction.IfError(Value, value_if_error)

Application.WorksheetFunction ti dà accesso a molte (non tutte) funzioni di Excel in VBA.

In genere IFERROR viene utilizzato durante la lettura dei valori dalle celle. Se una cella contiene un errore, VBA potrebbe generare un messaggio di errore durante il tentativo di elaborare il valore della cella. Prova questo con il codice di esempio di seguito (dove la cella B2 contiene un errore):

1234567891011 Sotto IFERROR_VBA()Dim n As Long, m As Long"IFERRORE"n = Application.WorksheetFunction.IfError(Range("b2").Value, 0)"Nessun SEERRORE"m = Intervallo ("b2"). ValoreFine sottotitolo

Il codice assegna la cella B2 a una variabile. La seconda assegnazione di variabile genera un errore perché il valore della cella è #N/A, ma la prima funziona correttamente a causa della funzione SEERRORE.

Puoi anche usare VBA per creare una formula contenente la funzione SE ERRORE:

1 Intervallo("C2").FormulaR1C1 = "=IFERROR(RC[-2]/RC[-1],0)"

La gestione degli errori in VBA è molto diversa da quella in Excel. In genere, per gestire gli errori in VBA, utilizzerai VBA Error Handling. La gestione degli errori VBA si presenta così:

12345678910111213141516171819 SottotestWS()MsgBox DoesWSExist("test")Fine sottotitoloFunzione DoesWSExist(wsName As String) As BooleanDim ws come foglio di lavoroIn caso di errore Riprendi AvantiImposta ws = Fogli (wsName)'Se l'errore WS non esisteSe Err.Number 0 AlloraDoesWSExist = FalseAltroDoesWSExist = TrueFinisci seIn caso di errore Vai a -1Fine funzione

Nota che usiamo Se Err.Number 0 Allora per identificare se si è verificato un errore. Questo è un modo tipico per rilevare gli errori in VBA. Tuttavia, la funzione SEERRORE ha alcuni usi quando si interagisce con le celle di Excel.

wave wave wave wave wave