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" si riferisce alla pratica di unire più funzioni in un'unica formula.
Dettagli tecnici
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) |
Il valore che si desidera venga restituito se il risultato di logical_test è VERO. |
|
se_falso (facoltativo) |
Il valore che si desidera venga restituito se il risultato della logical_test è FALSO. |
Osservazioni
Anche se Excel consente di annidare fino a 64 diverse funzioni SE, non è affatto consigliabile farlo. 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 al 100% in modo accurato, potrebbe funzionare il 75% delle volte, ma restituire risultati imprevisti il 25% delle volte. 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 ti ritrovi con un'affermazione IF che sembra continuare a crescere senza fine in vista, è il momento di posare il mouse e ripensare alla tua strategia.
Diamo un'occhiata a come creare correttamente un'istruzione SE annidata complessa usando più IF e quando riconoscere che è il momento di utilizzare un altro strumento nel tuo 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.
- =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:
- Se il punteggio del test (nella cella D2) è maggiore di 89, lo studente ottiene una A
- Se il punteggio del test è maggiore di 79, lo studente ottiene una B
- Se il punteggio del test è maggiore di 69, lo studente ottiene una C
- Se il punteggio del test è maggiore di 59, lo studente ottiene una D
- Per i punteggi inferiori, lo studente ottiene una F
Questo particolare esempio è relativamente sicuro perché non è probabile che la correlazione tra i punteggi dei test e i voti in lettere cambi, quindi non richiederà molta manutenzione. Ma ecco un pensiero: cosa succede se hai bisogno di segmentare i voti tra A+, A e A- (e così via)? L'istruzione SE con quattro condizioni deve essere riscritta per includerne 12. Ecco come sarebbe ora 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"))))))))))))
È ancora funzionalmente accurato e funzionerà come previsto, ma richiede molto tempo per scrivere e più tempo per testare per assicurarsi che funzioni come si vuole. Un altro problema evidente è che hai dovuto inserire a mano i punteggi e i voti in lettere equivalenti. Quali sono le probabilità che tu abbia accidentalmente commesso un errore di battitura? Si immagini di dover eseguire questa operazione 64 volte con condizioni più complesse. Certo, è possibile, ma vuoi davvero sottoporti a questo tipo di sforzo e a probabili errori che saranno davvero difficili da individuare?
Suggerimento
Tutte le funzioni in Excel richiedono una parentesi di apertura e una di chiusura (). Excel tenterà di aiutare a capire cosa deve andare e dove colorando diverse parti della formula quando la si sta modificando. Ad esempio, se si vuole modificare la formula precedente, quando si sposta il cursore oltre ognuna delle parentesi finali ")", la parentesi aperta corrispondente assumerà lo stesso colore. Ciò può risultare particolarmente utile nelle formule annidate complesse quando si cerca di capire se sono presenti abbastanza parentesi corrispondenti.
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.
- =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...
Sebbene sia notevolmente simile al precedente esempio dei voti, questa formula è un ottimo esempio di quanto possa essere difficile mantenere grandi dichiarazioni IF: cosa dovresti fare se la tua organizzazione decidesse di aggiungere nuovi livelli di retribuzione e possibilmente anche modificare i valori in dollari o percentuali esistenti? Avresti un sacco di lavoro da fare!
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:
Riesci a capire cosa c'è che non va? Confrontare l'ordine dei confronti dei ricavi con l'esempio precedente. In che direzione sta andando? Esatto, sta andando dal basso verso l'alto (da $ 5.000 a $ 15.000), non il contrario. Ma perché dovrebbe essere un grosso problema? Si tratta di un grosso problema perché la formula non può superare la prima valutazione per qualsiasi valore superiore a $ 5.000. Supponiamo che tu abbia $ 12,500 di entrate: l'estratto conto IF restituirà il 10% perché è maggiore di $ 5,000 e si fermerà lì. Questo può essere incredibilmente problematico perché in molte situazioni questi tipi di errori passano inosservati fino a quando non hanno avuto un impatto negativo. Quindi, sapendo che ci sono alcune serie insidie con le complesse istruzioni IF annidate, cosa puoi fare? Nella maggior parte dei casi è possibile usare la funzione CERCA.VERT invece di creare una formula complessa con la funzione SE. Con CERCA.VERT occorre prima creare una tabella di riferimento:
- =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.
- =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.
La funzione CERCA.VERT è trattata in modo molto più dettagliato in questo articolo, ma è sicuramente molto più semplice di 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.
- Se non si vuole che gli altri utenti vedano la tabella di riferimento o interferiscano, è 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 è ottima perché non è necessario preoccuparsi di tutte quelle istruzioni SE e parentesi.
Nota
Questa funzionalità è disponibile solo se si ha un abbonamento Microsoft 365. Gli abbonati a Microsoft 365 devono verificare di avere installato l'ultima versione di Office.
Servono altre informazioni?
È sempre possibile rivolgersi a un esperto della Tech Community di Excel o ottenere supporto nelle Community.