Corso
Le istruzioni annidate IF() possono gestire più condizioni in un’unica formula. Le ho usate per tutto, dall’analisi dei report di vendita alla categorizzazione dei dati dei clienti, fino alla creazione di dashboard. Invece di usare più formule o creare colonne extra, puoi scrivere un’unica formula efficiente che faccia tutto.
Quando ho iniziato, però, queste formule avanzate erano piuttosto difficili da capire. Se ti trovi nella stessa situazione, ti consiglio di iniziare con il corso Data Analysis in Excel o con il percorso di competenze Excel Fundamentals. Ti aiuteranno a costruire basi solide per tecniche avanzate come le IF() annidate.
Che cos’è IF() annidata in Excel?
Usiamo una semplice istruzione IF() per verificare una condizione. Ma quando devi verificarne più di una, puoi combinare diverse istruzioni IF() — questo crea una IF() annidata. Ti permette di eseguire diversi test logici uno dopo l’altro e ottenere risultati diversi per ciascun test.
Ecco la sintassi di base:
=IF(condition1, value_if_true, IF(condition2, value_if_true, value_if_false))
Puoi usare le istruzioni IF() annidate per gestire logiche decisionali complesse in un unico punto. Per esempio, supponiamo che tu stia calcolando i voti in base a intervalli di punteggio. Con una IF() annidata, puoi scrivere una formula come questa:
=IF(A1>=90, "A", IF(A1>=80, "B", IF(A1>=70, "C", "F")))
Questa formula verifica se un punteggio nella cella A1 è maggiore o uguale a 90, 80 o 70 e assegna il voto corrispondente.
Quando usare IF() annidate in Excel
Puoi usare IF() annidate per verificare ogni condizione in sequenza e restituire il valore corrispondente se una condizione è soddisfatta, oppure passare alla successiva se non lo è. Ti mostro come funziona con un paio di esempi.
Esempio 1: Categorizzazione dei dati con IF() annidate
Diciamo che voglio assegnare un batch a ogni dipendente in base agli anni di servizio in azienda.
| Anni di servizio | Batch |
|---|---|
| ≥ 10 anni | Platinum |
| 5–9 anni | Gold |
| < 5 anni | Silver |
Ecco la formula che userei:
=IF(C2>=10, "Platinum", IF(C2>=5, "Gold", "Silver"))
Ora, vediamo come funziona:
-
IF(C2>=10, "Platinum", ...)verifica se il valore nella cella C2 è maggiore o uguale a 10. Se sì, restituisce Platinum. In caso contrario, passa alla condizione successiva. -
Quindi,
IF(C2>=5, "Gold", "Silver")verifica se il valore in C2 è maggiore o uguale a 5. Se sì, restituisce Gold. -
Se nessuna condizione è soddisfatta, il risultato predefinito è Silver.

Applicazione della funzione IF() annidata. Immagine dell’autore.
Le istruzioni IF() annidate sono utili in scenari come questo, in cui devi categorizzare o raggruppare i dati rapidamente. Ma questo è solo un modo per usarle. Puoi anche impiegarle per la convalida dei dati, ad esempio per verificare se un inserimento rientra in un intervallo specifico, o per la formattazione condizionale, ad esempio per evidenziare le righe che soddisfano determinati criteri.
Esempio 2: Convalida dei dati con IF() annidate
Supponiamo che io voglia che i valori nella colonna A siano compresi tra 10 e 50. Posso configurare la convalida dei dati per applicare questa regola. Ecco come fare:
-
Seleziona l’intervallo da convalidare, ad esempio
A1:A10. -
Vai alla scheda Dati e fai clic su Convalida dati.
-
Nella finestra di dialogo Convalida dati, scegli Personalizzato dall’elenco a discesa Consenti.
-
Inserisci la seguente formula nel campo Origine:
=IF(A1>=10, IF(A1<=50, TRUE, FALSE), FALSE)
Questa formula garantisce che il valore in A1 sia compreso tra 10 e 50. Per renderla ancora più intuitiva, puoi aggiungere un messaggio di errore. Per farlo, vai alla scheda Messaggio di errore. Imposta un messaggio come: "Il valore deve essere compreso tra 10 e 50."

