Come utilizzare le istruzioni If e Nested If in Excel
Una funzione di Excel che uso un po' nelle mie formule è la funzione SE(IF) . La funzione SE(IF) viene utilizzata per verificare una condizione logica e produrre due risultati diversi a seconda che la condizione logica restituisca VERO(TRUE) o FALSO(FALSE) .
Usiamo la tabella delle vendite di telefoni cellulari qui sotto come esempio. È possibile scaricare il file di esempio qui .
Funzione SE con condizione singola(IF Function with Single Condition)
Si consideri uno scenario in cui è necessario calcolare la commissione(Commission Fee) per ciascuna riga di vendita, a seconda di dove sono state effettuate le vendite ( colonna D(Column D) ). Se le vendite sono state effettuate negli Stati Uniti(USA) , la Commissione(Commission Fee) è del 10%, altrimenti le restanti località avranno una Commissione(Commission Fee) del 5%.
La prima formula che devi inserire nella cella F2(Cell F2) è la seguente:
=IF(D2="USA", E2*10%, E2*5%)
Ripartizione della formula:
- =IF( – Il “=” indica l'inizio di una formula nella cella e SE(IF) è la funzione excel che stiamo usando.
- D2=”USA” – Test logico(Logical) che eseguiamo (cioè se i dati nella colonna D2 sono USA ).
- E2*10% – Risultato(Result) che verrà restituito dalla formula se il test logico iniziale risulta TRUE (cioè il valore nella colonna D2 è USA ).
- E2*5% – Risultato(Result) che verrà restituito dalla formula se il test logico iniziale risulta FALSO(FALSE) (cioè il valore nella colonna D2 NON(NOT) è USA ).
- ) – Parentesi(Closing) chiusa che indica la fine della formula.
Quindi puoi copiare la formula dalla cella F2(Cell F2) al resto delle righe nella colonna F(Column F) e calcolerà la commissione(Commission Fee) per ciascuna riga, del 10% o del 5% a seconda che il test logico IF restituisca (IF)VERO(TRUE) o FALSO(FALSE) su ciascuna riga.
SE Funzione con condizioni multiple(IF Function with Multiple Conditions)
E se le regole fossero un po' più complicate in cui è necessario testare più di una condizione logica con risultati diversi restituiti per ciascuna condizione?
Excel ha una risposta a questo! Possiamo combinare più funzioni IF all'interno della stessa cella, che a volte è nota come Nested IF .
Considera uno scenario simile in cui le commissioni(Commissions) sono diverse per ciascuna sede di vendita(Sales Location) come di seguito:
- USA 10%
- Australia 5%
- Singapore 2%
Nella cella F2(Cell F2) (che in seguito verrà copiata nel resto delle righe nella stessa colonna F), inserisci la formula come segue:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Ripartizione della formula:
- =IF( – Inizio(Beginning) della formula utilizzando un'istruzione SE
- D2=”USA” – Primo(First) test logico che eseguiamo (cioè se i dati nella colonna D2 sono USA ).
- E2*10% – Risultato(Result) che verrà restituito dalla formula se il test logico iniziale risulta TRUE (cioè il valore nella colonna D2 è USA ).
- IF(D2=”Australia”,E2*5%,E2*2%) – seconda istruzione IF di Excel(Excel IF) che verrà valutata se il test logico iniziale risulta FALSO(FALSE) (ovvero il valore nella colonna D2 NON è (NOT) USA ). Questa è una sintassi simile di " Funzione IF con condizione singola"(IF Function with Single Condition”) discussa in precedenza in questo articolo in cui se il valore nella cella (Cell) D2 è Australia , verrà restituito il risultato di E2*5%Altrimenti, se il valore non è Australia , la funzione restituirà il risultato di E2*2%.
- ) – Parentesi(Closing) chiusa che indica la fine della formula per la prima funzione SE(IF) .
Poiché Excel valuterà la formula da sinistra a destra, quando viene soddisfatto un test logico (es. D2=“USA”, la funzione si fermerà e restituirà il risultato, ignorando ogni ulteriore test logico successivo (es. D2=“Australia” . )
Quindi se il primo test logico restituisce FALSE (cioè la posizione non è USA ), continuerà a valutare il secondo test logico. Se anche il secondo test logico restituisce FALSE (ovvero la posizione non è l'Australia(Australia) ), non è necessario eseguire ulteriori test poiché sappiamo che l'unico valore possibile sulla cella D2(Cell D2) è Singapore , quindi dovrebbe restituire un risultato di E2*2% .
Se preferisci per chiarezza, puoi aggiungere il terzo test logico IF(D2=”Singapore”, “value if TRUE” , “value if FALSE”) . Pertanto, la formula estesa completa è la seguente:
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
Come accennato in precedenza, quanto sopra restituirà lo stesso risultato della formula iniziale che avevamo.
=IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))
Consigli veloci(Quick Tips)
- Per ogni singola funzione IF( , è necessario che ci sia una parentesi tonda di apertura e chiusura. Quando ci sono tre funzioni IF come in uno degli esempi precedenti, la formula avrà bisogno di tre parentesi di chiusura ")))" , ciascuna contrassegnando la fine di una corrispondente istruzione IF( di apertura .
- Se non specifichiamo il secondo esito del test logico (quando il test logico è risultato FALSE ), il valore di default assegnato da Excel sarà il testo “FALSE”. Quindi la formula =IF(D2=”USA”,E2*10%) restituirà il testo “FALSE” se D2 non è “USA” .
- Se hai diversi test logici, ciascuno con il proprio risultato diverso, puoi combinare/nidificare la funzione SE(IF) più volte, una dopo l'altra, in modo simile all'esempio sopra.
Related posts
Come eliminare le righe vuote in Excel
Come utilizzare la funzione Speak Cells di Excel
Come inserire un foglio di lavoro Excel in un documento di Word
Come utilizzare l'analisi What-If di Excel
Come correggere una riga in Excel
Centrare i dati del foglio di lavoro in Excel per la stampa
Come creare un grafico a torta in Excel
Raggruppa righe e colonne in un foglio di lavoro di Excel
Come utilizzare la funzione PMT in Excel
Come spostare le colonne in Excel
4 modi per utilizzare un segno di spunta in Excel
Come creare una tabella pivot semplice in Excel
Come tracciare i dipendenti in Excel
Collegamento di Excel a MySQL
Come cercare in Excel
Differenze tra Microsoft Excel Online ed Excel per desktop
Ordinamento di base dei dati a una e più colonne nei fogli di calcolo di Excel
Come creare una macro o uno script VBA in Excel
Perché dovresti usare intervalli denominati in Excel
Come rimuovere le linee della griglia in Excel