La funzione SE di Excel: funzioni SE nidificate con condizioni multiple, SE.ERRORE, SE.NON.DISP. e altro

Nella prima parte del nostro tutorial sulla funzione SE di Excel, abbiamo iniziato a imparare le fondamenta di tale funzione. Come ricorderete, abbiamo esposto alcune formule SE per i numeri, per le date e per i valori di testo, spiegando anche come utilizzare la funzione SE per testare celle vuote e non vuote.

Tuttavia, per una approfondita analisi dei dati, spesso può essere necessario valutare più condizioni allo stesso tempo, il che significa che è necessario costruire test logici più sofisticati utilizzando più funzioni SE nella stessa formula. Gli esempi che seguono vi mostreranno come riuscirci nel modo più corretto. Potrai anche imparare ad usare SE nelle formule matriciali e scoprirai le basi delle funzioni SE.ERRORE e SE.NON.DISP.

Come utilizzare la funzione SE di Excel con più condizioni

In estrema sintesi, ci possono essere 2 tipi basilari di condizioni multiple: con la logica E o con quella O. Di conseguenza, la funzione SE dovrebbe incorporare rispettivamente una funzione E oppure O nel test logico.

  • Funzione E: se il test logico contiene la funzione E, Microsoft Excel restituisce VERO se sono soddisfatte tutte le condizioni; altrimenti restituisce FALSO.
  • Funzione O: nel caso in cui si utilizzi la funzione O nel test logico, Excel restituisce VERO se una delle condizioni è soddisfatta; FALSO in caso contrario.

Per illustrare meglio questo punto, diamo un’occhiata a un paio di esempi SE con condizioni multiple.

Esempio 1. Utilizzare SE con la funzione E in Excel

Supponiamo di avere una tabella con i risultati di due esami. Il primo risultato, memorizzato nella colonna C, deve essere uguale o superiore a 20. Il secondo risultato, elencato nella colonna D, deve essere uguale o superiore a 30. Solo quando sono soddisfatte entrambe le condizioni, uno studente passa l’esame finale.

Il modo più semplice per creare una formula corretta è quello di scrivere prima la condizione, e poi incorporarla nell’argomento test della funzione SE:

Condizione: E(B2>=20; C2>=30)

Formula SE/E=SE((E(C2>=20; D2>=30)); “Superato”; “Fallito”)

Semplice, no? La formula indica a Excel di restituire “Superato” se il valore in colonna C>=20 e il valore in colonna D>=30. Altrimenti, la formula restituisce “Fallito”. La schermata qui sotto dimostra che la nostra formula SE/E è corretta:

la-funzione-se-di-excel-con-condizioni-e-multiple

INFO
Microsoft Excel controlla tutte le condizioni nella funzione E, anche se una delle condizioni già testate risulta FALSO. Tale comportamento è un po’ insolito dal momento che nella maggior parte dei linguaggi di programmazione, le condizioni successive non sono testate se uno dei test precedenti è risultato FALSO.