Uso di IF() annidata per la convalida dei dati. Immagine dell’autore.
Ora, se inserisci un valore fuori dall’intervallo, verrà visualizzato il messaggio di errore per impedire inserimenti non validi e mantenere coerenti i tuoi dati.

Si è verificato un errore. Immagine dell’autore.
Esempio 3: Formattazione condizionale con IF() annidate
Facciamo un passo in più. Ora voglio evidenziare le righe in cui i valori nella colonna B sono compresi tra 10 e 50. Ecco come fare:
-
Seleziona l’intervallo che vuoi formattare, ad esempio
B1:B10. -
Vai a Home > Formattazione condizionale > Nuova regola.
-
Scegli Usa una formula per determinare le celle da formattare e inserisci la formula:
=IF($B1>=10, IF($B1<=50, TRUE, FALSE), FALSE)
4. Clicca su Formato e scegli un colore di riempimento. Poi clicca su OK per applicare la regola.

Uso di IF() annidata per la formattazione condizionale. Immagine dell’autore.
Ora puoi vedere che tutte le righe che soddisfano i criteri sono evidenziate:

Formattazione condizionale con IF() annidata. Immagine dell’autore.
Combinare IF() annidate con altre funzioni di Excel
Le funzioni IF() annidate sono versatili già da sole, ma se le combini con altre funzioni di Excel diventano ancora più utili. Ti mostro come con alcuni esempi.
IF() con VLOOKUP()
Quando combini VLOOKUP() con IF(), puoi recuperare e manipolare dati in modo condizionale in base a criteri specifici. Per esempio, hai un listino prezzi che varia per regione. Se la regione è North, vuoi applicare uno sconto del 10% — altrimenti mostrerai il prezzo standard.
Per questo, usa la seguente formula:
=IF(C2="North",VLOOKUP(B2,B2:D7,3,FALSE)*0.9,VLOOKUP(B2,B2:D7,3,FALSE))
Nella formula sopra, la funzione IF() verifica se la regione in C2 è North. Se sì, il prezzo recuperato con VLOOKUP() viene moltiplicato per 0,9 per applicare lo sconto del 10%. Se no, VLOOKUP() recupera il prezzo standard.

Combina IF() con VLOOKUP(). Immagine dell’autore.
IF() con SUMIF()
La funzione SUMIF() somma i valori in base a determinati criteri. Se la combini con IF(), puoi analizzare i dati ancora meglio sommando solo i numeri che soddisfano condizioni specifiche. Per esempio, se voglio calcolare le vendite totali per la regione North, userò la seguente formula:
=IF(B2="North",(SUMIF(B2:C10,B2,C2:C10)),"")
Nella formula sopra, la funzione IF() verifica se la regione in B2 è North. Se TRUE, SUMIF() somma tutti i valori nella colonna C che corrispondono a North. Se FALSE, restituisce una stringa vuota.

