fbpx

#Excel – Come usare la funzione SE: formule per numeri, testo, date, celle vuote

La funzione SE è una delle funzioni più comuni e utili in Excel. È possibile utilizzare la funzione SE per chiedere ad Excel di testare una condizione e di restituire un valore se la condizione viene soddisfatta, e un altro valore se la condizione non è soddisfatta.

In questo tutorial, ci accingiamo ad imparare la sintassi e gli utilizzi comuni della funzione SE di Excel. Daremo poi uno sguardo ravvicinato ad esempi di formule che si riveleranno utili sia per principianti che per utenti esperti.

La funzione SE di Excel – Sintassi e uso

La funzione SE è una delle funzioni logiche di Excel che valuta una certa condizione e restituisce il valore specificato se la condizione è VERO, e un altro valore se la condizione è FALSO.

La sintassi della funzione SE è la seguente:

SE(test; se_vero; [se_falso])

Come potete vedere, la funzione SE dispone di 3 argomenti, ma solo il primo è obbligatorio, i restanti due sono opzionali.

  • test: un valore o un’espressione logica che può essere VERO o FALSO. Richiesto. In questo argomento, è possibile specificare un valore di testo, una data, un numero, o qualsiasi operatore di confronto. Ad esempio, il test logico può essere espresso come B1 = “venduto”, B1 <2015/12/01, B1 = 10 o B1 > 10
  • se_vero: il valore da restituire quando il test logico è VERO, vale a dire se la condizione è soddisfatta. Opzionale. Per esempio, la seguente formula restituisce il testo “Bene” se il valore nella cella B1 è maggiore di 10: =SE(B1> 10; “Bene”)
  • se_falso: il valore da restituire se il test logico è FALSO, cioè se la condizione non è soddisfatta. Opzionale. Per esempio, se aggiungiamo “Male” come terzo parametro alla formula di cui sopra, verrà restituito il testo “Bene” se il valore nella cella B1 è superiore a 10, in caso contrario, verrà restituito “Male”: =SE(B1> 10; “Bene”; “Male”)

la-funzione-se-di-excel-un-esempio

La funzione SE di Excel – Alcuni punti di attenzione

Anche se gli ultimi due parametri della funzione SE sono opzionali, la formula può produrre risultati imprevisti se non si conosce la logica di fondo.

  • Se viene omesso se_vero
    Se l’argomento se_vero è omesso nella formula (cioè c’è solo un punto e virgola che segue test), la funzione SE restituisce zero (0) quando la condizione è soddisfatta. Ecco un esempio di una formula così fatta: =SE(B1> 10; ;”Male”)
    Se non si desidera che la formula SE visualizzi un valore quando la condizione è soddisfatta, immettete le virgolette (“”) nel secondo parametro, così: =SE(B1> 10; “”; “Male”). Tecnicamente, in questo caso la formula restituisce una stringa vuota, che è invisibile per l’utente, ma percepibile dalle altre funzioni di Excel.
    La seguente immagine illustra entrambi gli approcci in azione, e il secondo sembra essere più sensato:
una-formula-se-con-argomento-se_vero-omesso

  • Se viene omesso se_falso
    Se non vi importa che cosa succede se la condizione specificata non è soddisfatta, è possibile omettere il 3° parametro delle formula SE.
    Se il test logico è FALSO e il parametro se_falso viene omesso (c’è solo una parentesi di chiusura dopo l’argomento se_vero), la funzione SE restituisce il valore logico FALSO. È un po’ inaspettato, non è vero? Ecco un esempio di una formula così: =SE(B1> 10; “Bene”)
    Se mettete un punto e virgola dopo l’argomento se_vero, la funzione SE restituisce 0, che non ha molto senso: =SE(B1> 10; “Bene”;)
    E ancora, l’approccio più ragionevole è quello di mettere “” come terzo argomento, in questo caso avrete delle celle vuote quando la condizione non è soddisfatta: =SE(B1> 10; “Bene”; “”)

formula-se-con-argomento-se_falso-omesso

  • Fare in modo che la funzione SE visualizzi i valori logici VERO o FALSO
    Se volete che la formula SE visualizzi i valori logici VERO e FALSO quando la condizione specificata è soddisfatta o meno, digitate VERO nell’argomento se_vero. Il parametro se_falso può essere FALSO o omesso. Ecco un esempio formula:
    =SE(B1>10; VERO; FALSO), oppure =SE(B1>10; VERO)