Nella pratica, una formula SE/E apparentemente corretta può generare un errore a causa di questa specificità. Ad esempio, la formula =SE(E(A2<>0; (1/A2)>0,5); “S”; “N”) restituirà un errore di divisione per zero (#DIV/0!) se la cella A2 è uguale a 0. Per evitare questo comportamento, è necessario utilizzare una funzione SE nidificata: =SE(A2<>0; SE((1/A2)>0,5; “S”; “N”); “N”)

Esempio 2. Utilizzare SE con la funzione O in Excel

Si utilizza la combinazione di funzioni SE e O in un modo simile. La differenza rispetto alle formule SE/E discusse prima è che Excel restituisce VERO se almeno una delle condizioni specificate è soddisfatta.

Quindi, se modifichiamo la formula qui sopra nel seguente modo:

=SE((O(C2>=20; D2>=30)); "Superato"; "Fallito")

la colonna E avrà la dicitura “Superato” sia se il primo risultato è uguale o superiore a 20, sia se il secondo risultato è uguale o superiore a 30.

Come potete vedere nello screenshot qui sotto, i nostri studenti avranno una migliore possibilità di superare l’esame finale secondo queste nuove regole (tutti gli studenti della nostra simulazione lo hanno brillantemente superato 🙂 )

un-esempio-di-formula-se-e-o

Naturalmente, in Excel non siete limitati ad utilizzare solo due funzioni E/O nelle vostre formule. È possibile utilizzare quante funzioni logiche volete, a condizione che:

  • In Excel 2016, 2013, 2010 e 2007, la formula contenga non più di 255 argomenti e la lunghezza totale della formula non superi i 8.192 caratteri.
  • In Excel 2003 e precedenti, è possibile utilizzare fino a 30 argomenti e la lunghezza totale della formula non deve essere superiore a 1.024 caratteri.
LEGGI:  #Excel - Come trovare il valore più grande con criteri [Quick Tip]

Esempio 3. Utilizzare SE con le funzioni E e O

Nel caso in cui dobbiate valutare i dati in base a diversi gruppi di più condizioni, dovrete impiegare sia funzioni E che funzioni O nella stessa formula.

Nella tabella precedente, supponete di avere i seguenti criteri per valutare il successo degli studenti:

  • Condizione 1: colonna C>=20 e colonna D>=25
  • Condizione 2: colonna C>=15 e colonna D>=20

Se una delle condizioni qui sopra è soddisfatta, l’esame finale si considera superato, altrimenti fallito.

La formula potrebbe sembrare complicata, ma in un attimo, vedrete che non è! Non vi resta che esprimere due condizioni, come dichiarazioni E e racchiuderle all’interno della funzione O in quanto non si richiede che entrambe le condizioni vengano soddisfatte, è sufficiente che lo sia una di esse:

O(E(C2>=20; D2>=25); E(C2>=15; D2>=20))

Infine, utilizziamo la formula O qui sopra come argomento test nella funzione SE fornendo poi gli argomenti valore_se_vero e valore_se_falso. Come risultato, avrete la seguente formula SE con condizioni E/O multiple:

=SE(O(E(C2>=20; D2>=25); E(C2>=15; D2>=20)); "Superato"; "Fallito")

Utilizzare funzioni SE multiple in Excel (funzioni SE nidificate)

Se avete la necessità di creare test logici più elaborati per i vostri dati è possibile includere ulteriori istruzioni SE negli argomenti valore_se_vero e valore_se_falso delle vostre formule SE. Questi SE multipli sono chiamati “funzioni SE nidificate” e possono rivelarsi particolarmente utili se si desidera che la formula restituisca 3 o più risultati differenti.

Ecco un esempio facile da capire. Supponiamo che non si desideri semplicemente definire i risultati degli studenti con espressioni come “Superato” o “Fallito”, ma piuttosto classificare il punteggio totale come “buono”, “soddisfacente” e “scarso”. Per esempio:

  • Buono: 60 o più (>=60)
  • Soddisfacente: tra 40 e 60 (>40 e <60)
  • Scarso: 40 o meno (<=40)

Per cominciare, potete aggiungere una colonna (E) con la seguente formula che somma i numeri presenti nelle colonne C e D: =C2+D2

Ed ora, scriviamo una formula SE nidificata in base alle condizioni di cui sopra. È considerato una buona pratica iniziare con la condizione più importante e rendere le funzioni più semplici possibile. La nostra formula Excel nidificata è la seguente:

=SE(E2>=60; "Buono"; SE(E2>40; "Soddisfacente"; "Scarso"))

Come potete vedere, in questo caso è sufficiente una sola funzione SE nidificata. Naturalmente, potete nidificarne anche di più. Per esempio:

=SE(E2>=70; "Eccellente"; SE(E2>=60; "Buono"; SE(E2>40; "Soddisfacente"; "Scarso")))

La formula qui sopra aggiunge una condizione in più: da 70 punti in su, il punteggio è considerato “Eccellente”.

une-sempio-di-funzione-se-nidificata

Ho sentito alcune persone dire che le funzioni SE nidificate le fanno impazzire 🙂 Probabilmente, vi può essere di aiuto pensare alla vostra formula in questo modo:

=SE(E2>=70; "Eccellente"; 
    SE(E2>=60; "Buono"; 
        SE(E2>40; "Soddisfacente"; "Scarso")))

Quello che la formula dice ad Excel di fare è questo: verifica la prima condizione e restituisci il valore fornito nell’argomento se_vero se la condizione è soddisfatta. Se la prima condizione non è soddisfatta, verifica la seconda condizione, e così via.

Funzioni SE nidificate di Excel – Cose da ricordare

  • Nelle versioni moderne di Excel 2016, 2013, 2010 e 2007, è possibile utilizzare fino a 64 funzioni SE nidificate. Nelle versioni precedenti di Excel 2003 e precedenti, possono essere utilizzate fino a 7 funzioni SE nidificate.
  • Se la vostra formula SE include più di 5 funzioni SE nidificate, vi consigliamo di ottimizzarla usando le alternative descritte di seguito.

Alternative alle funzioni SE nidificate in Excel

Per aggirare il limite delle sette funzioni SE nidificate delle vecchie versioni di Excel e per rendere la vostra formula SE più compatta e veloce, è possibile utilizzare i seguenti approcci.

  • Per verificare molte condizioni, utilizzate le funzioni CERCA, CERCA.VERT, INDICE/CONFRONTA o SCEGLI.
  • Usate SE con le funzioni logiche E/O, come dimostrato negli esempi precedenti.
  • Utilizzate la funzione CONCATENA o l’operatore di concatenazione (&).
    Così come altre funzioni di Excel, CONCATENA può includere fino a 30 parametri nelle vecchie versioni di Excel e fino a 255 argomenti nelle versioni moderne, il che equivale a testare 255 diverse condizioni.
    Ad esempio, se volete restituire valori diversi a seconda del contenuto della cella C2, è possibile utilizzare le seguenti formule:
    Funzioni SE nidificate=SE(C2=”A”; “Eccellente”; SE(C2=”B”; “Buono”; SE(C2=”C”; “Scarso”; “”)))
    Funzione CONCATENA=CONCATENA(SE(C2=”A”; “Eccellente”; “”); SE(C2=”B”; “Buono”; “”); SE(C2=”C”; “Scarso “; “”))
    Operatore &=SE(C2=”A”; “Eccellente”; “”) & SE(C2=”B”; ” Buono”; “”) & SE(C2=”C”; “Scarso”; “”)
    Come potete vedere, l’uso di CONCATENA non rende la formula più breve, ma la rende più facile da comprendere rispetto a tante funzioni SE nidificate.
LEGGI:  #Excel – Come usare la formattazione condizionale di Excel – Parte 5
utilizzare-la-funzione-concatena-al-posto-di-tante-funzioni-se-nidificate
  • Per gli utenti esperti di Excel, la migliore alternativa all’uso di funzioni SE nidificate potrebbe essere la creazione di una funzione personalizzata utilizzando VBA.

Usare la funzione SE nelle formule matriciali

Come altre funzioni di Excel, SE può essere utilizzata nelle formule matriciali. Una formula così potrebbe essere necessaria se volete valutare ogni elemento della matrice quando l’istruzione SE viene eseguita.

Ad esempio, la seguente formula matriciale con SOMMA / SE dimostra come sia possibile sommare le celle nell’intervallo specificato in base ad una certa condizione:

=SOMMA(SE(B1:B5<=1; 1; 2))

La formula assegna un certo numero di “punti” per ogni valore della colonna B: se un valore è pari o inferiore a 1, equivale a 1 punto; 2 punti sono assegnati a ciascun valore maggiore di 1. E poi, la funzione SOMMA addiziona gli 1 e i 2, come mostrato nella figura seguente.

usare-la-funzione-se-nelle-formule-matriciali

ATTENZIONE
Poiché si tratta di una formula matriciale, ricordatevi di premere Ctrl + Maiusc + Invio per inserirla correttamente.

Utilizzare la funzione SE insieme ad altre funzioni di Excel

All’inizio di questo tutorial, abbiamo discusso alcuni esempi di formule SE che dimostrano come utilizzare la funzione SE di Excel con le funzioni logiche E e O. Ora, vediamo quali altre funzioni di Excel possano essere utilizzate con SE e quali benefici vi porterebbero.

Esempio 1. Utilizzare SE con le funzioni SOMMA, MEDIA, MIN e MAX

Quando abbiamo parlato delle funzioni SE nidificate, abbiamo scritto una formula che restituisce un giudizio diverso (eccellente, buono, soddisfacente o scarso) in base al punteggio totale di ogni studente. Come ricorderete, abbiamo aggiunto una nuova colonna con la formula che calcola il totale dei punteggi presenti nelle colonne C e D.

Ma cosa succederebbe se la tabella avesse una struttura predefinita che non permettesse alcuna modifica? In questo caso, invece di aggiungere una colonna di supporto, è possibile aggiungere i valori direttamente nella vostra formula SE, in questo modo:

=SE((C2+D2)>=60; "Buono"; SE((C2+D2)=>40; "Soddisfacente"; "Scarso "))

Va bene, ma cosa succede se la tabella contiene un sacco di punteggi individuali, ad esempio 5 diverse colonne o più? Sommare tante cifre direttamente nella formula SE la renderebbe enormemente grande. Un’alternativa è incorporare la funzione SOMMA nel test logico di SE, così:

=SE(SOMMA(C2:F2)>=120; "Buono"; SE(SOMMA(C2:F2)>=90; "Soddisfacente"; "Scarso "))

usare-se-con-la-funzione-somma

In modo analogo, è possibile utilizzare le altre funzioni di Excel nel test logico delle formule SE:

SE e MEDIA

=SE(MEDIA(C2:F2)>=30;"Buono"; SE(MEDIA(C2:F2)>=25; "Soddisfacente"; "Scarso"))

La formula restituisce “Buono” se il punteggio medio delle colonne C:F è uguale o superiore a 30, “Soddisfacente” se il punteggio medio è compreso tra 29 e 25, e “Scarso” se inferiore a 25.

SE e MAX/MIN

Per trovare i punteggi più alti e più bassi, è possibile utilizzare rispettivamente le funzioni MAX e MIN. Supponendo che la colonna F è la colonna con il punteggio totale, le formule seguenti raggiungono l’obiettivo:

MAX: =SE(F2=MAX($F$2:$F$10); “Risultato migliore”; “”)

MIN: =SE(F2=MIN($F$2:$F$10); “Risultato peggiore”; “”)

Se preferite avere sia il risultato migliore che quello peggiore nella stessa colonna, è possibile nidificare una delle funzioni di cui sopra nell’altra, ad esempio:

=SE(F2=MAX($F$2:$F$10); "Risultato migliore"; SE(F2=MIN($F$2:$F$10); "Risultato peggiore"; ""))

usare-se-con-le-funzioni-min-e-max

Inoltre, Excel fornisce una serie di funzioni SE speciali per analizzare e calcolare i dati in base a diverse condizioni.

Ad esempio, per contare le occorrenze di un testo o di un valore numerico sulla base di una singola o di più condizioni, è possibile utilizzare rispettivamente CONTA.SE e CONTA.PIÙ.SE. Per trovare la somma di valori in base alla condizione (o condizioni) specificata, utilizzate le funzioni SOMMA.SE o SOMMA.PIÙ.SE. Per calcolare la media in base a determinati criteri, utilizzate MEDIA.SE o MEDIA.PIÙ.SE.

Per esempi di formula dettagliati passo-passo, consultate gli articoli linkati all’interno delle seguenti schede tecniche:

Esempio 2. Utilizzare SE con le funzioni VAL.NUMERO e VAL.TESTO

Sapete già come individuare le celle vuote e non vuote utilizzando la funzione VAL.VUOTO. Microsoft Excel fornisce funzioni analoghe per identificare il testo e i valori numerici: VAL.TESTO e VAL.NUMERO.

LEGGI:  #Excel - Come utilizzare gli operatori logici di Excel

Ecco un esempio della funzione SE nidificata che restituisce “Testo” se la cella B1 contiene qualsiasi valore di testo, “Numero” se B1 contiene un valore numerico, e “vuoto” se B1 è vuota.

=SE(VAL.TESTO(B1); "Testo"; SE(VAL.NUMERO(B1); "Numero"; SE(VAL.VUOTO(B1); "Vuoto"; "")))

usare-se-con-le-funzioni-val-test-val-numero-e-val-vuoto

ATTENZIONE
Vi invitiamo a notare che la formula qua sopra restituisce “Numero” per i valori numerici e le date. Questo perché Microsoft Excel memorizza le date come numeri, a partire dal 1° gennaio 1900, che equivale a 1.

Esempio 3. Utilizzare il risultato restituito da SE in un’altra funzione di Excel

Talvolta, è possibile ottenere il risultato desiderato inserendo l’istruzione SE in qualche altra funzione Excel, piuttosto che utilizzare un’altra funzione all’interno di un test logico.

Ecco un altro modo in cui è possibile utilizzare le funzioni CONCATENA e SE insieme:

=CONCATENA("Hai ottenuto il giudizio di "; SE(C1>5;"Fantastico!"; "Buono"))

usare-il-risultato-restituito-da-se-in-un-altra-funzione-di-excel

Le funzioni SE.ERRORE e SE.NON.DISP. di Excel

Entrambe le funzioni – SE.ERRORE e SE.NON.DISP. – sono utilizzate in Excel per intrappolare gli errori generati dalle formule. Ed entrambe le funzioni possono restituire un valore che potete specificare, nel caso in cui la formula generi un errore. Altrimenti, verrà restituito il risultato della formula.

La differenza tra le due è che SE.ERRORE gestisce tutti i possibili errori di Excel, tra cui #VALORE!, #N/D, #NOME?, #RIF!, #NUM!, #DIV/0!, e #NULL!. Mentre la funzione SE.NON.DISP. di Excel è specializzata esclusivamente negli errori #N/D, esattamente come suggerisce il nome.

La sintassi delle funzioni di errore è la seguente:

SE.ERRORE(valore; se_errore)

SE.NON.DISP.(valore; valore_se_nd)

Il primo parametro (valore) è l’argomento che viene controllato alla ricerca di un errore.

Il secondo parametro (se_errore / valore_se_nd) è il valore da restituire se la formula restituisce un errore (qualsiasi errore in caso di SE.ERRORE, l’errore #N/D nel caso di SE.NON.DISP.).

INFO
Se uno qualsiasi degli argomenti è una cella vuota, entrambe le funzioni di errore la tratteranno come una stringa vuota (“”).

L’esempio seguente dimostra l’utilizzo più semplice della funzione SE.ERRORE:

=SE.ERRORE(B2/C2; "Mi dispiace, si è verificato un errore")

un-esempio-di-utilizzo-della-funzione-se-errore-in-excel

Come potete vedere nello screenshot qui sopra, la colonna D visualizza il quoziente della divisione del valore di colonna B per il valore di colonna C. È anche possibile vedere un messaggio di errore in cella D6 perché tutti sanno che non è possibile dividere un numero per zero.

In alcuni casi, sarebbe meglio utilizzare la funzione SE per evitare l’errore, piuttosto che usare SE.ERRORE o SE.NON.DISP. per intercettarlo. In primo luogo, si tratta di un metodo più veloce (in termini di CPU) e in secondo luogo si tratta di una buona pratica di programmazione. Ad esempio, la seguente formula SE produce lo stesso risultato della funzione SE.ERRORE mostrata sopra:

=SE(C2=0; "Mi dispiace, si è verificato un errore"; B2/C2)

Ma, naturalmente, ci sono casi in cui non è possibile verificare preventivamente tutti i parametri di funzionamento, soprattutto nelle formule molto complesse, e prevedere tutti i possibili errori. In questi casi, le funzioni SE.ERRORE() e SE.NON.DISP.() risultano molto comode. Potete trovare alcuni esempi avanzati di utilizzo di SE.ERRORE in questi articoli:

E questo è tutto quello che ho da dire su come utilizzare la funzione SE in Excel. Speriamo che gli esempi discussi in questo tutorial vi aiutino ad iniziare sulla strada giusta. Grazie per la lettura!

Copyright © 2014-2017  Office Academy. Tutti i diritti riservati.
Vai alla barra degli strumenti