Funzione SE

samuele agnolin
  • 17 ottobre 2016
  • livello: intermedio   3 minuti

La funzione SE ci permette di valutare il contenuto di una cella e di prendere di conseguenza una decisione.

Se la cella con la quantità a magazzino è minore o uguale a 1000 voglio scrivere “Prodotto da riordinare” altrimenti scrivo “Scorta sufficiente”.

funzione se

La funzione SE è quindi concettualmente per noi tutti molto intuitiva. Applica infatti un ragionamento che facciamo 100 volte al giorno. Valutiamo una situazione e di conseguenza facciamo una scelta:

Se c’è il sole utilizzo la bici altrimenti prendo la macchina. Se leggo fino in fondo questo breve tutorial imparo bene la funzione SE altrimenti no. :-)


 
pdf funzioni copertinaSe cerchi una guida alle funzioni di Excel (e nel contempo vuoi sostenere questo blog :-) ) ti consiglio l’acquisto della mia guida alle funzioni: un file pdf che illustra 70 funzioni importanti e mostra 100 esempi pratici.

Per maggiori info vai al post in cui descrivo la guida: Guida alle funzioni in pdf.

Come si scrive la funzione SE?

La funzione SE va scritta in una singola cella. Spesso poi la cella è la prima di un elenco quindi essa viene trascinata verso il basso su tutte le righe dell’elenco.

Ecco come va scritta la funzione SE:

=SE(E2<=100;”Basso”;”Alto”)

funzone se sintassi

La funzione SE richiede tre parametri:

– il Test (obbligatorio): è una espressione che chiediamo ad Excel di valutare, in questo caso chiediamo se il valore della cella E2 è minore o uguale a 100

– il Se_vero (facoltativo): quel che vogliamo far fare a Excel quando il test è vero. Nell’esempio vogliamo scrivere “Basso” ma, come vedremo negli altri esempi di questo tutorial, a volte potremmo voler far eseguire un calcolo invece che far scrivere un testo/numero/data

– il Se_falso (facoltativo): su questo parametro excel “arriva” quanto il test è falso, nel nostro caso quanto è falso che E2 è minore o uguale a 100, quindi quando E2 è maggiore di 100. Per questo facciamo scrivere “Alto”

Questo il risultato finale:

risultato finale funione logica se

Quando Se_vero o Se_falso non vengono specificati il risultato sarà uno dei due valori logici VERO o FALSO.

Se preferiamo inserire il SE utilizzando la finestra di inserimento dei parametri questi sono i passaggi:

 1  ci si posiziona sulla cella dove si vuole il risultato

 2  si clicca sul tastino Fx di inserimento funzioni e nella tipologia Logiche si sceglie il SE
finestra funzioni logiche

 3  si definiscono il test e i parametri Se_vero e Se_falso

finestra funzione se

Il SE appartiene alle funzioni logiche ed è tra le più utilizzate tra tutte le funzioni. Si presta, infatti, a risolvere tantissime situazioni che richiedo una verifica di una situazione.

Casi pratici funzione SE

Ecco alcune casi pratici di utilizzo della funzione SE.

Esempio 1. Vogliamo scrivere “Donna” quando la cella del genere riporta “F”, “Uomo” altrimenti.

=SE(B2=”f”;”Donna”;”Uomo”)

esempio pratico funzione se uguale a

che potrebbe anche essere scritta in questo modo:

=SE(B2<>”f”;”Uomo”;”Donna”)
dove <>”f” significa diverso da “f”

esempio pratico funzione se diverso da

Esempio 2. Vogliamo calcolare un importo scontato applicando uno sconto del 5% se il cliente ha speso meno di 100 euro, del 10% se ha speso da 100 in su.

=SE(B2<100;B2*0,95;B2*0,9)

caso pratico se sconto

Esempio 3. Vogliamo nascondere temporaneamente il risultato di una formula. Nell’esempio qui sotto viene calcolata la somma cumulata degli importi aggiungendo il valore del singolo mese alla somma dei mesi precedenti.

La formula se senza restituisce un valore fuorviante:

caso pratico formula da nascondere

Possiamo aggiustare inserendo un SE per far sapere ad Excel che vogliamo che visualizzi la somma cumulata solo per i mesi per cui abbiamo già il valore dell’importo:

=SE(B3<>””;B3+C2;””)

caso pratico formula nascosta con se

Esempio 4. Vogliamo verificare la correttezza dei codici prodotto. Se la lunghezza del codice è pari a 9 il codice ha un numero esatto di cifre altrimenti segnaliamo che il codice è errato.

