Funzione SE: usare formule annidate ed evitare problemi

Funzione SE: usare formule annidate ed evitare problemi

La funzione SE consente di eseguire un confronto logico tra un valore e il risultato previsto dopo aver eseguito il test di una condizione e aver ottenuto un risultato VERO o FALSO.

  • =SE(qualcosa è Vero, eseguire un'azione, altrimenti eseguire un'altra azione)

Quindi un'istruzione SE può avere due risultati. Il primo risultato si ottiene se il confronto è Vero, il secondo se è Falso.

Le istruzioni SE sono molto solide e costituiscono la base di molti modelli di foglio di calcolo, ma sono anche la causa principale di molti problemi relativi al foglio di calcolo. In teoria, un'istruzione SE dovrebbe essere applicata per condizioni minime, ad esempio Maschio/Femmina, Sì/No/Forse per citarne alcune, ma talvolta potrebbe essere necessario valutare scenari più complessi che richiedono l'annidamento* contemporaneo di 3 funzioni SE.

* "Annidamento" fa riferimento all'unione di più funzioni in una sola formula.

Usare la funzione SE, una delle funzioni logiche, per restituire un valore se una condizione è vera e un altro valore se è falsa.

Sintassi

SE(test;se_vero;[se_falso])

Ad esempio:

  • =SE(A2>B2;"Fuori budget";"OK")

  • =SE(A2=B2;B4-A4;"")

Nome argomento

Descrizione

test   

(obbligatorio)

Condizione da testare.

se_vero   

(obbligatorio)

Valore restituito se il risultato di test è VERO.

se_falso   

(facoltativo)

Valore restituito se il risultato di test è FALSO.

Note

Anche se Excel consente di annidare fino a 64 funzioni SE diverse, non è consigliabile adottare questo approccio. Perché?

  • La creazione di più istruzioni SE valide richiede molta attenzione ed è necessario verificare che la logica possa eseguire correttamente il calcolo in ogni condizione fino alla fine. Se la formula non viene annidata in modo corretto, potrebbe funzionare il 75% delle volte, ma restituire risultati imprevisti nel restante 25%. Purtroppo, le probabilità di risolvere il problema per questo 25% di occorrenze sono scarse.

  • Più istruzioni SE possono diventare molto difficili da gestire, soprattutto se in seguito si deve provare a capire cosa si stava cercando di ottenere o, peggio ancora, cosa cercava di ottenere un altro utente.

Se ci si ritrova con un'istruzione SE che sembra aumentare senza controllo, è il momento di fermarsi e mettere in atto un'altra strategia.

In questo articolo viene spiegato come creare un'istruzione SE annidata complessa usando più funzioni SE e come capire quando è necessario passare a un altro strumento dell'arsenale di Excel.

Esempi

L'esempio seguente contiene un'istruzione SE annidata relativamente standard per convertire i punteggi dei test degli studenti nei voti equivalenti espressi in lettere.

Istruzione SE annidata complessa: la formula in E2 è =SE(B2>97,"A+",SE(B2>93,"A",SE(B2>89,"A-",SE(B2>87,"B+",SE(B2>83,"B",SE(B2>79,"B-",SE(B2>77,"C+",SE(B2>73,"C",SE(B2>69,"C-",SE(B2>57,"D+",SE(B2>53,"D",SE(B2>49,"D-","F"))))))))))))
  • =SE(D2>89,"A",SE(D2>79,"B",SE(D2>69,"C",SE(D2>59,"D","F"))))

    Questa istruzione SE annidata complessa segue una logica semplice:

  1. Se il punteggio del test (nella cella D2) è maggiore di 89, lo studente ottiene una A

  2. Se il punteggio del test è maggiore di 79, lo studente ottiene una B

  3. Se il punteggio del test è maggiore di 69, lo studente ottiene una C

  4. Se il punteggio del test è maggiore di 59, lo studente ottiene una D

  5. Per i punteggi inferiori, lo studente ottiene una F