Combina IF() con SUMIF(). Immagine dell’autore.
Cose che ricontrollo quando combino le formule
All’inizio, combinare più funzioni è stato complicato. Scrivevo formule complesse che poi si rompevano per sciocchezze. Ecco alcune lezioni che ho imparato sulla mia pelle:
-
Tieni traccia delle parentesi: qui avvenivano la maggior parte dei miei errori. Mi sfuggiva una parentesi di chiusura e perdevo un sacco di tempo a capire perché la formula non funzionasse. Ora ricontrollo sempre che ogni parentesi aperta abbia la sua chiusura. Mi fa risparmiare un sacco di tempo.
-
Gestisci gli errori: se ti è mai capitato che una formula restituisse un brutto errore per un solo valore mancante, sai quanto può essere frustrante. Ora uso sempre
IFERROR()per intercettare questi problemi e sostituirli con qualcosa di più utile, come un messaggio personalizzato. -
Usa intervalli denominati: prima di iniziare a nominare gli intervalli, perdevo di vista a quale intervallo stessi facendo riferimento nelle formule lunghe. Poi ho iniziato a dare nomi chiari, così le formule sono più leggibili e riduco il rischio di sbagliare riferimento.
Alternative alle IF() annidate
Per completezza, vediamo alcune opzioni.
Funzione IFS()
Sebbene Excel consenta fino a 64 funzioni IF() annidate, diciamolo — impilare così tante condizioni crea formule soggette a errori che nessuno vuole debuggare. Se usi Excel 2016 o versioni successive, puoi usare la funzione IFS(). È un’alternativa più pulita per gestire più condizioni senza annidamenti.
Ecco la sintassi:
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2])
Ti faccio vedere come funziona. Supponiamo di dover calcolare le aliquote fiscali in base agli stipendi dei dipendenti: applicherò la seguente formula.
=IFS(C2<=30000, "10%", C2<=60000, "20%", C2<=100000, "30%", C2>100000, "40%")
Se lo stipendio in C2 è pari o inferiore a $30.000, restituisce 10%. Se è tra $30.001 e $60.000, restituisce 20%. Se è tra $60.001 e $100.000, restituisce 30%. Qualsiasi valore superiore a $100.000 restituisce 40%.
Come con la funzione IF(), l’ordine delle condizioni è importante. Excel si ferma alla prima condizione che risulta TRUE. Quindi, se nessuna delle condizioni è soddisfatta, otterrai un errore. Per evitarlo, puoi aggiungere una condizione predefinita alla fine, così:
=IFS(C2<=30000, "10%", C2<=60000, "20%", C2<=100000, "30%", C2>100000, "40%", TRUE, "No Tax")
Ora Excel restituirà No Tax se nessuna delle condizioni sullo stipendio è soddisfatta, invece di generare un #N/A errore.

Uso della funzione IFS(). Immagine dell’autore.
IF() combinata con IF() usando &
In alternativa, puoi combinare IF() con funzioni come & o CONCATENATE(). Ecco un esempio in cui ho mostrato l’offerta di sconto per ciascuna regione:
=(IF(C2="North", 10%, "") & IF(C2="South",15%, "") & IF(C2="East", 5%, "") & IF(C2="West", 20%, ""))*1
Nella formula sopra, ogni istruzione IF() controlla la regione e accoda la percentuale di sconto come testo. Il *1 finale converte il risultato in un numero. Se vuoi un output testuale, puoi ometterlo.

