=SE.ERRORE(B2/C2;0) restituisce il risultato di B2/C2, oppure 0 quando quel risultato è un errore. Il primo argomento è la formula che vuoi; il secondo è ciò che va mostrato al posto di qualsiasi errore essa produca. SE.ERRORE si chiama IFERROR in Excel inglese, ed è così che la mostra la tabella: =IFERROR(B2/C2,0). Puoi scrivere le formule anche in italiano, con il punto e virgola.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Revenue | Units | Plain | With IFERROR |
| 2 | Pens | $120 | 80 | $1.50 | $1.50 |
| 3 | Paper | $300 | 50 | $6.00 | $6.00 |
| 4 | Ink | $90 | 0 | #DIV/0! | $0.00 |
| 5 | Tape | $45 | 30 | $1.50 | $1.50 |
| 6 | Clips | $0 | 0 | #DIV/0! | $0.00 |
=SE.ERRORE(B2/C2;0)Ink e Clips hanno 0 unità, quindi la divisione semplice nella colonna D mostra #DIV/0!. La colonna E mostra $0.00 per loro e il prezzo normale per ogni altra riga. Scrivi 15 in C4 ed entrambe le colonne mostrano il prezzo di Ink.
Sintassi di SE.ERRORE
=IFERROR(value, value_if_error)
value(valore) è la formula da calcolare.value_if_error(valore_se_errore) viene restituito quandovalueè un errore qualsiasi: #N/D, #VALORE!, #RIF!, #DIV/0!, #NUM!, #NOME?, #NULLO!, e quelli più recenti come #CALC!. La tabella mostra i nomi degli errori in inglese (#N/A, #VALUE!, #REF!, #NAME?, #NULL!).- Se
valuenon è un errore, SE.ERRORE lo restituisce invariato.
La sostituzione può essere un numero (0), un testo ("Not found"), un testo vuoto ("") o un'altra formula, per esempio una seconda ricerca in un'altra tabella: =SE.ERRORE(CERCA.VERT(E2;A2:C6;3;FALSO);CERCA.VERT(E2;G2:I6;3;FALSO)).
SE.ERRORE con CERCA.VERT
Una ricerca restituisce #N/D quando il valore non è nella tabella. Racchiuderla in SE.ERRORE mostra invece un messaggio:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | Price | |
| 2 | Apple | Fruit | $1.20 | Pear | $1.50 | |
| 3 | Pear | Fruit | $1.50 | Kiwi | Not found | |
| 4 | Carrot | Vegetable | $0.80 | Milk | $1.10 | |
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
=SE.ERRORE(CERCA.VERT(E2;$A$2:$C$6;3;FALSO);"Not found")Kiwi non è nell'elenco, quindi F3 dice Not found. Scrivi Kiwi in A4 al posto di Carrot e F3 lo trova. Con CERCA.X (in inglese XLOOKUP) per questo non ti serve SE.ERRORE, perché il suo quarto argomento è il valore "non trovato": =CERCA.X(E2;A2:A6;C2:C6;"Not found").
SE.NON.DISP.: intercettare solo #N/D
SE.NON.DISP. (in inglese IFNA) funziona come SE.ERRORE ma sostituisce solo #N/D. Per le ricerche di solito è ciò che vuoi: #N/D significa "non trovato", una risposta normale, mentre qualsiasi altro errore significa che la formula stessa è sbagliata. In questa tabella le formule chiedono la colonna 4 di una tabella a tre colonne, un errore di battitura:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | IFERROR | IFNA | |
| 2 | Apple | Fruit | 1.2 | Pear | Not found | #REF! | |
| 3 | Pear | Fruit | 1.5 | ||||
| 4 | Carrot | Vegetable | 0.8 | ||||
| 5 | Bread | Bakery | 2.4 | ||||
| 6 | Milk | Dairy | 1.1 |
=SE.ERRORE(CERCA.VERT(E2;$A$2:$C$6;4;FALSO);"Not found")Pear è nella tabella, eppure F2 dice Not found: SE.ERRORE ha trasformato il #RIF! dovuto al numero di colonna sbagliato nello stesso messaggio di un prodotto mancante. G2 lascia passare il #RIF!, così vedi che la formula è rotta. Cambia il 4 in 3 in G2 e restituisce 1,5. SE.NON.DISP. richiede Excel 2013 o versioni successive.
Restituire una cella vuota invece di un errore
Per non mostrare nulla, usa come sostituzione un testo vuoto, due virgolette doppie:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Last year | This year | Growth |
| 2 | Jan | 200 | 240 | 20% |
| 3 | Feb | 0 | 150 | |
| 4 | Mar | 180 | 171 | -5% |
| 5 | Apr | 90 | ||
| 6 | May | 250 | 300 | 20% |
=SE.ERRORE((C2-B2)/B2;"")Febbraio e aprile non avevano vendite l'anno scorso, quindi la loro crescita non si può calcolare e la cella resta vuota. Gli altri mesi mostrano 20%, meno 5% e 20%. Una cella con "" contiene testo: SOMMA e MEDIA la saltano, ma =D3*2 dà #VALORE!. Se formule successive fanno calcoli sulla colonna, restituisci invece 0.
Esercizio: ricerca con un'alternativa
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Stock | Look for | Stock | ||
| 2 | Apple | 40 | Kiwi | |||
| 3 | Pear | 25 | ||||
| 4 | Carrot | 60 | ||||
| 5 | Bread | 12 | ||||
| 6 | Milk | 30 |
Tocca a te: In F2, cerca la giacenza del prodotto in E2 in A2:B6, e mostra "Not found" quando non è nell'elenco.
Perché nascondere ogni errore può nascondere sbagli
SE.ERRORE non corregge nulla; decide cosa mostra la cella. Prima di racchiudere una formula al suo interno:
- Scopri perché si verifica l'errore. Quando una cella Units vuota causa #DIV/0!, la vera soluzione potrebbe essere un dato che qualcuno deve inserire, non un prezzo pari a zero.
- Per le ricerche preferisci SE.NON.DISP., così un numero di colonna sbagliato (#RIF!), un nome scritto male (#NOME?) o del testo in una colonna di numeri (#VALORE!) restano visibili.
- Per le divisioni verifica il caso specifico.
=SE(C2=0;0;B2/C2)gestisce un divisore zero e nient'altro; un riferimento sbagliato in B2 mostra comunque il suo errore. La pagina su #DIV/0! confronta i due approcci. - Scegli una sostituzione che non si possa scambiare per un dato. Uno 0 in una colonna di prezzi sembra un prezzo vero e abbassa la media;
""o "Not found" no.
Racchiudi la formula per ultima, quando dà il risultato giusto sulle righe che dovrebbero funzionare.
Domande frequenti
Come si usa SE.ERRORE con CERCA.VERT?
Racchiudi la ricerca: =SE.ERRORE(CERCA.VERT(E2;A2:C6;3;FALSO);"Not found"). Quando E2 non è nella prima colonna, la cella mostra Not found invece di #N/D. =SE.NON.DISP.(CERCA.VERT(E2;A2:C6;3;FALSO);"Not found") fa lo stesso e continua a mostrare gli altri errori.
Come faccio a far restituire a SE.ERRORE una cella vuota?
Usa un testo vuoto come secondo argomento: =SE.ERRORE(B2/C2;""). La cella sembra vuota, ma contiene testo, quindi =D2+1 su di essa dà #VALORE!; SOMMA e MEDIA la saltano.
Che differenza c'è tra SE.ERRORE e SE.NON.DISP.?
SE.ERRORE sostituisce ogni errore: #N/D, #DIV/0!, #VALORE!, #RIF!, #NOME?, #NUM! e #NULLO!. SE.NON.DISP. sostituisce solo #N/D, il "non trovato" delle ricerche, e lascia vedere ogni altro errore, così una formula rotta non resta nascosta.
Come si sostituisce #N/D con 0 in Excel?
Racchiudi la formula in SE.NON.DISP. con 0 come valore: =SE.NON.DISP.(CERCA.VERT(E2;A2:C6;3;FALSO);0). CERCA.X ha la sostituzione già integrata come quarto argomento: =CERCA.X(E2;A2:A6;C2:C6;0).
Quali versioni di Excel hanno SE.ERRORE e SE.NON.DISP.?
SE.ERRORE esiste da Excel 2007 e SE.NON.DISP. da Excel 2013. Nei file più vecchi puoi trovare =SE(VAL.ERRORE(B2/C2);0;B2/C2), che fa lo stesso lavoro di SE.ERRORE ma calcola la formula due volte.