Funzione IF in Excel: esempi di formule per testo, numeri, date, spazi vuoti

  • Condividi Questo
Michael Brown

In questo articolo imparerete come costruire un'istruzione IF di Excel per diversi tipi di valori e come creare più istruzioni IF.

IF è una delle funzioni più diffuse e utili di Excel. Generalmente, si utilizza un'istruzione IF per verificare una condizione e restituire un valore se la condizione è soddisfatta e un altro valore se la condizione non è soddisfatta.

In questa esercitazione impareremo la sintassi e gli usi più comuni della funzione IF di Excel, per poi dare un'occhiata più da vicino ad esempi di formule che si spera possano essere utili sia ai principianti che agli utenti più esperti.

    Funzione IF in Excel

    IF è una delle funzioni logiche che valuta una certa condizione e restituisce un valore se la condizione è VERA e un altro valore se la condizione è FALSA.

    La sintassi della funzione IF è la seguente:

    IF(logical_test, [value_if_true], [value_if_false])

    Come si vede, IF accetta un totale di 3 argomenti, ma solo il primo è obbligatorio, gli altri due sono facoltativi.

    Test_logico (obbligatorio) - la condizione da testare. Può essere valutata come VERO o FALSO.

    Valore_se_vero (opzionale) - il valore da restituire quando il test logico è valutato come VERO, cioè la condizione è soddisfatta. Se omesso, il parametro valore_se_falso deve essere definito.

    Valore_se_falso (opzionale) - il valore da restituire quando il test logico è valutato come FALSE, cioè la condizione non è soddisfatta. Se omesso, il parametro valore_se_vero deve essere impostato.

    Formula IF di base in Excel

    Per creare un semplice Se poi in Excel, ecco cosa bisogna fare:

    • Per test_logico Scrivete un'espressione che restituisca VERO o FALSO. Per questo, normalmente si usa uno degli operatori logici.
    • Per valore_se_vero , specifica cosa restituire quando il test logico è valutato come VERO.
    • Per valore_se_falso , specifica cosa restituire quando il test logico è valutato come FALSO. Sebbene questo argomento sia facoltativo, si consiglia di configurarlo sempre per evitare risultati inaspettati. Per una spiegazione dettagliata, consultare Excel IF: cose da sapere.

    A titolo di esempio, scriviamo una formula IF molto semplice che controlla un valore nella cella A2 e restituisce "Buono" se il valore è maggiore di 80, "Cattivo" altrimenti:

    =IF(B2>80, "Buono", "Cattivo")

    Questa formula arriva a C2 e poi viene copiata fino a C7:

    Se si desidera restituire un valore solo quando la condizione è soddisfatta (o non soddisfatta), altrimenti nulla, utilizzare una stringa vuota ("") per l'argomento "undefined". Ad esempio:

    =IF(B2>80, "Buono", "")

    Questa formula restituirà "Buono" se il valore in A2 è maggiore di 80, altrimenti una cella vuota:

    Formula Se allora di Excel: cose da sapere

    Sebbene gli ultimi due parametri della funzione IF siano facoltativi, la formula potrebbe produrre risultati inaspettati se non si conosce la logica sottostante.

    Se value_if_true viene omesso

    Se il secondo argomento della formula IF di Excel viene omesso (cioè ci sono due virgole consecutive dopo il test logico), si otterrà zero (0) quando la condizione è soddisfatta, il che non ha senso nella maggior parte dei casi. Ecco un esempio di tale formula:

    =IF(B2>80, , "Bad")

    Per restituire invece una cella vuota, fornire una stringa vuota ("") come secondo parametro, in questo modo:

    =IF(B2>80, "", "Bad")

    L'immagine seguente mostra la differenza:

    Se value_if_false è omesso

    Se si omette il terzo parametro di IF, si otterranno i seguenti risultati quando il test logico è valutato come FALSO.

    Se c'è solo una parentesi di chiusura dopo valore_se_vero la funzione IF restituirà il valore logico FALSE. Un esempio di formula di questo tipo:

    =IF(B2>80, "Buono")

    Digitare una virgola dopo l'opzione valore_se_vero costringerà Excel a restituire 0, il che non ha molto senso:

    =IF(B2>80, "Buono",)

    L'approccio più ragionevole consiste nell'utilizzare una stringa di lunghezza zero ("") per ottenere una cella vuota quando la condizione non è soddisfatta:

    =IF(B2>80, "Buono", "")

    Suggerimento: per restituire un valore logico quando la condizione specificata è soddisfatta o non soddisfatta, fornire TRUE per valore_se_vero e FALSO per valore_se_falso Affinché i risultati siano valori booleani riconoscibili da altre funzioni di Excel, non racchiudere VERO e FALSO tra doppi apici per non trasformarli in normali valori di testo.

    Utilizzo della funzione IF in Excel - esempi di formule

    Ora che si conosce la sintassi della funzione IF, vediamo alcuni esempi di formule e impariamo a usare Se poi in scenari reali.

    Funzione IF di Excel con i numeri

    Per costruire un'istruzione IF per i numeri, utilizzare operatori logici come:

    • Uguale a (=)
    • Non uguale a ()
    • Maggiore di (>)
    • Maggiore o uguale a (>=)
    • Meno di (<)
    • Minore o uguale a (<=)

    Sopra abbiamo già visto un esempio di formula che verifica se un numero è maggiore di un dato numero.

    Ed ecco una formula che controlla se una cella contiene un elemento numero negativo :

    =IF(B2<0, "Non valido", "")

    Per i numeri negativi (che sono inferiori a 0), la formula restituisce "Invalido"; per gli zeri e i numeri positivi, una cella vuota.

    Funzione IF di Excel con testo

    Di solito si scrive un'istruzione IF per i valori del testo utilizzando l'operatore "uguale a" o "non uguale a".

    Ad esempio, la formula seguente controlla il valore Stato di consegna in B2 per determinare se un'azione è necessaria o meno:

    =IF(B2="consegnato", "No", "Sì")

    Tradotto in parole povere, la formula dice: restituire "No" se B2 è uguale a "consegnato", "Sì" altrimenti.

    Un altro modo per ottenere lo stesso risultato è quello di utilizzare l'operatore "non uguale a" e scambiare l'elemento valore_se_vero e valore_se_falso valori:

    =IF(C2 "consegnato", "Sì", "No")

    Note:

    • Quando si usano valori di testo per i parametri di IF, ricordarsi di racchiuderli sempre in virgolette doppie .
    • Come la maggior parte delle altre funzioni di Excel, IF è insensibile alle maiuscole e minuscole per impostazione predefinita Nell'esempio precedente, non distingue tra "consegnato", "Consegnato" e "CONSEGNATO".

    Istruzione IF sensibile alle maiuscole per i valori di testo

    Per trattare le lettere maiuscole e minuscole come caratteri diversi, utilizzare IF in combinazione con la funzione EXACT, sensibile alle maiuscole.

    Ad esempio, per restituire "No" solo quando B2 contiene "DELIVERED" (la lettera maiuscola), si utilizza questa formula:

    =IF(EXACT(B2, "CONSEGNATO"), "No", "Sì")

    Se la cella contiene testo parziale

    Nel caso in cui si voglia basare la condizione su corrispondenza parziale piuttosto che una corrispondenza esatta, una soluzione immediata che viene in mente è l'uso di caratteri jolly nel test logico. Tuttavia, questo approccio semplice e ovvio non funziona. Molte funzioni accettano i caratteri jolly, ma purtroppo IF non è una di queste.

    Una soluzione efficace è quella di utilizzare IF in combinazione con ISNUMBER e SEARCH (case-insensitive) o FIND (case-sensitive).

    Ad esempio, nel caso in cui l'azione "No" sia richiesta sia per gli articoli "Consegnati" che per quelli "In consegna", la formula seguente funzionerà a meraviglia:

    =IF(ISNUMBER(SEARCH("deliv", B2)), "No", "Sì")

    Per ulteriori informazioni, consultare il sito:

    • Dichiarazione IF di Excel per una corrispondenza parziale del testo
    • Se la cella contiene

    Dichiarazione IF di Excel con date

    A prima vista potrebbe sembrare che le formule IF per le date siano simili alle istruzioni IF per i valori numerici e di testo. Purtroppo non è così. A differenza di molte altre funzioni, IF riconosce le date nei test logici e le interpreta come semplici stringhe di testo. In altre parole, non è possibile fornire una data nella forma "1/1/2020" o ">1/1/2020". Per fare in modo che la funzione IF riconosca una data, è necessario avvolgerla inla funzione DATEVALUE.

    Ad esempio, ecco come verificare se una data è maggiore di un'altra:

    =IF(B2>DATEVALUE("7/18/2022"), "In arrivo", "Completato")

    Questa formula valuta le date nella colonna B e restituisce "Prossimamente" se un gioco è previsto per il 18-lug-2022 o successivamente, "Completato" per una data precedente.

    Naturalmente, nulla vieta di inserire la data di destinazione in una cella predefinita (ad esempio E2) e di fare riferimento a quella cella. Basta ricordarsi di bloccare l'indirizzo della cella con il segno $ per renderlo un riferimento assoluto. Ad esempio:

    =IF(B2>$E$2, "In arrivo", "Completato")

    Per confrontare una data con il valore data corrente utilizzare la funzione TODAY(). Ad esempio:

    =IF(B2>OGGI(), "In arrivo", "Completato")

    Dichiarazione IF di Excel per spazi vuoti e non vuoti

    Se si desidera contrassegnare in qualche modo i dati in base a determinate celle vuote o non vuote, è possibile farlo:

    • Utilizzare la funzione IF insieme a ISBLANK, oppure
    • Utilizzare le espressioni logiche (uguale a vuoto) o "" (non uguale a vuoto).

    La tabella seguente spiega la differenza tra questi due approcci con esempi di formule.

    Test logico Descrizione Esempio di formula
    Celle vuote =""

    Valuta a VERO se una cella è visivamente vuota, anche se contiene un elemento stringa di lunghezza zero .

    Altrimenti, la valutazione è FALSO.

    =IF(A1="", 0, 1)

    Restituisce 0 se A1 è visivamente vuoto. Altrimenti restituisce 1.

    Se A1 contiene una stringa vuota (""), la formula restituisce 0. ISBLANK()

    Vale VERO se una cella contiene assolutamente nulla - nessuna formula, nessuno spazio, nessuna stringa vuota.

    Altrimenti, la valutazione è FALSO.

    =IF(ISBLANK(A1), 0, 1)

    Restituisce 0 se A1 è assolutamente vuoto, 1 altrimenti.

    Se A1 contiene una stringa vuota (""), la formula restituisce 1. Cellule non in bianco "" Viene valutato come VERO se una cella contiene dei dati, altrimenti viene valutato come FALSO.

    Cellule con stringhe di lunghezza zero sono considerati vuoto . =IF(A1"", 1, 0)

    Restituisce 1 se A1 è non vuoto; 0 altrimenti.

    Se A1 contiene una stringa vuota, la formula restituisce 0. ISBLANK()=FALSE Se una cella non è vuota, il risultato è VERO, altrimenti il risultato è FALSO.

    Cellule con stringhe di lunghezza zero sono considerati non vuoto . =IF(ISBLANK(A1)=FALSE, 0, 1)

    Funziona come la formula precedente, ma restituisce 1 se A1 contiene una stringa vuota.

    Vediamo ora le istruzioni IF vuote e non vuote in azione. Supponiamo di avere una data nella colonna B solo se una partita è già stata giocata. Per etichettare le partite completate, utilizzare una di queste formule:

    =IF(B2="", "", "Completato")

    =IF(ISBLANK(B2), "", "Completato")

    =IF($B2"", "Completato", "")

    =IF(ISBLANK($B2)=FALSE, "Completato", "")

    Se le celle testate non hanno stringhe di lunghezza zero, tutte le formule daranno esattamente gli stessi risultati:

    Verifica se due celle sono uguali

    Per creare una formula che verifichi se due celle corrispondono, confrontare le celle utilizzando il segno di uguale (=) nel test logico IF. Ad esempio:

    =IF(B2=C2, "Stesso punteggio", "")

    Per verificare se le due celle contengono lo stesso testo, comprese le lettere maiuscole, rendete la formula IF sensibile alle maiuscole con l'aiuto della funzione EXACT.

    Ad esempio, per confrontare le password in A2 e B2 e restituire "Match" se le due stringhe sono esattamente uguali, "Do not match" altrimenti, la formula è:

    =IF(EXACT(A2, B2), "Corrisponde", "Non corrisponde")

    IF poi formula per eseguire un'altra formula

    In tutti gli esempi precedenti, un'istruzione IF di Excel ha restituito dei valori, ma può anche eseguire un determinato calcolo o un'altra formula quando una specifica condizione è soddisfatta o meno. A questo scopo, inserite un'altra funzione o un'espressione aritmetica nell'istruzione valore_se_vero e/o valore_se_falso argomenti.

    Ad esempio, se B2 è maggiore di 80, verrà moltiplicato per il 7%, altrimenti per il 3%:

    =IF(B2>80, B2*7%, B2*3%)

    Dichiarazioni IF multiple in Excel

    In sostanza, esistono due modi per scrivere più istruzioni IF in Excel:

    • Annidamento di più funzioni IF una dentro l'altra
    • Utilizzo della funzione AND o OR nel test logico

    Dichiarazione IF annidata

    Le funzioni IF annidate consentono di inserire più istruzioni IF nella stessa cella, cioè di verificare più condizioni all'interno di una formula e di restituire valori diversi a seconda dei risultati dei test.

    Supponiamo che l'obiettivo sia quello di assegnare diversi bonus in base al punteggio:

    • Oltre 90 - 10%
    • da 90 a 81 - 7%
    • Da 80 a 70 - 5%
    • Meno di 70 - 3%

    Per realizzare il compito, si scrivono 3 funzioni IF separate e si annidano l'una nell'altra in questo modo:

    =IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%))

    Per ulteriori esempi di formule, vedere:

    • Formula IF annidata di Excel
    • Funzione IF annidata: esempi, best practice e alternative

    Dichiarazione IF di Excel con condizioni multiple

    Per valutare più condizioni con la logica AND o OR, incorporare la funzione corrispondente nel test logico:

    • AND - restituisce VERO se tutti le condizioni sono soddisfatte.
    • OR - restituisce VERO se qualsiasi delle condizioni è soddisfatta.

    Ad esempio, per restituire "Pass" se entrambi i punteggi in B2 e C2 sono superiori a 80, la formula è:

    =IF(AND(B2>80, C2>80), "Pass", "Fail")

    Per ottenere "Pass" se uno dei due punteggi è superiore a 80, la formula è:

    =IF(OR(B2>80, C2>80), "Pass", "Fail")

    Per tutti i dettagli, visitare il sito:

    • Formula IF AND in Excel
    • Funzione IF OR di Excel con esempi di formula

    Se errore in Excel

    A partire da Excel 2007, è disponibile una funzione speciale, denominata IFERROR, per verificare la presenza di errori nelle formule. In Excel 2013 e versioni successive, è disponibile anche la funzione IFNA per gestire gli errori #N/A.

    Tuttavia, in alcune circostanze l'uso della funzione IF insieme a ISERROR o ISNA rappresenta una soluzione migliore. In sostanza, IF ISERROR è la formula da utilizzare quando si desidera restituire qualcosa in caso di errore e qualcos'altro in caso di assenza di errore. La funzione IFERROR non è in grado di farlo, poiché restituisce sempre il risultato della formula principale se non si tratta di un errore.

    Ad esempio, per confrontare ogni punteggio della colonna B con i primi 3 punteggi in E2:E4 e restituire "Sì" se viene trovata una corrispondenza, "No" altrimenti, si inserisce questa formula in C2 e poi la si copia fino a C7:

    =IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "No", "Sì" )

    Per ulteriori informazioni, consultare la formula IF ISERROR in Excel.

    Speriamo che i nostri esempi vi abbiano aiutato a comprendere le basi di Excel IF. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!

    Quaderno pratico

    Dichiarazione IF di Excel - esempi di formule (file .xlsx)

    Michael Brown è un appassionato di tecnologia dedicato con una passione per la semplificazione di processi complessi utilizzando strumenti software. Con oltre un decennio di esperienza nel settore tecnologico, ha affinato le sue competenze in Microsoft Excel e Outlook, nonché in Fogli Google e Documenti. Il blog di Michael è dedicato alla condivisione delle sue conoscenze e competenze con gli altri, fornendo suggerimenti e tutorial facili da seguire per migliorare la produttività e l'efficienza. Che tu sia un professionista esperto o un principiante, il blog di Michael offre spunti preziosi e consigli pratici per ottenere il massimo da questi strumenti software essenziali.