Funzione SE: usare formule annidate ed evitare problemi
Applies ToExcel per Microsoft 365 Excel per Microsoft 365 per Mac Excel per il web Excel 2024 Excel 2024 per Mac Excel 2021 Excel 2021 per Mac Excel 2019 Excel 2016 Excel Web App Excel per Windows Phone 10

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 precedente dei voti, questa formula è un ottimo esempio di quanto sia difficile mantenere istruzioni SE di grandi dimensioni, cosa sarebbe necessario fare se l'organizzazione decidesse di aggiungere nuovi livelli di retribuzione e magari anche di modificare i valori esistenti in valuta o percentuale? Avresti molto 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:

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)))))

Riesci a vedere cosa c'è che non va? Confrontare l'ordine dei confronti dei ricavi con l'esempio precedente. Da che parte sta andando questa? Esatto, sta andando dal basso verso l'alto (da 5.000 a 15.000 dollari), non dall'altra parte. Ma perché dovrebbe essere così grande? È un grosso problema perché la formula non può superare la prima valutazione per un valore superiore a $ 5.000. Si supponga di avere ricavi pari a $ 12.500: il conto SE 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 alcuni gravi problemi con complesse istruzioni SE annidate, cosa si può fare? Nella maggior parte dei casi è possibile usare la funzione CERCA.VERT invece di creare una formula complessa con la funzione SE. Usando CERCA.VERT, è innanzitutto necessario creare 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 è trattato in modo molto più dettagliato, ma questa operazione è sicuramente 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 funzionalità è disponibile solo se si ha un abbonamento Microsoft 365. Se si è un abbonato di Microsoft 365, assicurarsi di avere installato la versione più recente di Office.Acquistare o provare Microsoft 365

Servono altre informazioni?

È sempre possibile rivolgersi a un esperto della Tech Community di Excel o ottenere supporto nelle Community.

Argomenti correlati

Video: Funzioni SE avanzateFunzione PIÙ.SE (Microsoft 365, Excel 2016 e versioni successive)La funzione CONTA.SE conta i valori in base a un singolo criterioLa funzione CONTA.PIÙ.SE conta i valori in base a più criteriLa funzione SOMMA.SE somma i valori in base a un singolo criterioLa funzione SOMMA.PIÙ.SE somma i valori in base a più criteriE alla funzioneOfunzione CERCA.VERTPanoramica delle formule in ExcelCome evitareerrori nelle formule Rilevare errori nelle formuleFunzioni logiche Funzionidi Excel (in ordine alfabetico)Funzioni di Excel (in base alla categoria)

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.