Questo esempio è relativamente sicuro perché è improbabile che la correlazione tra i punteggi dei test e le valutazioni verrà modificata, quindi non richiederà molta manutenzione. Ma cosa accade se è necessario usare voti più segmentati, ad esempio compresi tra A+, A e A- (e così via)? L'istruzione SE con quattro condizioni deve essere riscritta per includerne 12. Ecco come si presenta la formula:

  • =SE(B2>97,"A+",SE(B2>93,"A",SE(B2>89,"A-",SE(B2>87,"B+",SE(B2>83,"B",SE(B2>79,"B-", SE(B2>77,"C+",SE(B2>73,"C",SE(B2>69,"C-",SE(B2>57,"D+",SE(B2>53,"D",SE(B2>49,"D-","F"))))))))))))

La formula resta valida e funziona come previsto, ma richiede molto tempo per la scrittura e ancora più tempo per l'esecuzione di test per verificare che esegua le operazioni previste. Un altro problema importante è che i punteggi e i voti equivalenti espressi in lettere vanno inseriti manualmente. Quali sono le probabilità di inserire accidentalmente un errore di digitazione? Si immagini di dover eseguire questa operazione 64 volte con condizioni più complesse. Certo, è possibile farlo, ma è uno sforzo notevole e soggetto a errori difficilmente individuabili successivamente.

Suggerimento: Tutte le funzioni in Excel richiedono una parentesi di apertura e una di chiusura (). Excel consente di capire cosa inserire in una determinata posizione colorando le diverse parti della formula durante la modifica. Ad esempio, se si volesse modificare la formula precedente, quando si sposta il cursore dopo ogni parentesi finale ")", la parentesi di apertura corrispondente assume lo stesso colore. Questo può risultare particolarmente utile nelle formule annidate complesse quando si vuole stabilire se le parentesi corrispondenti sono sufficienti.

Altri esempi

L'esempio seguente descrive una situazione molto comune relativa al calcolo della provvigione di vendita in base al livello degli obiettivi raggiunti per i ricavi.

La formula nella cella D9 è SE(C9>15000,20%,SE(C9>12500,17,5%,SE(C9>10000,15%,SE(C9>7500,12,5%,SE(C9>5000,10%,0)))))
  • =SE(C9>15000,20%,SE(C9>12500,17,5%,SE(C9>10000,15%,SE(C9>7500,12,5%,SE(C9>5000,10%,0)))))

