Excel: funzioni SE, SE.ERRORE, SE.NON.DISP e nidificate
Nidificate con E, O, NON, FALSO, VERO
Autore: Andrea Pacchiarotti
Ultimo aggiornamento: 03 Marzo 2018
Categoria: Microsoft Office Excel
La funzione SE di Microsoft Office Excel è probabilmente una delle più conosciute di Excel, essa permette di eseguire confronti logici tra un valore e un risultato previsto. Esiste la funzione semplice SE, ma anche altre che ne fanno uso come ad esempio SOMMA.SE, CONTA.SE, MEDIA.SE, SOMMA.PIÚ.SE, CONTA.PIÚ.SE, MEDIA.PIÚ.SE ed altre, oltre ovviamente a tutte le nidificate che ne fanno uso (dalla versione Excel 2007 è possibile utilizzare fino a 64 funzioni SE nidificate, prima erano 7).
Insieme alle funzioni E, O, FALSO, VERO, NON, SE.ERRORE, SE.NON.DISP fa parte delle formule logiche dell'applicativo Excel.
Come tutte le altre funzioni di Excel è possibile inserirla a mano o sfruttando una finestra di riferimento.
Indice Funzione SE
- Funzione SE
- Uso degli operatori di confronto
- Errori comuni nei risultati
- Esempi
- SE con le date
- Esempi
- SE con VAL.VUOTO, VAL.NUMERO, VAL.TESTO
- Esempi
- Funzioni SE.ERRORE, SE.NON.DISP
- Esempi
- Conclusioni
Funzione SE
La funzione SE verifica se un valore rispetta una condizione impostata e dà un risultato se la condizione restituisce VERO e un altro risultato se restituisce FALSO.
Ad esempio, =SE(A1>10,"Maggiore di 10","Minore o uguale a 10") restituisce il testo "Maggiore di 10" se il valore contenuto in A1 è maggiore di 10 ed il testo "Minore o uguale a 10" se il valore contenuto in A1 è minore o uguale a 10.
SINTASSI
=SE(test;severo;sefalso)
- test. La condizione da verificare sul valore sotto forma di testo logico. Prevede l'utilizzo degli operatori di confronto.
- severo. Facoltativo. Valore che viene restituito se l'argomento test risulta VERO.
- sefalso. Falcoltativo. Valore che viene restituito se l'argomento test risulta FALSO.
Se l'esito del SE corrisponde a una parola o frase che deve comparire nella cella, tale testo va tra virgolette, come nell’esempio precedente: =SE(A1>10,"Maggiore di 10","Minore o uguale a 10"). Se invece deve comparire un numero questo non va tra virgolette: tale numero può essere scritto o scaturire da una funzione. Può anche comparire uno spazio “ “ o il valore inserito in un’altra cella se imposto nel severo o nel sefalso il riferimento di cella. Se ometto il severo o il sefalso comparirà rispettivamente la parola VERO (o 0) o FALSO, il che non permette di personalizzare la risposta,dunque è sempre meglio utilizzare questi due argomenti anche se facoltativi.
Uso degli operatori di confronto
Per poter utilizzare la funzione SE è necessario effettuare nel primo argomento un confronto; ciò è possibile attraverso l'uso degli operatori di confronto che sono:
- = uguale
- > maggiore
- < minore
- >= maggiore uguale
- <= minore uguale
- <> diverso
Errori comuni nei risultati
Se nella cella del risultato si ottiene:
- 0 (zero): non è stato specificato un argomento per severo o sefalso; aggiungere del testo ai due argomenti o aggiungere vero o falso all'argomento
- #NOME?: probabilmente la formula non è stata digitata correttamente.
Esempi di funzione SE

Esercizi:
- Far apparire da C2 a C5 Risparmio se la PREVISIONE risulta maggiore del PREZZO FINALE, altrimenti far apparire Perdita
=SE(A2>B2;"Risparmio";"Perdita") - Far apparire da C2 a C5 Diverso se la PREVISIONE risulta diversa del PREZZO FINALE, altrimenti lascia vuota la cella
=SE(A2<>B2;"Diverso";"") - Far apparire in D2 Iniziare i lavori se la somma del PREZZO FINALE risulta inferiore a 10.000 euro, altrimenti far apparire Non iniziare i lavori
=SE(SOMMA(C4:C7)<=10000;"Iniziare i lavori";"Non iniziare") - Far apparire in D3 il Costo previsionale medio senza usare la funzione MEDIA
=SE(SOMMA(A4:A7);SOMMA(A4:A7)/CONTA.NUMERI(A4:A7))