un-esempio-di-formula-se-che-mostra-i-valori-logici-vero-o-falso

ATTENZIONE
Se volete che la formula SE restituisca VERO e FALSO come valori logici (booleani) che le altre formule di Excel possano riconoscere, assicuratevi di non racchiuderli tra virgolette. Una indicazione visiva di un valore booleano è l’allineamento al centro della cella, come si vede nello screenshot qui sopra.
Se volete che “VERO” e “FALSO” siano dei comuni valori di testo, racchiudeteli tra “virgolette”. In questo caso, i valori restituiti saranno allineati a sinistra e formattati come Generale. Nessuna formula di Excel riconoscerà i testi “VERO” e “FALSO” come valori logici.
  • Fare in modo che la funzione SE esegua un’operazione matematica e restituisca un risultato
    Invece di restituire certi valori, è possibile fare in modo che la formula SE testi la condizione specificata, esegua una corrispondente operazione matematica e restituisca un valore in base al risultato. A tale scopo, si utilizzano operatori aritmetici o altre funzioni di Excel negli argomenti se_vero e/o se_falso. Qui ci sono solo un paio di esempi di formule:
    Esempio 1: =SE(A1>B1; C3*10; C3*5)
    La formula confronta i valori nelle celle A1 e B1, e se A1 è maggiore di B1, moltiplica il valore di cella C3 per 10, altrimenti per 5.
    Esempio 2: =SE(A1<>B1; SOMMA(A1:D1); “”)
    La formula confronta i valori nelle celle A1 e B1, e se A1 è diverso da B1, la formula restituisce la somma dei valori nelle celle A1:D1, altrimenti una stringa vuota.

Utilizzare la funzione SE in Excel – Esempi di formule

Ora che avete familiarità con la sintassi della funzione SE di Excel, diamo un’occhiata ad alcuni esempi di formule e impariamo ad usare la funzione SE.

Esempi di formule SE per i numeri: maggiore di, minore di, uguale a

L’utilizzo della funzione SE con valori numerici si basa sull’uso di diversi operatori di confronto per esprimere le varie condizioni. Trovate la lista completa degli operatori logici, assieme ad alcuni esempi di formule nella tabella qui sotto.

CondizioneOperatoreFormula di esempioDescrizione
Maggiore di>=SE(A2>5; "OK";)Se il numero in cella A2 è maggiore di 5, la formula restituisce “OK”, altrimenti restituisce 0.
Minore di<=SE(A2<5; "OK"; "")Se il numero in cella A2 è minore di 5, la formula restituisce “OK”, in caso contrario una stringa vuota.
Uguale a==SE(A2=5; "OK"; "Numero errato")Se il numero in cella A2 è uguale a 5, la formula restituisce “OK”, in caso contrario la funzione mostra “Numero errato”.
Diverso da<>=SE(A2<>5; "Numero errato"; "OK")Se il numero in cella A2 è diverso da 5, la funzione restituisce “NUmero errato”, in caso contrario “OK”.
Maggiore o uguale a>==SE(A2>=5; "OK"; "Scarso")Se il numero in cella A2 è maggiore o uguale a 5, la formula restituisce “OK”, altrimenti “Scarso”.
Minore o uguale a<==SE(A2<=5; "OK"; "")Se il numero in cella A2 è minore o uguale a 5, la formula restituisce “OK”, altrimenti una stringa vuota.

La figura seguente mostra la formula SE con l’operatore logico “maggiore o uguale a” in azione:

la-funzione-se-con-operatore-logico-maggiore-o-uguale-a

Esempi di funzioni SE di Excel, per i valori di testo

In generale, si scrive una formula SE per valori di testo utilizzando gli operatori “diverso da” oppure “uguale a”, come dimostrato negli esempi che seguono.

Esempio 1. Formula per valori testuali che non consideri le differenze tra maiuscole e minuscole

Come la stragrande maggioranza delle funzioni di Excel, SE è per default case-insensitive. Il che significa che i test logici sui valori di testo non distinguono tra maiuscole e minuscole nelle comuni formule SE.

Ad esempio, la seguente formula SE restituisce “S” o “N” in base allo “stato di consegna” (colonna C):

=SE(C2="Consegnato"; "N"; "S")

