Molte attività eseguite in Excel comportano il confronto di dati presenti in celle diverse. A questo fine, Microsoft Excel fornisce sei operatori logici, chiamati anche operatori di confronto. Questo tutorial ha lo scopo di aiutarvi a capirli in modo più approfondito e scrivere così formule più efficienti.
Gli operatori logici di Excel – Panoramica
Un operatore logico viene utilizzato in Excel per confrontare due valori. Gli operatori logici sono a volte chiamati operatori booleani perché il risultato del confronto in ogni caso, non può che essere VERO o FALSO.
Sei operatori logici sono disponibili in Excel. La seguente tabella illustra ciò che fa ognuno di loro e aggiunge alla teoria degli esempi di formule.
Condizione | Operatore | Formula di esempio | Descrizione |
Uguale a | = | =A1=B1 | La formula restituisce VERO se il valore della cella A1 è uguale al valore della cella B1; FALSO altrimenti. |
Diverso da | <> | =A1<>B1 | La formula restituisce VERO se il valore della cella A1 non è uguale al valore della cella B1; FALSO altrimenti. |
Maggiore di | > | =A1>B1 | La formula restituisce VERO se il valore della cella A1 è maggiore del valore della cella B1; altrimenti restituisce FALSO. |
Minore di | < | =A1<B1 | La formula restituisce VERO se il valore della cella A1 è minore di quello della cella B1; FALSO altrimenti. |
Maggiore o uguale a | >= | =A1>=B1 | La formula restituisce VERO se il valore della cella A1 è maggiore o uguale al valore della cella B1; FALSO altrimenti. |
Minore o uguale a | <= | =A1<=B1 | La formula restituisce VERO se il valore della cella A1 è minore o uguale al valore della cella B1; FALSO altrimenti. |
La schermata qui sotto mostra i risultati restituiti dagli operatori logici “Uguale a”, “Diverso da”, “Maggiore di” e “Minore di”:
Potrebbe sembrare che la tabella di cui sopra copra tutto l’argomento e che non ci sia nient’altro di cui parlare. Ma in realtà, ogni operatore logico ha le sue specificità e conoscerle può aiutare a sfruttare il vero potere delle formule di Excel.
L’operatore logico “Uguale a” in Excel
L’operatore logico “Uguale a” (=) può essere utilizzato per confrontare tutti i tipi di dati – numeri, date, valori di testo, booleani, così come i risultati restituiti da altre formule di Excel. Per esempio:
=A1=B1 | Restituisce VERO se i valori nelle celle A1 e B1 sono gli stessi, altrimenti FALSO. |
=A1=”arance” | Restituisce VERO se la cella A1 contiene la parola “arance”, FALSO altrimenti. |
=A1=VERO | Restituisce VERO se la cella A1 contiene il valore booleano VERO, altrimenti restituisce FALSO. |
=A1=(B1/2) | Restituisce VERO se il numero nella cella A1 è pari al quoziente della divisione di B1 con 2, FALSO altrimenti. |
Esempio 1. Utilizzare l’operatore “Uguale a” con le date
Potreste essere sorpresi di sapere che l’operatore logico “Uguale a” non può confrontare le date facilmente come i numeri. Ad esempio, se le celle A1 e A2 contengono la data “24/05/2015”, la formula =A1=A2 restituisce VERO esattamente come dovrebbe.
Tuttavia, se si provasse un =A1=24/05/2015 oppure =A1=”24/05/2015″ restituirebbe FALSO come risultato. Un po’ inaspettato, eh?
Il punto è che Excel memorizza le date come numeri iniziando dal 1-Gen-1900, che è impostato come 1. La data 24/05/2015 viene memorizzata come 42148. Nelle formule di cui sopra, Microsoft Excel interpreta “24/05/2015” come una stringa di testo, e dal momento che “24/05/2015” non è uguale a 42148, restituisce FALSO.
Per ottenere il risultato corretto, è necessario sempre racchiudere una data nella funzione DATA.VALORE(), in questo modo =A1=DATA.VALORE(“24/05/2015”)
Lo stesso approccio deve essere applicato quando si utilizza l’operatore logico “Uguale a” di Excel nel test logico della funzione SE().
Esempio 2. Utilizzare l’operatore “Uguale a” con i valori di testo
Utilizzare l’operatore logico “Uguale a” di Excel con valori di testo non richiede accorgimenti aggiuntivi. L’unica cosa che si deve tenere a mente è che l’operatore logico “Uguale a” in Excel è case-insensitive, il che significa che le differenze tra minuscole e maiuscole sono ignorate quando si confrontano i valori di testo.
Ad esempio, se la cella A1 contiene la parola “arance” e la cella B1 contiene “Arance”, la formula =A1=B1 restituisce VERO.
Se si desidera confrontare i valori di testo tenendo conto anche delle differenze tra maiuscole e minuscole, è necessario utilizzare la funzione IDENTICO() anziché l’operatore “Uguale a”. La sintassi della funzione IDENTICO() è molto semplice:
=IDENTICO(testo1;testo2)
In cui il testo1 e testo2 sono i valori che si desidera confrontare. Se i valori sono esattamente gli stessi, incluse le maiuscole, Excel restituirà VERO; in caso contrario, restituirà FALSO. È inoltre possibile utilizzare la funzione IDENTICO nelle formule SE() quando si ha bisogno di un confronto tra maiuscole e minuscole nei valori di testo, come mostrato nello screenshot qui sotto:
La sintassi della funzione IDENTICO() è molto semplice, ma i suoi utilizzi possono essere abbastanza variegati, tanto è vero che gli abbiamo dedicato ben 2 articoli qualche tempo fa:
Esempio 3. Confronto tra valori booleani e numeri
Vi è una opinione diffusa che, in Microsoft Excel, il valore booleano VERO equivale sempre a 1 e FALSO a 0. Tuttavia, questo è vero solo in parte.
Quando si scrive un’espressione logica “Uguale a” che confronta un valore booleano e un numero, è necessario indicare specificamente ad Excel che un valore booleano non numerico deve essere trattato come un numero. È possibile farlo aggiungendo il doppio segno meno di fronte a un valore booleano o un riferimento di cella, e. g. =A2=–VERO oppure =A2=–B2.
Il 1° segno meno, che viene tecnicamente chiamato operatore unario, converte rispettivamente VERO/FALSO in -1/0, e il secondo unario nega i valori trasformandoli in +1 e 0. Questo sarà probabilmente più facile da capire guardando il seguente screenshot:
L’operatore logico “Diverso da” in Excel
Si utilizza l’operatore “Diverso da” di Excel (<>), quando si vuole essere sicuri che il valore di una cella non sia uguale ad un valore specificato. L’uso dell’operatore “Diverso da” è molto simile all’uso di “Uguale a” di cui abbiamo discusso poc’anzi.
I risultati restituiti dall’operatore “Diverso da” sono analoghi ai risultati prodotti dalla funzione NON() di Excel che inverte il valore del suo argomento. La seguente tabella fornisce alcuni esempi di formule.
Operatore “Diverso da” | Funzione NON() | Descrizione |
=A1<>B1 | =NON(A1=B1) | Restituisce VERO se i valori nelle celle A1 e B1 non sono gli stessi, altrimenti FALSO. |
=A1<>”arance” | =NON(A1=”arance”) | Restituisce VERO se la cella A1 contiene un valore diverso da “arance”, FALSO se contiene “arance” o “ARANCE” o “Arance”, ecc |
=A1<>VERO | =NON(A1=TRUE) | Restituisce VERO se la cella A1 contiene un valore diverso da VERO, FALSO altrimenti. |
=A1<>(B1/2) | =NON(A1=B1/2) | Restituisce VERO se il numero nella cella A1 non è uguale al quoziente della divisione di B1 con 2, FALSO altrimenti. |
=A1<>DATA.VALORE(“24/05/2015”) | =NON(A1=DATA.VALORE(“24/05/2015”)) | Restituisce VERO se A1 contiene un valore diverso dalla data del 24-Mag-2015, indipendentemente dal formato della data, FALSO altrimenti. |
Gli operatori logici “Maggiore di”, “Minore di”, “Maggiore o uguale a”, “Minore o uguale a”
È possibile utilizzare questi operatori logici in Excel per verificare come un numero si confronta con un altro. Microsoft Excel offre 4 operatori di confronto i cui nomi sono autoesplicativi:
- Maggiore di (>)
- Maggiore o uguale a (>=)
- Minore di (<)
- Minore o uguale a (<=)
Il più delle volte, gli operatori di confronto di Excel vengono utilizzati con valori numeri, date e orari. Per esempio:
=A1>20 | Restituisce VERO se il numero nella cella A1 è superiore a 20, FALSO altrimenti. |
=A1>=(B1/2) | Restituisce VERO se il numero nella cella A1 è maggiore o uguale al quoziente della divisione di B1 con 2, FALSO altrimenti. |
=A1<DATA.VALORE(“24/05/2015”) | Restituisce VERO se la data nella cella A1 è inferiore al 24-Mag-2015, FALSO altrimenti. |
=A1<=SOMMA(B1:D1) | Restituisce VERO se il numero nella cella A1 è minore o uguale alla somma dei valori delle celle B1:D1, FALSO altrimenti. |
Utilizzare gli operatori di confronto di Excel con valori di testo
In teoria, è possibile utilizzare anche gli operatori “Maggiore di”, “Maggiore o uguale a” così come le loro controparti “Minore di” anche con i valori di testo. Ad esempio, se la cella A1 contiene “mele” e B1 contiene “banane”, indovinate un po’ cosa restituirà la formula =A1<B1? Complimenti a coloro che hanno puntato su FALSO 🙂
Quando si confrontano valori di testo, Microsoft Excel ignora maiuscole e minuscole e confronta i valori lettera per lettera, considerando “a” il valore di testo più basso e “z” il valore di testo più alto.
Così, quando si confrontano i valori di “mele” (A1) e “banane” (B1), Excel inizia con le prime lettere, “m” e “b” rispettivamente, e siccome “m” è maggiore di “b”, la formula =A1<B1 restituirà FALSO.
Se le prime lettere fossero uguali, allora sarebbero confrontate le seconde lettere, se capitasse che anch’esse fossero identiche, Excel passerebbe alle terze, e così via.
A prima vista, l’uso degli operatori di confronto con i valori di testo sembra avere molto poco senso pratico, ma non si sa mai quello che potrebbe essere necessario in futuro, quindi probabilmente questa conoscenza si rivelerà utile a qualcuno.
Gli utilizzi comuni degli operatori logici di Excel
Nella pratica, gli operatori logici di Excel sono raramente utilizzati da soli. D’accordo, i valori booleani VERO e FALSO ritornano, anche se in modo marginale. Per ottenere risultati più sensibili, è possibile utilizzare gli operatori logici come parte di funzioni di Excel o di regole di formattazione condizionale, come dimostrato negli esempi qui sotto.
Uso degli operatori logici come argomenti delle funzioni di Excel
Quando si tratta di operatori logici, Excel è molto permissivo e permette il loro utilizzo come parametri di molte funzioni. Uno degli usi più comuni si trova nella funzione SE() in cui gli operatori di confronto possono aiutare a costruire un test logico, e la formula SE() restituirà un risultato adeguato a seconda che il test restituisca VERO o FALSO. Per esempio:
=SE(A1>=B1; "OK"; "Non OK")
Questa semplice formula SE restituisce OK se il valore nella cella A1 è maggiore o uguale al valore nella cella B1, “Non OK” altrimenti.
Ed ecco un altro esempio:
=SE(A1<>B1; SOMMA(A1:C1); "")
La formula confronta i valori nelle celle A1 e B1, e se A1 non è uguale a B1, viene restituita la somma dei valori delle celle A1: C1, altrimenti una stringa vuota.
Gli operatori logici di Excel sono anche ampiamente utilizzati in particolari funzioni SE quali SOMMA.SE, CONTA.SE, MEDIA.SE e le loro controparti plurali (SOMMA.PIÙ.SE, ecc.) che restituiscono un risultato basato su una determinata condizione o più condizioni.
Uso degli operatori logici di Excel nei calcoli matematici
Naturalmente, le funzioni di Excel sono molto potenti, ma non c’è sempre bisogno di usarle per ottenere il risultato desiderato. Ad esempio, i risultati restituiti dalle seguenti due formule sono identici:
- Funzione SE: =SE(A3>B3; A3*10; A3*5)
- Formula con operatori logici: =(A3>B3)*(A3*10)+(A3<=B3)*(A3*5)
Credo che la formula SE sia più facile da interpretare, giusto? Si dice a Excel di moltiplicare il valore della cella A3 per 10 se A3 è maggiore di B3, altrimenti il valore in A3 viene moltiplicato per 5.
Ora, cerchiamo di analizzare ciò che fa la seconda formula con gli operatori logici. E’ utile sapere che nei calcoli matematici Excel equipara il valore booleano VERO a 1, e FALSO a 0. Tenendo questo in mente, vediamo cosa restituisce realmente ciascuna delle espressioni logiche.
Se il valore nella cella A3 è maggiore del valore in B3, allora l’espressione A3>B3 è VERO, e quindi pari a 1. D’altra parte, A3<=B3 è FALSO e quindi uguale a 0. Perciò, la nostra formula subisce la seguente trasformazione:
Poiché ogni numero moltiplicato per zero dà zero, possiamo tranquillamente gettare via la seconda parte della formula, quella dopo il segno più. E siccome ogni numero moltiplicato per 1 dà il numero stesso, la nostra formula finale si trasforma in un semplice =A3*10, che è esattamente ciò che fa la formula SE vista più sopra 🙂
Ovviamente, se il valore nella cella A3 fosse inferiore a B3, allora l’espressione A3>B3 restituirebbe FALSO (0) e A3<=B3 VERO (1), il che significa che si verificherebbe il contrario di quanto sopra descritto.
Gli operatori logici nella formattazione condizionale di Excel
Un altro uso comune degli operatori logici si trova nella Formattazione condizionale di Excel che consente di evidenziare rapidamente le informazioni più importanti in un foglio di calcolo.
Ad esempio, le seguenti semplici regole evidenziano delle celle o intere righe del foglio di lavoro in funzione del valore nella colonna A:
- Minore di (colore arancione):
=A1<5
- Maggiore di (colore verde):
=A1>20
Per le istruzioni dettagliate passo-passo e diversi esempi di regole, potete consultare i seguenti articoli:
- Come usare la formattazione condizionale di Excel – Parte 1
- Come usare la formattazione condizionale di Excel – Parte 2
- Come usare la formattazione condizionale di Excel – Parte 3
Come avrete visto, l’uso degli operatori logici in Excel è intuitivo e facile. Nei prossimi articoli, ci accingeremo ad approfondire alcune funzioni di Excel che permettono il confronto di più di un valore in una formula. Restate sintonizzati e grazie per la lettura!