Una funzione di Excel che uso un bel po 'nelle mie formule è la funzione IF . La funzione IF viene utilizzata per testare una condizione logica e produrre due risultati diversi a seconda che la condizione logica restituisca VERO o FALSO .
Prendiamo come esempio la tabella delle vendite di telefoni cellulari qui sotto. Puoi scaricare il file di esempio qui.
Funzione IF con condizione singola
Considerare uno scenario in cui è necessario calcolare la Commissione Commissione per ogni riga di vendita, a seconda di dove sono state effettuate le vendite ( colonna D ). Se le vendite sono state effettuate negli Stati Uniti, la Commissione Commissione è pari al 10%, altrimenti le posizioni rimanenti avranno una Commissione Commissione del 5%.
La prima formula che devi inserire nella cella F2 è la seguente:
= IF (D2 = "USA", E2 * 10%, E2 * 5%)
Ripartizione della formula:
- = IF ( - "=" indica l'inizio di una formula nella cella e IF è la funzione di Excel che stiamo usando.
- D2 = "USA" - Test logico che eseguiamo (cioè se i dati nella colonna D2 sono USA ).
- E2 * 10% - Risultato che verrà restituito dalla formula se il test logico iniziale risulta TRUE (cioè il valore nella colonna D2 è USA ).
- E2 * 5% - Risultato che verrà restituito dalla formula se il test logico iniziale risulta in FALSE (cioè il valore nella colonna D2 NON è USA ).
- ) - Parentesi di chiusura che indica la fine della formula.
Quindi è possibile copiare la formula dalla cella F2 al resto delle righe nella colonna F e calcolerà la Commissione Commissione per ogni riga, o del 10% o del 5% a seconda che il test logico IF restituisca TRUE o FALSE su ciascuna riga.
Funzione IF con condizioni multiple
Cosa accadrebbe se le regole fossero un po 'più complicate in cui è necessario testare più di una condizione logica con risultati diversi restituiti per ogni condizione?
Excel ha una risposta a questo! Possiamo combinare più funzioni IF all'interno della stessa cella, che a volte è noto come IF annidato .
Si consideri uno scenario simile in cui le Commissioni sono diverse per ogni posizione di vendita come di seguito:
- USA 10%
- Australia 5%
- Singapore 2%
Nella cella F2 (che in seguito verrà copiata nel resto delle righe nella stessa colonna F), inserire la formula come segue:
= SE (D2 = "USA", E2 * 10%, IF (D2 = "Australia", E2 * 5%, E2 * 2%))
Ripartizione della formula:
- = IF ( - Inizio della formula utilizzando un'istruzione IF
- D2 = "USA" - Primo test logico che eseguiamo (ovvero se i dati nella colonna D2 sono USA ).
- E2 * 10% - Risultato 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 Excel IF che sarà valutata se il test logico iniziale ha dato come risultato FALSE (cioè il valore nella colonna D2 NON è USA ). Questa è una sintassi simile di " IF Function with Single Condition" discussa in precedenza in questo articolo in cui, se il valore su Cell D2 è l' Australia, verrà restituito il risultato di E2 * 5% . Altrimenti, se il valore non è l' Australia, la funzione restituirà il risultato di E2 * 2%.
- ) - Parentesi di chiusura che indica la fine della formula per la prima funzione IF .
Siccome 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 qualsiasi ulteriore test logico dopo (es. D2 = "Australia" . )
Quindi se il primo test logico restituisce FALSE (cioè la posizione non è USA ), continuerà a valutare il secondo test logico. Se il secondo test logico restituisce anche FALSE (cioè la posizione non è l' Australia ), non è necessario testare ulteriormente poiché sappiamo che l'unico valore possibile su Cell D2 è Singapore, quindi dovrebbe restituire un risultato di E2 * 2% .
Se si preferisce per chiarezza, è possibile aggiungere il terzo test logico IF (D2 = "Singapore", "valore se TRUE", "valore se FALSE") . Pertanto, la formula estesa completa è come mostrato di seguito:
= SE (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.
= SE (D2 = "USA", E2 * 10%, IF (D2 = "Australia", E2 * 5%, E2 * 2%))
Consigli veloci
- Per ogni singola IF ( funzione, ci deve essere una parentesi rotonda di apertura e chiusura.Quando ci sono tre funzioni IF come per uno degli esempi sopra, la formula avrà bisogno di tre parentesi di chiusura ")))", ognuna contrassegnante la fine di un'apertura IF corrispondente ( dichiarazione.
- Se non si specifica il secondo risultato del test logico (quando il test logico ha generato FALSE ), il valore predefinito assegnato da Excel sarà il testo "FALSE". Quindi formula = IF (D2 = "USA", E2 * 10%) restituirà il testo "FALSE" se D2 non è "USA" .
- Se si hanno diversi test logici ciascuno con il proprio risultato diverso, è possibile combinare / nidificare la funzione IF più volte, una dopo l'altra, in modo simile all'esempio precedente.