Tradotto in parole povere, la formula indica ad Excel di restituire “N” se la cella in colonna C contiene la parola “Consegnato”, altrimenti restituisce “S”. Al che, in realtà non importa se nell’argomento test digiterete la parola “Consegnato”, “consegnato” o “CONSEGNATO”. Né importa se la parola “Consegnato” è in minuscolo o maiuscolo nella tabella di origine, come illustrato nello screenshot qui sotto.

formula-se-case-insensitive-per-valori-testuali

Un altro modo per ottenere esattamente lo stesso risultato è quello di utilizzare l’operatore “diverso da” e scambiare gli argomenti se_vero e se_falso:

=SE(C2<>"consegnato"; "S"; "N")

Esempio 2. Formula per valori testuali che consideri le differenze tra maiuscole e minuscole

Se volete un test logico case-sensitive, utilizzate la funzione SE in combinazione con IDENTICO che confronta due stringhe di testo e restituisce VERO se le stringhe sono esattamente le stesse, altrimenti restituisce FALSO. Le funzioni IDENTICO riconosce maiuscole e minuscole, anche se ignora le differenze di formattazione.

Potete utilizzare SE con IDENTICO in questo modo:

=SE(IDENTICO(C2; "CONSEGNATO"); "N"; "S")

Dove C è la colonna a cui si applica il test logico e “CONSEGNATO” è il valore testuale che deve trovare una corrispondenza esatta.

formula-se-case-sensitive-per-valori-testuali

Naturalmente, è anche possibile utilizzare un riferimento di cella, piuttosto che un valore di testo nel 2° argomento della funzione IDENTICO, se si vuole.

ATTENZIONE
Quando utilizzate valori di testo come parametri per le formule SE, ricordatevi di racchiuderle sempre tra “virgolette”.

Esempio 3. Formula SE per valori testuali con corrispondenza parziale

Se desiderate basare la condizione su una corrispondenza parziale anziché esatta, una soluzione immediata che viene in mente è quella di utilizzare i caratteri jolly (* o ?) nell’argomento test. Tuttavia, questo approccio semplice ed ovvio non funzionerà. Molte funzioni di Excel accettano i caratteri jolly, ma purtroppo SE non è una di esse.

Una soluzione è quella di utilizzare SE in combinazione con le funzioni VAL.NUMERO e RICERCA (case-insensitive) o TROVA (case-sensitive).

Per esempio, se non è necessaria nessuna azione per gli stati “Consegnato” e “Pronto per la consegna”, la seguente formula funzionerà a meraviglia:

=SE(VAL.NUMERO(RICERCA("consegna"; C2)); "N"; "S")

formula-se-per-valori-testuali-con-corrispondenza-parziale

Abbiamo utilizzato la funzione RICERCA nella formula di cui sopra in quanto una corrispondenza case-insensitive si adattava meglio ai nostri dati. Se desiderate una corrispondenza case-sensitive, è sufficiente sostituire RICERCA con TROVA in questo modo:

=SE(VAL.NUMERO(TROVA("testo"; dove cercare)); se_vero; se_falso)

Esempi di funzioni SE per le date

A prima vista, può sembrare che le formule SE per le date possano essere identiche a quelle per i valori numerici o testuali che abbiamo appena discusso. Purtroppo, non è così.

A differenza di molte altre funzioni di Excel, SE non è in grado di riconoscere le date e le interpreta come semplici stringhe di testo, ed è questo il motivo per cui non è possibile esprimere i test logici semplicemente come >”17/10/2016″ oppure >17/10/2016. Nessuno degli argomenti precedenti sarebbe corretto, purtroppo.

Esempio 1. Formule SE per le date con la funzione DATA.VALORE

Per fare in modo che Excel riconosca la data presente nel vostro test logico come una data, bisogna racchiuderla nella funzione DATA.VALORE, così: DATA.VALORE(“17/10/2016”). La formula SE completa potrebbe essere simile a questa:

=SE(C2<DATA.VALORE("11/10/2016"); "Completato"; "In arrivo")

Come illustrato nello screenshot qui sotto, questa formula SE valuta le date nella colonna C e restituisce “Completato” se un gioco è stato giocato prima del 11 ottobre. In caso contrario, la formula restituisce “In arrivo”.

un-esempio-di-funzione-se-con-data-valore

Esempio 2. Formule SE con la funzione OGGI()