=SE(LUNGHEZZA(B2)=9;”ok”;”codice errato”)

esempio pratico funzione lunghezza

Esempio 5. Se le ultime lettere del codice prodotto sono “FFF” allora noi sappiamo che il prodotto è una sedia, altrimenti è un tavolo.

=SE(DESTRA(B2;3)=”fff”;”sedia”;”tavolo”)
esempio pratico funzione destra testuale

Attenzione però che se avessimo un codice con tre numeri finali dovremmo ricordare comunque che la funzione DESTRA restituisce un risultato testuale. Quindi andrebbe scritta in questo modo:

=SE(DESTRA(B2;2)=”40″;”sedia”;”tavolo”)

oppure in questo modo:

=SE(- -DESTRA(B2;2)=40;”sedia”;”tavolo”)
dove il – – davanti alla funzione DESTRA converte il risultato di destra in numerico

esempio pratico funzione destra trasformata in numero

Il modo errato sarebbe: =SE(DESTRA(B2;2)=40;”sedia”;”tavolo”)

esempio pratico funzione destra non trasformata errato

Esempio 6. La funzione SE può essere utilizzata anche in combinata con il cerca verticale. E in più modi:

– per richiamare un cerca vert piuttosto che un altro
=SE(B2<100;CERCA.VERT(B2;K1:N500;2;0);CERCA.VERT(B2;P1:S500;3;0))

– per modificare in maniera dinamica il riferimento alla matrice tabella
=CERCA.VERT(B2;SE(B2<100;K1:N500;P1:S500);2;0)

Funzione SE con date

Quando utilizziamo nella funzione se una data, può capitare di trovarci di fronte ad una data memorizzata come testo, cosa che può succedere ad esempio quando il file è una estrapolazione da un database. In questo caso dobbiamo convertire la data testuale attraverso la funzione DATA.VALORE, la quale converte una data in formato testo in un numero quindi una data, come ci dice anche la guida ufficiale.

=SE(B2<DATA.VALORE(“1/1/2016”);”Pre 2016″;”2016 o successivo”)

funzione se data

Se la data è in formato numerico/data possiamo invece scrivere: =SE(B2<1/1/2016;”Pre 2016″;”2016 o successivo”)

Chiaramente potremmo fare riferimento senza problemi ad una data scritta in una cella esterna:

=SE(B2<G$1;”Pre 2016″;”2016 o successivo”)

funzione se data con cella esterna

Se hai trovato interessante questo tutorial sulla funzione SE forse ti può interessare anche il tutorial sui SE ANNIDATI :-)

tutorial se annidati

Se cerchi un video corso avanzato di Excel on line ti segnalo il corso di Excel avanzato di Matteo Olla. Rapporto qualità prezzo davvero ottimo.

Guida funzioni (pdf)

Se cerchi una guida alle funzioni di Excel (e nel contempo vuoi sostenere questo blog :-) ) valuta l’acquisto della mia guida alle funzioni: un file pdf che illustra 70 funzioni importanti e mostra 100 esempi pratici. pdf funzioni copertina

Se vuoi capire quali sono i contenuti della guida puoi scaricare l’estratto gratuito: Funzioni Excel – estratto guida pratica v1.1 – AmicoExcel.

Per maggiori info vai al post in cui descrivo la guida: Guida alle funzioni in pdf.

44 Comments