Concatena più funzioni IF(). Immagine dell’autore.
Funzioni CHOOSE() o SWITCH()
Se cerchi alternative, CHOOSE() e SWITCH() vale la pena esplorarle. Sono ottime per scenari semplici in cui devi selezionare da opzioni predefinite o associare un singolo valore a più risultati. Dai un’occhiata al corso di DataCamp Data Analysis in Excel, che ti permette di fare molta pratica con varie funzioni.
Suggerimenti per la risoluzione dei problemi con IF() annidate
All’inizio incontravo molti errori con le formule IF() annidate. Sembravano impossibili da risolvere. Con il tempo e con gli errori, però, ho imparato lezioni che avrei voluto sapere prima. Eccone alcune:
-
Confusione sui tipi di dato: mescolare numeri e testo nei confronti può creare risultati inattesi. Se stai confrontando testi, assicurati che siano formattati come testo. Lo stesso vale per i numeri.
-
Raggiungere il limite: Excel limita le
IF()annidate a 64 livelli. Se la tua formula smette di funzionare, verifica se hai raggiunto il limite. A quel punto, di solito conviene ripensare l’approccio o passare a una funzione diversa comeIFS()oSWITCH().
Se la tua formula non si comporta come previsto, ecco cosa puoi fare:
- Scomponila: non cercare di fare debug di una formula enorme tutta in una volta. Suddividila in parti più piccole e testa ciascun pezzo. Ti aiuterà a individuare esattamente dove le cose non vanno.
- Usa gli strumenti di controllo delle formule di Excel: questi strumenti sono una salvezza nel debugging. Usa Valuta formula per scorrere la formula pezzo per pezzo o Individua precedenti/dipendenti per vedere come sono collegate le celle.
- Controlla il formato dei dati nelle celle: a volte è solo un problema di formattazione. Per esempio, se una cella contiene testo ma sembra un numero, la formula potrebbe non funzionare come previsto. Verifica e correggi la formattazione se necessario.
Una domanda sfidante
Ecco una semplice sfida per applicare ciò che hai imparato. Diciamo che stai calcolando i bonus dei dipendenti in base alle prestazioni e agli anni di servizio. Vuoi dare:
- Un bonus del 10% se la prestazione è Excellent e gli anni di servizio sono superiori a 5.
- Un bonus del 5% se la prestazione è Good e gli anni di servizio sono superiori a 3.
- Nessun bonus negli altri casi.
Ecco come potresti scrivere la formula:
=IF(B2="Excellent", IF(C2>5, D2*10%, "No Bonus"), IF(B2="Good", IF(C2>3, D2*5%, "No Bonus"), "No Bonus"))
Provala e vedi se riesci ad adattarla ai tuoi scenari.
Considerazioni finali
Quando ho iniziato a usare le istruzioni IF() annidate, sono rimasto colpito da quanto tempo risparmiassi e da quante nuove possibilità si aprissero. Se hai seguito fin qui, avrai notato lo stesso potenziale.
La chiave per padroneggiare le IF() annidate è davvero la pratica. Più sperimenti e applichi queste tecniche nei tuoi progetti, più diventeranno automatiche. Se sei pronto a portare le tue competenze ancora oltre, ti consiglio vivamente il corso Financial Modeling in Excel o il percorso di competenze Data Analysis with Excel Power Tools su DataCamp. Ti aiuteranno a colmare il divario tra conoscere le formule e usare Excel come un vero strumento di business.
Excel offre tantissimo, e le IF() annidate sono solo una parte. Quando inizi a usare queste formule in modo creativo, vedrai quanto può essere utile Excel.
Sono una content strategist: mi piace semplificare argomenti complessi. Ho aiutato aziende come Splunk, Hackernoon e Tiiny Host a creare contenuti coinvolgenti e informativi per il loro pubblico.
IF() annidate: Domande frequenti
Che cos’è un’istruzione IF() annidata in Excel?
Un’istruzione IF annidata in Excel è una formula che consente di valutare più condizioni all’interno di un’unica istruzione, fornendo risultati diversi in base alla logica applicata.
Come scrivo un’istruzione IF() annidata in Excel?
Per scrivere un’IF annidata, inizia con una funzione IF iniziale, quindi inserisci ulteriori funzioni IF all’interno degli argomenti TRUE o FALSE per valutare condizioni aggiuntive.
Quando dovrei usare le istruzioni IF() annidate?
Usa le IF annidate quando affronti attività decisionali complesse che richiedono la valutazione di più condizioni e la restituzione di risultati diversi in base a tali condizioni.
Le istruzioni IF() annidate possono essere combinate con altre funzioni di Excel?
Sì, le IF annidate possono essere combinate con altre funzioni come VLOOKUP o SUMIF per aumentarne la funzionalità e fornire un’analisi dei dati più completa.
Quali sono alcune insidie comuni nell’uso delle istruzioni IF() annidate?
Gli errori più comuni includono la creazione di formule eccessivamente complesse, difficili da leggere e da debuggare. È importante mantenere chiarezza e ordine quando usi IF annidate.
Excel limita il numero di funzioni IF() annidate?
Sì. Nelle versioni più vecchie (Excel 2003 e precedenti) puoi annidare fino a 7 livelli di funzioni IF(). A partire da Excel 2007, questo limite è stato aumentato a 64 livelli di funzioni IF() annidate in un’unica formula.
Perché Excel ha un limite di annidamento?
Il limite esiste per garantire le prestazioni e prevenire formule eccessivamente complesse, difficili da gestire, eseguire il debug e calcolare.