Nel caso in cui la condizione fosse basata sulla data corrente, è possibile utilizzare la funzione OGGI() nell’argomento test della funzione SE. Per esempio:

=SE(C2<OGGI(); "Completato"; "In arrivo")

Naturalmente, la funzione SE di Excel può comprendere test logici più complessi, come dimostrato nel prossimo esempio.

Esempio 3. Formule SE avanzate per date future o passate

Supponiamo che vogliate identificare le sole date che si verificheranno a più di 30 giorni da oggi. In questo caso, è possibile esprimere l’argomento test come A2-OGGI()> 30. La formula SE completa può essere la seguente:

=SE(A2-OGGI()>30; "Data futura"; "")

Per identificare le date passate che si sono verificati più di 30 giorni fa, è possibile utilizzare se la formula seguente:

=SE(OGGI()-A2>30; "Data passata"; "")

formule-se-avanzate-per-date-future-o-passate

Se volete avere entrambe le indicazioni in una stessa colonna, è necessario utilizzare una funzione SE nidificata come questa:

=SE(A2-OGGI()>30; "Data futura"; SE(OGGI()-A2>30; "Data passata"; ""))

una-formula-se-nidificata-per-le-date

Esempi di formule SE per celle vuote/non vuote

Se si desidera identificare in qualche modo i dati verificando se una certa cella è vuota oppure no, è possibile:

  • Utilizzare la funzione SE di Excel in combinazione con VAL.VUOTO, oppure
  • Utilizzare le espressioni logiche =”” (uguale a blank) o <>”” (diverso da blank).

La tabella che segue spiega le differenze tra questi due approcci e fornisce alcune formule di esempio.

Test logicoDescrizioneFormula di esempio
Celle vuote=””Restituisce VERO se una cella specificata è visivamene vuota, comprese le celle con stringhe di lunghezza zero. In caso contrario restituisce FALSO.=SE(A1=""; 0; 1) Restituisce 0 se A1 è visivamente vuota, 1 altrimenti.

Se A1 contiene una stringa vuota, la formula restituisce 0.

VAL.VUOTO()Restituisce VERO se la cella specificata non contiene assolutamente nulla: nessuna formula, nessuna stringa vuota generata da altre formule. Altrimenti restituisce FALSO.=SE(VAL.VUOTO(A1); 0; 1)

Restituisce lo stesso risultato della formula sopra, ma tratta le celle con stringhe di lunghezza zero come celle non-vuote.

Cioè, se A1 contiene una stringa vuota, la formula restituisce 1.

Celle non vuote<>””Restituisce VERO se la cella specificata contiene dei dati. In caso contrario restituisce FALSO. Le celle con stringhe di lunghezza zero sono considerate vuote.=SE(A1<>""; 1; 0) 

Restituisce 1 se A1 non è vuota, altrimenti restituisce 0.

Se A1 contiene una stringa vuota, la formula restituisce 0.

VAL.VUOTO()=FALSORestituisce VERO se la cella specificata non è vuota. In caso contrario restituisce FALSO. Le celle con stringhe di lunghezza zero sono considerate non-vuote.=SE(VAL.VUOTO(A1)=FALSO; 0; 1)

Funziona esattamente come la funzione sopra, ma restituisce 1 se A1 contiene una stringa vuota.

L’esempio seguente mostra il test logico sulle celle vuote / non-vuote in azione.

Supponiamo di avere una data in colonna C solo se un corrispondente gioco (colonna B) è stato giocato. Quindi, è possibile utilizzare una delle seguenti formule SE per contrassegnare i giochi completati:

=SE($C2<>""; "Completato"; "")

=SE(VAL.VUOTO($C2)=FALSO; "Completato"; "")

Poiché non ci sono stringhe di lunghezza zero nella nostra tabella, entrambe le formule restituiranno risultati identici:

la-formula-se-per-celle-vuote-non-vuote

Speriamo che gli esempi di cui sopra vi abbiano aiutato a capire la logica generale della funzione SE. In pratica, tuttavia, si ha spesso bisogno di usare una sola formula SE per controllare più condizioni, e il nostro prossimo articolo vi mostrerà come affrontare questo compito. Inoltre, esploreremo anche le funzioni SE nidificate, le matrici e le funzioni SE.ERRORE e SE.NON.DISP. Rimanete sintonizzati e grazie per la lettura!

Aspetta! Potrebbe interessarti anche: