Se annidati

samuele agnolin
  • 24 ottobre 2016
  • livello: intermedio   2 minuti
se annidati

Nel tutorial sulla funzione SE abbiamo visto diversi esempi su come scrivere la funzione SE quando abbiamo solo un valore da verificare, ad esempio C2<=100.

Come fare quando dobbiamo verificare più valori della stessa colonna? Dobbiamo usare i se annidati, o nidificati. Una funzione SE dentro l’altra.

Nello screenshot più in basso si va a creare una formula che permetta di scrivere “livello basso” nel caso il valore dell’importo sia minore di 50, “livello intermedio” se compreso tra 50 e 100, “livello alto” se maggiore di 100.

La formula finale è la seguente:

=SE(B2<50;”livello basso”;SE(B2<=100;”livello intermedio”;”livello alto”))

se annidati

Il ragionamento chiave per capire l’intera formula è il seguente: il primo Se attribuisce l’etichetta “livello basso” a tutte le righe il cui importo è minore di 50. Quando il test è falso, ossia abbiamo un valore maggiore o uguale a 50, interviene il secondo SE.

Questo vuol dire che excel leggerà il secondo SE solamente quando avremo valori maggiori o uguali a 50. Ecco perché nel secondo SE possiamo “permetterci” di testare solo il caso in cui il valore sia minore o uguale a 100: stiamo infatti verificando così se il valore è >=50 e <=100.

Tecnicamente, la parte fondamentale per la costruzione del SE annidato è quella in cui ci si posiziona nel Se_falso del primo SE e si va a cliccare in alto a sinistra dove c’è la scritta SE (non dovesse esserci il SE è possibile cliccare sulla freccia accanto al nome della funzione scritta e scegliere tra l’elenco o cliccare sulla voce “Altre funzioni…”)

15 Comments

You can post comments in this post.


  • ottimo ,grazie Samuele

    Stefano 1 anno ago Reply


    • :-) grazie del tuo messaggio

      samuele 1 anno ago Reply


  • spiegato veramente bene e molto chiaro, con questo ho capito meglio l’argomento, grazie

    Tommaso 1 anno ago Reply


    • Grazie mille Tommaso!

      samuele 1 anno ago Reply


  • Chiarissima la spiegazione, ma se dovessi fare un confronto con una striga così ##F81, cosa devo cambiare rispetto alla formula su mostrata?
    Grazie

    Carlo 10 mesi ago Reply


    • Ciao Carlo. Grazie!

      Potrebbe essere =SE(A2=”##F81″; ecc. Quindi se è testuale va fra doppi apici.

      samuele 10 mesi ago Reply


  • Ottimo prodotto.
    si potrebbe invece inserire un dato solo se maggiore o minore di zero, nel senso conteggiare una somma solo se maggiore di zero?

    orazio gentile 10 mesi ago Reply


    • Grazie Orazio.

      Se devi fare una somma solo di numeri maggiori di zero userei il SOMMA.SE. Ad esempio =SOMMA.SE(b2:b10;”>0″).

      Se invece vuoi inserire un numero solo se maggiore di zero, potrebbe essere =SE(B2>0;B2;””)

      Fammi sapere. Ciao. Samuele

      samuele 10 mesi ago Reply


  • Grazie Davvero! Questo post mi ha risolto un bel grattacapo!

    Simone 5 mesi ago Reply


    • Mi fa proprio piacere Simone! :-)

      samuele 4 mesi ago Reply


  • Buongiorno,
    Io dovrei fare eseguire in una cella (ES E4) una sottrazione dalla cella superiore (E3) se nella cella (C4) è presente un valore.
    Sempre nella stessa cella (E4) dovrei invece avere una Somma se nella cella (D4) è presente un valore.
    E’ possible?

    Raffaella Maniscalchi 4 mesi ago Reply


    • Buongiorno Raffaella,
      quale condizione comanda? nel senso che “se nella cella (C4) è presente un valore” è una condizione da verificare, “se se nella cella (D4) è presente un valore” è la seconda… che nesso c’è tra le due condizioni da verificare?

      samuele 4 mesi ago Reply


  • Buongiorno Samuele, vorrei chiederti se è possibile nella funzione se, verificare il fatto che una cella inizi per una determinata stringa: cioè io ho una tabella in cui una colonna è relativa alla funzione svolta da un insieme di persone, alcune di queste hanno anche un doppio incarico e nella cella viene inserita la stringa “INC. AGGIUNTIVO_” dove al posto dell’underscore per ognuno viene descritta la tipologia di funzione (la ricerca con l’asterisco non funziona o almeno io non sono riuscita).
    Grazie
    Silvia

    Silvia Affaticati 2 mesi ago Reply


    • Buongiorno Silvia.

      Hai ragione, l’asterisco nelle uguaglianze non funziona.

      Io vedo 2 strade possibili:

      1) con la funzione SINISTRA oppure con STRINGA.ESTRAI verifichi se la cella inizia in un determinato modo… quindi ad esempio:
      =SE(SINISTRA(A2;8)=”tuo_testo”);….

      2) con la funzione RICERCA controlli se una determinata parola c’è oppure no:
      =SE(VAL.ERRORE(RICERCA(“tuo_testo”;A2));…
      la funzione RICERCA restituisce la posizione di “tuo_testo” (quindi un numero proprio) se “tuo_testo” c’è… altrimenti restituisce #VALORE nel caso il testo che cerchi non sia presente nella cella… quindi quel VAL.ERRORE davanti fa in modo che il test del SE restituisca VERO quando il tuo testo non è presente nella cella

      Se nessuna delle due soluzioni funziona, mandami due dati a samuele@amicoexcel.it così ci parlo io con Excel :-) e troviamo una soluzione

      samuele 2 mesi ago Reply


  • Egregio Samuele,

    chiedi scusa, ma mi trovo in difficolta con una formula.=SE(G35<18000000;E126;SE(G35=18000000;0;SE(18000000<G35<25000000;F55;F56)))

    Nel caso specifico, le prime due funzioni SE si compiono (dove E126 é FALSO e funziona nel modo corretto).
    Nel caso però della terza, dove deve comprendere i valori tra 18000000 e 25000000, mi restituisce sistematicamente F56 e non F55.
    Nel caso dell'intervallo di valori considerato, il numero da restituire é quello di F55, mentre se test non si compie, mi deve restituire F56.
    Sembra che F55 non lo prenda proprio in considerazione.
    Mi puoi aiutare a capire dov'é l'errore?
    Grazie infinite

    Walter Bianchin

    Walter Bianchin 1 mese ago Reply


Inserisci un commento