Esercizio:
- Far apparire da B2 a B6 Sì se il Fatturato raggiunto dall’agente è stato pari almeno a C2, altrimenti far apparire No (ripassa i riferimenti di Excel)
=SE(A2>=C$2;”Sì”;”No”)

Esercizi:
- Far apparire in D3 Ammesso, se l’allievo ha ottenuto almeno 6 sia allo scritto che all’orale, altrimenti far apparire Respinto
=SE(E(C13>=6;D13>=6);"Ammesso";"Respinto") - Far apparire in E3 Ammesso, se l’allievo ha ottenuto almeno 6 nello scritto o nell’orale, altrimenti far apparire Respinto
=SE(O(C13>=6;D13>=6);"Ammesso";"Respinto") - Far apparire in G3 Ammesso, se l’allievo ha ottenuto almeno 6 nello scritto, nell’orale e nella pratica, altrimenti far apparire Respinto
=SE(E(B3>=6;C3>=6;F3>=6);"Ammesso";"Respinto") - Far apparire in H3 Promosso, se la media è da 6 in su, Rimandato se è tra 5,5 ed inferiore a 6, Respinto se inferiore a 5,5
=SE(MEDIA(B3;C3;F3)>=6;"Promosso";SE(MEDIA(B3;C3;F3)<5,5;"Respinto";"Rimandato")
Per testare diversi gruppi di più condizioni è necessario l’impiego contemporaneo di SE, E, O.
Basta esprimere le due condizioni con E e racchiuderle all’interno di O in quanto non devono essere soddisfatte contemporaneamente, ad esempio se l'allievo per essere Promosso deve conseguire almeno 6 all'orale e alla pratica o almeno 6 all'orale e allo scritto, si avrà:
=SE(O(E(B3>=6;F3>=6);E(B3>=6;C3>=6));"Ammesso";"Respinto")
Esercizio:
- Far apparire da B2 a B6 A se il voto va da 90 in su, B da 80 a 89, C da 70 a 79, D da 60 a 69, E da 0 a 59
=SE(A2>89;"A";SE(A2>79;"B";SE(A2>69;"C";SE(A2>59;"D";SE(A2>=0;"E")))))
Occorre quest’ordine. È possibile annidare fino a 64 funzioni SE come argomenti severo e sefalso per creare test più elaborati

Esercizio:
- Far apparire da C2 a C5 lo Stipendio netto ottenuto detraendo dallo Stipendio lordo la relativa percentuale in base allo scaglione
=SE(B2>=40000;B2-B2*7,5/100;SE(B2>25000;B2-B2*5/100;SE(B2>20000;B2-B2*2,5/100;SE(B2<=20000;B2-B2*1,5/100))))
Occorre quest’ordine

Esercizio:
- Far apparire da E2 ad E6 Peso ideale se il Peso oscilla tra 78 e 82, Sovrappeso da 83 in su e Sottopeso da 77 in giù
=SE(E(B2>=78;B2<=82);"Peso ideale";SE(B2>=83;"Sovrappeso";SE(B2<=77;"Sottopeso")))
=SE(E(B2>=78;B2<=82);"Peso ideale";SE(B2>=83;"Sovrappeso";"Sottopeso"))
SE con le date
Differentemente da altre funzioni di Excel, SE non riconosce le date considerandole stringhe di testo, non è dunque possibile usarle direttamente nei test logici, ad esempio A1>8/10/2018, ma funzionano solo se all’interno della funzione DATA.VALORE.
In C2: =SE(B2<DATA.VALORE(“8/10/2018”);”Imballato”;”Da imballare”)
Se la condizione si basa sulla data corrente si può usare la funzione OGGI():
=SE(B2<OGGI(); "Completato"; "In arrivo")
In D2: =SE(B2-OGGI()>30;"Da imballare";"") per date che si verificheranno a più di 30 giorni da oggi
In E2: =SE(OGGI()-B2>30;"Imballato";"") per date che si sono verificati più di 30 giorni fa
In F2: =SE(B2-OGGI()>30;"Da imballare";SE(OGGI()-A2>30;"Imballato";"")) per avere entrambe le indicazioni nella stesso campo
SE con VAL.VUOTO, VAL.NUMERO, VAL.TESTO
Il SE con le funzioni VAL.VUOTO, VAL.NUMERO e VAL.TESTO servono quando si ha a che fare con celle vuote o non vuote, celle con numeri e celle con testo.
Riguardo l'esempio dell'immagine precedente e volendo contrassegnare come:
- Ordine completato una data che è stata valorizzata (in questo caso lo sono tutte), siccome non ci sono stringhe di lunghezza zero, si può indifferentemente usare:
=SE(B2<>""; "Ordine completato"; "")
=SE(VAL.VUOTO(B2)=FALSO; "Ordine completato"; "") - Testo, Numero, Vuoto rispettivamente le celle contenenti testo, numeri o nulla, si userà:
=SE(VAL.TESTO(B2);"Testo";SE(VAL.NUMERO(B2);"Numero";SE(VAL.VUOTO(B2);"Vuoto";"")))
Funzioni SE.ERRORE, SE.NON.DISP
Catturano gli errori generati dalle formule restituendo un valore che si può specificare.
SE.ERRORE gestisce tutti gli errori di Excel, tra cui #VALORE!, #N/D, #NOME?, #RIF!, #NUM!, #DIV/0!, #NULL!
SE.NON.DISP. solo negli errori #N/D.
In Excel i messaggi d’errore sono introdotti dal simbolo di cancelletto # (a parte l’errore di riferimento circolare) e appaiono perché non vengono rispettate determinate caratteristiche richieste dalle funzioni, nella cella in cui si è scritta la funzione comparirà così un errore di:
- #VALORE! quando il tipo dati fornito non corrisponde a quello atteso dalla funzione, ad esempio la somma di un valore testuale con uno numerico
- #RIF! quando un riferimento di cella è stato eliminato o spostato
- #DIV/0! quando si tenta di dividere per zero, il che non è possibile
- #NOME? quando si sbaglia il nome di una formula o non si racchiude una stringa tra virgolette o si sbaglia a scrivere un riferimento di cella
- #NULLO! quando Excel non riesce a capire un intervallo di cella perché per esempio si inserisce uno spazio tra gli argomenti
- #N/D quando una funzione non trova il valore richiesto
- #NUM! quando si dà un numero invalido in un argomento perché ad esempio si fornisce un numero negativo anziché positivo
- ###### è un falso errore e sta a significare che una colonna (o campo) non è abbastanza larga o si sono usate date o ore negative
- Riferimento circolare: si ha se una formula adopera come argomento la cella in cui si sta digitando la formula stessa, es. in A5 scrivo =MEDIA(A1:A10). L’errore non è introdotto da un cancelletto #, ma da una finestra
SINTASSI
SE.ERRORE(valore;se_errore)
SE.NON.DISP.(valore;se_nd)
- valore. Argomento in cui verificare la presenza di un errore
- se_errore. Valore da restituire se la funzione restituisce uno tra i seguenti errori: #N/D, #VALORE!, #RIF!, #DIV/0!, #NUM!, #NOME? o #NULLO!
- se_nd Valore da restituire se la funzione restituisce l'errore #N/D
Esercizio:
- Ottenere la percentuale di unità vendute
- 30 diviso 200 non dà errori, la funzione restituisce il risultato 15%
=SE.ERRORE(B2/A2; "Spiacente, è stato riscontrato un errore") - 0 diviso 100 non dà errori, la funzione restituisce il risultato 0%
=SE.ERRORE(B3/A3; "Spiacente, è stato riscontrato un errore")
- 20 diviso 0 dà errore di divisione per 0, la funzione restituisce quanto scritto nell'argomento se_errore ovvero Errore
=SE.ERRORE(B4/A4; "Spiacente, è stato riscontrato un errore")
- 30 diviso 200 non dà errori, la funzione restituisce il risultato 15%
Conclusioni
Dopo aver visto tutti questi usi della funzione logica SE, si potrebbe pensare di aver esaurito l'uso tipico e ripetuto che se ne fa, ma in realtà le sfaccettature del SE sono infinite per cui non ci si scoraggi e si punti sempre al massimo fino a risolvere le innumerevoli situazioni che richiedono la verifica di una condizione.
Per ricevere nella tua mail tips and tricks, ovvero suggerimenti e trucchi su Microsoft Office e Web in generale iscriviti gratuitamente alla newsletter