You can post comments in this post.


  • Complimenti, molto chiaro. Ho ricreato gli esempi ed è andato tutto bene. Stavo però facendo alcune prove e mi sono imbattuto in un dubbio che non riesco a risolvere. Ho creato una funzione SE la quale mi restituisce dei valori numerici in base al contenuto testuale che inserisco in determinate celle. Se poi però vado a sommare ( con la semplice funzione SOMMA ) i valori numerici ottenuti con la funzione SE, mi restituisce sempre 0. Potrebbe darmni qualche suggerimento? non capisco cosa stia sbagliando. Grazie mille

    Antonello 2 anni ago Reply


  • Ciao Samuele,
    ti ringrazio per le spiegazioni che sono sempre molto esaustive.
    Ti chiedo però di darmi una mano ulteriore per risolvere un caso che ho visto non hai trattato (spero non mi sia sfuggito).
    Prendiamo il caso del primo esempio che hai presentato dopo il titolo “Come si scrive la funzione SE?”. Io ho un caso simile ma devo differenziare ulteriormente il risultato se la spesa è stata fatta da una donna o se è stata fatta da un uomo. Cioè specificare che se la spesa è stata fatta da una donna deve darmi come risultato “Basso” se <100 se è stata fatta da un uomo deve darmi come risultato "Basso" se <90.
    Sono un insegnante di educazione fisica è ho bisogno di valutare i miei ragazzi con parametri diversi se sono maschi o femmine. Uso la formula SE per specificare che da un dato risultato ad un altro mi deve dare valore 6, poi 7 e così via. Purtroppo però non riesco a diversificare ulteriormente in base al sesso.
    Ti prego di aiutarmi.
    Grazie
    Toni

    Toni 2 anni ago Reply


    • Ciao Toni, io penso che dovresti utilizzare due se annidati oppure una funzione E all’interno della funzione SE.

      Qualcosa tipo: =SE(A2=”F”;SE(B2<100;"Basso";"Alto");SE(B2<90;"Basso";"Alto")) -> il secondo SE viene letto solo quando A2 non è F

      Se cmq vuoi inviarmi uno stralcio del tuo file, senza dati sensibili ovviamente, fai pure: samuele@amicoexcel.it

      samuele 2 anni ago Reply


  • Buongiorno, volevo chiedere se é possibile creare una funzione SE con riempimento cella? Esempio …se numero è uguale alla cella B2 allora colore verde…altrimenti rosso..?
    Grazie

    Tetyana 1 anno ago Reply


  • Per favore,come risolvere questo caso:
    Se una cella contiene un valore superiore a 0 il risultato può essere scritto con un colore diverso dal nero?Grazie per la vostra disponibilità-
    giuseppe

    Giuseppe Zonno 1 anno ago Reply


  • Ciao Samuele, ho creato un menu a tendina con 3 scelte (NULLA, OPZ. 1 E OPZ. 2), molto semplicemente, vorrei fare in modo in un altra cella adiacente, di valorizzare una somma solo SE l’opzione scelta è la 1. Analogamente in un altra cella adiacente alla precedente, valorizzare una somma solo è stata scelta l’opzione 2. Non riesco a scrivere la formula…

    Moreno 1 anno ago Reply


    • Trovato! Dovevo inserire le Opzioni tra le virgolette!

      Moreno 1 anno ago Reply


      • Ottimo Moreno!

        samuele 1 anno ago Reply


  • Volevo sottoporti una richiesta: dovrei utilizzare la funzione se ma ricevere più di due risposte. Esempio nubile-celibe, sposato/divorziato. Come devo impostare la formula?

    Luciano 1 anno ago Reply


    • Ciao Luciano, penso dovresti utilizzare il SE doppio. Questo articolo sul se annidato potrebbe esserti utile. Se vuoi farmi un esempio più dettagliato del tuo caso lo guardo volentieri.

      samuele 1 anno ago Reply


      • Grazie, Samuele, ho provato con il SE annidiato ed ho impostato la formula così:
        =SE(G22=1;”nubile”;SE(G22=2;”CELIBE”;SE(G22=3;”SPOSATO/DIVORZIATO”)))
        funzionato alla perfezione.
        Alla prossima

        Luciano 1 anno ago Reply


  • Ciao. Per favore potresti aiutarmi?
    Ho una serie di 3500 numeri (7 cifre ciascuno) scritti tutti in colonna in A.
    Li ho ordinati in modo crescente ma come faccio a sapere se ce ne sono due uguali.
    Grazie mille
    Raffaella

    Raffaella Mantovani 1 anno ago Reply


    • Ciao Raffaella. Per sapere se ce ne sono due uguali secondo me puoi usare almeno un paio di metodi:

      1) seleziona tutte le celle, vai su formattazione condizionale, regole evidenziazione celle, valori duplicati…
      Questo ti colora con un solo colore tutte le celle che hanno dei duplicati

      2) sulla colonna accanto, a partire dalla seconda riga, scriverei la formula A2=A1… se restituisce VERO il numero è uguale a quello sopra

      Fammi sapere. Samuele

      samuele 1 anno ago Reply


      • Ciao Samuele,
        con la formula SE è andato tutto benissimo.
        Grazie mille

        Raffaella Mantovani 1 anno ago Reply


  • Complimenti.
    Mai trovato delle lezioni così chiare e semplici ma esaustive

    Francesca Golzi 1 anno ago Reply


    • Grazie mille Francesca!!! :-)

      samuele 1 anno ago Reply


  • io sto facendo dei orari di lavoro e una cella la compilo con la parola chiusura alla quale li posso dare un valore tipo “IN A1 HO 18:00, “IN A2 HO CHIUSURA E IN A3 METTO LA FORMULA =SE(A2=”Chiusura”;”24:00″)-A1 e in A3 MI CALCOLA IL RISULTATO GIUSTO CHE SAREBBE 6:00 e fin qua ci siamo .se la parola CHIUSURA LA MODIFICO TIPO 23:00 COME POSSO SCRIVERE LA FORMULA…AIUTATEMI CHE STO IMPAZZENDO GRAZIE

    ermir 11 mesi ago Reply


    • Ciao Ermir,

      potrebbe essere =SE(A2=”Chiusura”;24;A2)-A1 ?

      samuele 11 mesi ago Reply


      • grazie mille.

        ermir 11 mesi ago Reply


  • Buon pomeriggio Samuele,
    il tuo blog è davvero utilissimo.
    Ti chiedo una gentilezza, avrei un calcolo SE da eseguire con le seguenti caratteristiche:

    La colonna H riporta una variabile in percentuale. avrei bisogno sulla casella di fianco di far si che a seconda delle seguenti regole venda riportata la dicitura 1 oppure 2 o in alternativa 3 :

    0/50%=1
    50/80%=2
    80/100%=3

    Ti ringrazio in anticipo !

    Esculapio 11 mesi ago Reply


    • Grazie!

      Il tuo SE potrebbe essere =SE(H2<=50;1;SE(H2<=80;2;3))Adattala rispetto ai valori che effettivamente hai nelle celle...non se hai il semplice rapporto (valori da 0 a 1) oppure proprio i valori percentuali

      samuele 11 mesi ago Reply


      • Tutto perfetto ! Era in percentuale, ma con una piccola modifica ho risolto.

        Sempre gentilissimo e disponibilissimo !

        Esculapio 11 mesi ago Reply


  • Ciao Avrei una domanda al quale non riesco a trovare risposta.
    Spero mi possa aiutare qualcuno

    Ho una cella nel quale c’è il nome del prodotto.
    All’interno del nome del prodotto ci sono svariate parole naturalmente. Faccio un paio di esempi cosi da poter essere più chiaro possibile.

    riga 1 cella B1: Braccioli gonfiabili Frozen eta +3 anni
    riga 2 cella B2; Giochi Preziosi – Braccioli Spiderman gonfiabili età +3 anni

    Avrei bisogno di una funzione che mi permettesse di scrivere nella celle J1 “Femmina” se trova la parola Frozen e “Maschio” se trova la parola Spiderman
    Stesso dicasi per la riga 2, riga 3, riga 4 ecc…..
    Grazie

    Ivan Galtieri 10 mesi ago Reply


    • Ciao Ivan.

      La formula potrebbe essere:
      =SE(NON(VAL.ERRORE(RICERCA(“Frozen”;B1)));”Femmina”;SE(NON(VAL.ERRORE(RICERCA(“Spiderman”;B1)));”Maschio”;””))

      Due SE annidati. Il primo ha come test la verifica se c’è la parola Frozen (fatta con il RICERCA, la quale restituisce errore se non trova la stringa), nel se_falso del primo SE c’è il secondo SE.

      Fammi sapere se ti può andare bene. Ciao!

      samuele 10 mesi ago Reply


  • Buonasera Samule,
    Complimenti per i tutorial, estremamente chiari e concisi, ho provato a spulciare annche i video ma non ho trovato la solouzione al mio problemino…
    Ho una tabella su un foglio secondario con un elenco di province, sul principale vorrei che se in una colonna una delle province mi vinere riportata excel mi restituisca il testo A, altrimenti nulla.
    Al momento la mia formula funziona solo se riporto le provincie nell’ordine esatto in cui sono scritte nella tabella sul foglio secondario, se poi provo a trascinare la formula SE nel foglio principale non funziona per nulla…
    Help Me…
    Roberto

    roberto 10 mesi ago Reply


  • Buongiorno,
    ma se io dovessi cercare un valore >500 e farmi restituire un testo e invece dove il valore non è >500 lasciare il valore che c’è è fattibile?

    Grazie
    Valeria

    valeria 7 mesi ago Reply


    • Buonasera Valeria,
      il tuo SE potrebbe essere qualcosa tipo =SE(A2>500;”tuo_testo”;A2).
      Se il valore non è maggiore di 500 allora riscrivi il valore stesso.

      samuele 7 mesi ago Reply


  • Buongiorno,
    avrei bisogno di ottenere questo risultato : se il valore di una cella (es. D4) è pari a 0,00 sostituiscilo con il valore della cella soprastante (es. D3). Come posso fare?
    Grazie mille
    Rossana

    Rossana 7 mesi ago Reply


    • Buongiorno Rossana, in un’altra cella scriverei =SE(D4=0;D3;D4). Può essere?

      samuele 7 mesi ago Reply


  • Buongiorno,
    non riesco a capire come inserire una formula…le spiego.
    ES:
    cella A1 scritta ALTO, cella B1 scritta ALTO, vorrei che nella cella C1 uscisse una scritta tipo DA VENDERE
    mentre
    se nelle celle A e B ci fosse scritto BASSO la C1 dicesse DA SCARTARE
    e nel caso di ALTO BASSO, C1 dicesse DA CONTROLLARE
    spero di essermi spiegato

    Non so se quello che sto chiedendo è oggetto di ciò che state discutendo in questa pagina ma mi farebbe un favore enorme se mi potesse aiutare

    Grazie infinite

    Alessandro 6 mesi ago Reply


    • Ciao Alessandro.

      Vedo due strade:

      1) SE annidati con all’interno la E
      =SE(E(A1=”alto”;B1=”alto”);”da vendere”;SE(E(A1=”basso”;B1=”basso”);”da scartare”;”da controllare”))

      2) un CERCA.VERT
      costruendo una matrice tabella, ad esempio in I1:J4, fatta così
      altobasso da controllare
      bassoalto da controllare
      bassobasso da scartare
      altoalto da vendere

      la funzione potrebbe essere
      =CERCA.VERT(A1&B1;I$1:J$4;2;0)

      Fammi sapere. Ciao!

      samuele 6 mesi ago Reply


  • Ciao Samuele,
    scusa se disturbo ma avrei necessita di fare un’operazione complessa su excel.
    In una cella (M83) ho scritto una funzione tipo =SE(G83<=14,5;"0";SE(G83<=24,5;"100";SE(G83=34,5;”550″))))….bene funziona! Fin qui tutto semplice (immagino avrei potuto scrivere una formula più semplice…ma…non importa).
    Tuttavia il mio quesito non è terminato. Devo fare un altro controllo, cioè:
    se il valore della cella della stessa riga (F83) è > del risultato della formula scritta in M83 di cui sopra allora scrivi il contenuto di F83 altrimenti lascia il risultato ottenuto dalla formula .
    Aiuto!!! 😮
    Non è che mi aiuteresti. Grazie100000

    ANTONIO ROMEO 6 mesi ago Reply


    • Ciao!

      Aggiungerei un SE davanti…

      La tua originale è
      =SE(G83< =14,5;"0";SE(G83<=24,5;"100";SE(G83=34,5;”550″)))) potresti aggiungere =SE(F83>(SE(G83<=14,5;0;SE(G83<=24,5;100;SE(G83=34,5;550))));F83;SE(G83<=14,5;0;SE(G83<=24,5;100;SE(G83=34,5;550))))però occhio alle virgolette sui numeri.. toglile se vuoi risultati numerici, altrimenti saranno testuali

      samuele 6 mesi ago Reply


  • Buongiorno Samuele

    complimenti per i tutorial.

    La mia domanda è la seguente:
    supponiamo di avere in A1 un valore prefissato, in A2 un valore che cresce progressivamente. È possibile, nel momento in cui A2 diventa = o > di A1, saltare alla cella sucessiva A3 e proseguire il conteggio ?
    Grazie e buona giornata.
    Marco.

    Marco 6 mesi ago Reply


  • Grazie tanto,da 4 lezioni non ho capito il commando ma grazie a te l’ho capito subito.Ti stimo tanto.

    Matteo 5 mesi ago Reply


    • Grazie Matteo! :-)

      samuele 5 mesi ago Reply


  • buongiorno, ti ringrazio per gli esempi che ho cercato di comprendere, ma fino ad ora non sono ancora riuscito a fare quello che mi serviva a me; provo a spiegarti

    ho in una cella un valore (risultato di una somma fra diverse celle) che può teoricamente andare da 5 a 600 ed il valore entro il quale lo vorrei far visualizzare non deve superare il120
    ho provato a fare questo =SE(M1>600;SE(M1>480;SE(M1>360;SE(M1<240;SE(M1<120);M1-120;M1)
    per riportare il valore entro il 120 e non superiore, ma mi da errore.
    Grazie per la spiegazione che riuscirai a darmi.
    buona giornata
    UGO

    ugo 3 mesi ago Reply


    • Buongiorno Ugo. Non mi è chiaro perché nella formula vai a valutare 480, 360, 240 ecc. Forse manca qualche info su questo.
      Con =SE(M1>120;M1-(M1-120);M1) faresti vedere il numero se inferiore a 120 o lo imposteresti a 120 se superiore

      samuele 3 mesi ago Reply


Inserisci un commento