Come utilizzare più istruzioni IF in Microsoft Excel
Credito immagine: scimmiabusinessimages/iStock/GettyImages
Un'istruzione IF in Excel esegue un test logico che restituisce un valore se una condizione è soddisfatta e un altro valore se non lo è. L'utilizzo di una singola istruzione IF di Excel può supportare solo operazioni di base, ma se si nidificano più istruzioni IF, è possibile eseguire attività complicate. L'unico aspetto negativo è che devi stare attento quando costruisci la formula per evitare di commettere errori. Le funzioni alternative di Excel possono svolgere lo stesso lavoro con meno rischi di errore. Impara le basi delle istruzioni IF nidificate in Excel e le alternative per trovare l'approccio migliore per le tue esigenze.
Comprensione dell'istruzione IF di Excel
La funzione SE in Excel essenzialmente dice "se questo è vero, restituisci il valore x, ma se non lo è, restituisci il valore y". Ad esempio, se stavi controllando se i vari reparti della tua attività erano sotto o fuori budget, puoi confrontare le loro spese con i loro budget usando la funzione e far tornare "Fuori budget" se il dipartimento ha speso troppo o "Entro budget" se non l'ho fatto. In generale, usi operatori di confronto per formare la tua dichiarazione, come ad esempio:
Video del giorno
- = (uguale a)
(più grande di)
= (maggiore o uguale a)
- < (minore di)
- <= (minore o uguale a)
- <> (non uguale a)
Comprendere la sintassi dell'istruzione IF di Excel è un passaggio cruciale per imparare a usarla correttamente. Il formato per la funzione è SE(test_logico, valore_se_vero, [valore_se_falso]) dove le parentesi quadre indicano che quest'ultimo argomento è facoltativo. Questi sono facili da interpretare: The test_logico indica l'affermazione che vuoi testare, valore_se_vero è lo spot per ciò che vuoi che Excel mostri se il test è vero e [valore_se_falso] è il punto facoltativo per ciò che si desidera visualizzare in Excel se il test è falso.
Questo è sufficiente per utilizzare la formula di Excel per le dichiarazioni if-then, che può essere dimostrata utilizzando l'esempio "Fuori budget/entro budget" di prima. Immagina di avere l'importo speso dai vari reparti nella colonna B e l'importo preventivato nella colonna C, con i valori che iniziano sulla seconda riga. Nella cella D2, dovresti digitare =SE(B2>C2, "Fuori budget", "Entro budget") per restituire il risultato che stai cercando (notando che devi usare le virgolette per farlo restituire il testo all'interno). La prima parte dice "se il valore in B2 è maggiore del valore in C2" (se la spesa è maggiore del budget), la seconda parte dice "quindi restituisci il testo Sopra il budget e la terza parte dice "se no, allora ritorna Nei limiti del budget."
Annidamento di più istruzioni IF
Sfruttare al massimo lo strumento di istruzione IF di Excel significa essere in grado di combinare più istruzioni IF quando si dispone di un'attività adatta. Puoi includere una seconda istruzione IF all'interno della tua istruzione IF originale e puoi includere un'altra istruzione IF all'interno di quella e così via. Ciò è particolarmente utile se si desidera classificare qualcosa in uno di più gruppi utilizzando un'unica formula. Ad esempio, puoi utilizzare istruzioni IF nidificate per convertire i punteggi ottenuti dagli studenti in un test in un voto.
Per utilizzare correttamente più istruzioni IF, pensa alla logica di ciò che stai chiedendo a Excel di fare. In sostanza, dopo la tua condizione (il primo argomento nella funzione), puoi aggiungere un'altra istruzione IF in valore_se_vero o valore_se_falso spazi, per dire a Excel cosa fare dopo. Pensa a questo come a fare in modo che Excel controlli la cella rispetto a un secondo criterio se la cella in questione non lo fa soddisfare il primo criterio (o addirittura, se soddisfa il primo), e puoi continuare questo processo a lungo tempo. In altre parole, stai trasformando "se questo, allora quello" in "se questo e questo, allora quello" o "se non questo ma questo, allora quello".
Un esempio di funzione IF annidata
Immagina di aver dato agli studenti un test in cui un punteggio dell'85 percento o più è un A, tra il 70 e l'85 percento è una B, tra il 55 e il 70 percento è una C, tra il 40 percento e il 55 percento è una D e qualsiasi cosa inferiore è a Fallire. I punteggi sono nella colonna B, dalla riga 2 alla riga 11. È possibile utilizzare una funzione SE di Excel accuratamente costruita con più condizioni per classificare i punteggi degli studenti.
La prima parte è facile (per una partitura in B2, in questo esempio): =SE(B2>=85, "A") dice a Excel di restituire una A se lo studente ha ottenuto un punteggio di 85 o superiore. L'annidamento consente di aggiungere altri voti, utilizzando il terzo argomento (cosa fare se la condizione è falsa) per aggiungere condizioni extra: =SE(B2>=85, "A", SE(B2>=70, "B")), che indica a Excel di restituire una A per punteggi pari o superiori a 85, ma in caso contrario, restituire una B se il punteggio è superiore a 70. Continua in questo modo per completare la formula, usando ogni volta il terzo argomento per una nuova istruzione IF: =SE(B2>=85, "A", SE(B2>=70, "B",SE(B2>=55, "C", SE(B2>=40, "D", "Fallito")) ))
Sembra complicato, quindi scomponerlo dovrebbe cementare l'idea. I primi due argomenti dicono "se il punteggio in B2 è 85 o più, allora lo studente prende un A", e il terzo dice: "altrimenti, verifica la seguente condizione". Il il secondo SE porta a questa affermazione, "(per gli studenti che ottengono un punteggio inferiore a 85) se il punteggio in B2 è 70 o superiore, allora lo studente ottiene un B, e in caso contrario controlla il seguente condizione." Il terzo IF dice: "(per gli studenti con un punteggio inferiore a 70) se il punteggio in B2 è 55 o superiore, lo studente che ha ottenuto un punteggio ottiene una C, e in caso contrario, controlla la seguente condizione" e la quarta dice "(per gli studenti con punteggio inferiore a 55) se il punteggio in B2 è maggiore di 40, lo studente ottiene un D, in caso contrario lo studente non riesce."
Codici di errore per le istruzioni IF
A condizione che tu immetta correttamente la formula per la tua istruzione IF, restituirà una delle opzioni che hai fornito a Excel. Tuttavia, se commetti un errore, la formula potrebbe restituire a 0 o #NOME? nella cella contenente la tua formula.
UN 0 errore significa che o il valore_se_vero o valore_se_falso argomento è vuoto. Risolvi questo problema assicurandoti che un valore sia inserito in entrambi gli argomenti, o almeno, nel valore_se_vero discussione. Il valore_se_falso l'argomento può essere completamente rimosso e restituirà FALSE se non inserisci una seconda virgola dopo il valore_se_vero campo.
UN #NOME? errore ti dice che probabilmente hai scritto male o digitato male qualcosa nella formula. Questo potrebbe essere un po' più difficile da risolvere perché potrebbe essere qualsiasi parte della formula, ma il miglior consiglio è di ricontrollare tutto o scrivere di nuovo la formula.
Problemi comuni con le istruzioni IF annidate
La formula della funzione SE nidificata di esempio precedente è diventata piuttosto lunga, il che è uno dei principali svantaggi dell'utilizzo di più istruzioni SE in Excel. Possono diventare complicati ed è facile commettere un errore perché devi seguire attentamente la logica per assicurarti che tutto funzioni nel modo desiderato. Microsoft sottolinea che una formula nidificata in modo errato potrebbe persino restituire il risultato giusto per la maggior parte del tempo, ma risultati errati in rare occasioni. Questi sono difficili da individuare.
Non mettere le condizioni nell'ordine giusto è un errore comune. Nell'esempio dei test valutati, se hai iniziato con il punteggio più basso =SE(B2>=40, "D", …" e procedeva a elencare gli altri in ordine crescente, anche un punteggio di 100 avrebbe restituito un D. Questo perché la prima condizione viene verificata per prima, quindi se hai iniziato con "se la cella B2 è 40 o superiore, restituisci a D" classificherebbe qualsiasi punteggio di 40 o più come D senza controllare nient'altro perché soddisfa il primo condizione. Questo è un perfetto esempio del motivo per cui devi seguire la logica della tua formula.
È inoltre necessario assicurarsi di aggiungere il numero corretto di parentesi alla fine di più istruzioni IF per chiudere correttamente la formula. Excel aiuta in questo coordinando il colore ed evidenziando le parentesi mentre lavori.
Numero massimo di IF nidificati
Tecnicamente puoi nidificare fino a 64 funzioni IF in una singola formula, ma Microsoft sconsiglia di utilizzare la funzione in questo modo per i motivi di cui sopra. Le cose si complicano rapidamente ed è probabile che, se stai cercando di annidare più di 10 istruzioni IF, probabilmente esiste già uno strumento migliore per il lavoro incluso in Excel.
La funzione IFS in Excel
L'alternativa più conveniente alla funzione IF è la funzione IFS, che è una versione del funzione che esegue lo stesso compito dell'annidamento in una singola funzione e può gestire fino a 127 condizioni. La funzione IFS ha una sintassi più semplice: =IFS(test_logico1, valore_se_vero1, [test_logico2, valore_se_vero2], [test_logico3, valore_se_vero3]…) e così via. Essenzialmente, questo funziona come istruzioni IF annidate, eccetto che le istruzioni IF successive occupano lo spazio dopo il "valore se vero" senza dover richiamare nuovamente la funzione.
La formula nell'esempio del voto del test può essere scritta in modo molto più semplice con la funzione IFS. Invece di:
=SE(B2>=85, "A", SE(B2>=70, "B",SE(B2>=55, "C", SE(B2>=40, "D", "Fallito")) ))
scrivi semplicemente
=IFS(B2>=85, "A", B2>=70, "B", B2>=55, "C", B2>=40, "D", VERO, "Fallito")
Il VERO nel punto prima dell'ultimo dice "se nessuno degli altri valori viene soddisfatto, restituisci il valore successivo".
Questa funzionalità è disponibile solo in Excel 2019 o Excel per Office 365.
La funzione CERCA.VERT
La funzione CERCA.VERT in Excel è spesso un'alternativa più semplice a più istruzioni SE ed è disponibile su qualsiasi versione di Excel dal 2007 in poi. Non è l'ideale per tutte le situazioni perché restituisce i risultati per una corrispondenza esatta o per il più vicina numero, quindi non può essere utilizzato per i voti come nell'esempio precedente. Tuttavia, in molte situazioni, può farti risparmiare molto lavoro scrivendo una formula, anche se devi costruire una tabella con possibili valori in uno colonna, come i prodotti venduti dal tuo negozio, e cosa vuoi che la funzione restituisca, come il prezzo del prodotto, in un'altra colonna, per esempio.
La sintassi per CERCA.VERT è =CERCA.VERT(valore_ricerca, matrice_tabella, numero_indice_col, [ricerca_intervallo]) e l'apprendimento di ciascuno dei componenti ti mostra come usarlo. Il valore di ricerca argomento è il valore che si desidera controllare, che deve essere una cella nella stessa colonna dell'inizio della tabella con cui si desidera verificarlo, sopra o sotto di esso. Il matrice di tabella è l'intervallo di celle che contengono la tua tabella di informazioni, come i prodotti e i loro prezzi corrispondenti, e col_index_num è la colonna in cui vuoi che Excel esamini per trovare il valore da restituire, con 1 indicando la colonna più a sinistra, 2 indicando il prossimo e così via. Finalmente, [range_lookup] è facoltativo, ma inserisci "VERO" se desideri che Excel basi la risposta sul valore più vicino o "FALSO" se desideri solo una corrispondenza esatta.