In linguaggio comune, questa formula significa: SE(C9 è maggiore di 15.000 restituire 20%, SE(C9 è maggiore di 12.500, restituire 17,5% e così via...

Anche se è molto simile all'esempio dei voti precedente, questa formula fa capire bene come sia difficile mantenere istruzioni SE di grandi dimensioni. Si pensi a cosa accadrebbe se l'organizzazione decidesse di aggiungere nuovi livelli di retribuzione e magari anche di modificare i valori esistenti di percentuale o valuta. Sarebbe necessaria un'enorme quantità di lavoro.

Suggerimento: Per semplificare la lettura delle formule più lunghe, è possibile inserire interruzioni di riga nella barra della formula. Premere ALT+INVIO prima del testo da inserire in una nuova riga.

Ecco un esempio dello scenario relativo alla provvigione con la logica in ordine non corretto:

La formula nella cella D9 non è nell'ordine corretto SE(C9>5000,10%,SE(C9>7500,12,5%,SE(C9>10000,15%,SE(C9>12500,17,5%,SE(C9>15000,20%,0)))))

Si riesce a individuare il problema? Confrontare l'ordine dei confronti tra ricavi all'esempio precedente. In che direzione va? Esatto. Va dal basso all'alto (da 5.000 a 15.000 €) e non viceversa. Perché rappresenta un problema? L'effetto di questa differenza è notevole perché la formula non supera la prima valutazione per qualsiasi valore oltre i 5.000 €. Si supponga di avere ricavi per 12.500 €. L'istruzione SE restituisce 10%, perché è maggiore di 5.000 € e il processo si interrompe. Il problema in questo caso può essere molto esteso perché in molte situazioni questi tipi di errore non vengono rilevati fino a quando non hanno un impatto negativo. Quindi cosa si può fare per risolvere questi problemi gravi relativi alle istruzioni SE annidate complesse? Nella maggior parte dei casi, è possibile usare la funzione CERCA.VERT anziché creare una formula complessa con la funzione SE. Quando si usa CERCA.VERT, è necessario creare prima una tabella di riferimento:

La formula nella cella D2 è =CERCA.VERT(C2,C5:D17,2,VERO)
  • =CERCA.VERT(C2,C5:D17,2,VERO)

Questa formula indica di cercare il valore in C2 nell'intervallo C5:C17. Se il valore viene trovato, viene restituito il valore corrispondente dalla stessa riga nella colonna D.

La formula nella cella C9 è =CERCA.VERT(B9,B2:C6,2,VERO)
  • =CERCA.VERT(B9,B2:C6,2,VERO)

Analogamente, questa formula cerca il valore nella cella B9 nell'intervallo B2:B22. Se il valore viene trovato, viene restituito il valore corrispondente dalla stessa riga nella colonna C.

Nota: Le due funzioni CERCA.VERT usano l'argomento VERO alla fine delle formule, che indica che devono cercare una corrispondenza appropriata. In altre parole, corrisponderà ai valori esatti nella tabella di ricerca, oltre che ad altri eventuali valori compresi tra di essi. In questo caso, l'ordine delle tabelle di ricerca deve essere crescente, dal più piccolo al più grande.

CERCA.VERT viene spiegato in modo più dettagliato qui, ma è sicuramente una soluzione molto più semplice rispetto a un'istruzione SE annidata complessa a 12 livelli. Ci sono anche altri vantaggi meno ovvi:

  • Le tabelle di riferimento di CERCA.VERT sono disponibili per tutti gli utenti e facili da consultare.

  • I valori di tabella possono essere aggiornati facilmente e non è necessario toccare la formula se le condizioni cambiano.

  • Per impedire che altre persone visualizzino o modifichino la tabella di riferimento, è sufficiente inserirla in un altro foglio di lavoro.

Forse non tutti sanno che...

Ora è disponibile una funzione PIÙ.SE che può sostituire più istruzioni SE annidate con una singola funzione. Quindi, al posto dell'esempio iniziale sui voti, con quattro funzioni SE annidate:

  • =SE(D2>89,"A",SE(D2>79,"B",SE(D2>69,"C",SE(D2>59,"D","F"))))

Si può usare semplicemente un'unica funzione PIÙ.SE:

  • =PIÙ.SE(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",VERO,"F")

La funzione PIÙ.SE è perfetta perché non è necessario preoccuparsi di tutte le istruzioni SE e delle parentesi.

Nota: Questa caratteristica è disponibile solo se si ha un abbonamento a Office 365. Se si ha un abbonamento a Office 365, verificare di avere installato la versione più recente di Office.

Provare Office 365 o l'ultima versione di Excel

Servono altre informazioni?

È sempre possibile rivolgersi a un esperto nella Tech Community di Excel, ottenere supporto nella community Microsoft o suggerire una nuova funzionalità o un miglioramento in Excel UserVoice.

Argomenti correlati

Video: Funzioni SE avanzate
Funzione PIÙ.SE (Office 365, Excel 2016 e versioni successive)
La funzione CONTA.SE cercherà valori in base a un singolo criterio
La funzione CONTA.PIÙ.SE cercherà valori in base a più criteri
La funzione SOMMA.SE sommerà i valori in base a un singolo criterio
La funzione SOMMA.PIÙ.SE sommerà i valori in base a più criteri
Funzione E
Funzione O
Funzione CERCA.VERT
Panoramica delle formule in Excel
Come evitare errori nelle formule
Usare il controllo degli errori per trovare gli errori nelle formule
Funzioni logiche
Funzioni di Excel (in ordine alfabetico)
Funzioni di Excel (per categoria)

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×