#Excel – Come usare le funzioni logiche E, O, XOR e NON

In un precedente articolo abbiamo approfondito l’utilizzo degli operatori logici di Excel, usati per confrontare i dati in celle diverse. Oggi, vedrete come estendere l’uso degli operatori logici per costruire test logici più elaborati al servizio di calcoli più complessi e di una più potente analisi dei dati. Le funzioni logiche di Excel come E, O, XOR e NON vi aiuteranno a raggiungere questo obiettivo.

Le funzioni logiche di Excel – Una panoramica

Microsoft Excel fornisce 4 funzioni logiche per lavorare con i valori logici. Le funzioni sono E, O, XOR e NON. È possibile utilizzare queste funzioni quando si desidera effettuare più di un confronto nella formula o testare più condizioni invece di una sola. Così come gli operatori logici, le funzioni logiche di Excel restituiscono VERO o FALSO quando i loro argomenti vengono valutati.

La seguente tabella fornisce una breve sintesi di ciò che fa ogni funzione logica, per aiutarvi a scegliere la formula giusta per le vostre necessità.

Funzione Descrizione Formula di esempio Descrizione della formula
E Restituisce VERO se tutti gli argomenti vengono valutati come veri. =E(A2>=20; B2<10) La formula restituisce VERO se il valore in cella A2 è uguale o maggiore di 20, e se il valore in cella B2 è minore di 10. Restituisce FALSO in caso contrario.
O Restituisce VERO se uno qualsiasi degli argomenti viene valutato come vero. =O(A2>=20; B2<10) La formula restituisce VERO se A2 è uguale o maggiore di 20, oppure se B2 è minore di 10, oppure se entrambe le condizioni sono vere. Se nessuna delle condizioni viene soddisfatta, la formula restituisce FALSO.
XOR Restituisce un OR esclusivo logico di tutti gli argomenti. =XOR(A2>=20; B2<10) La formula restituisce VERO sia se A2 è uguale o maggiore di 20, sia se B2 è minore di 10. Se nessuna delle condizioni è soddisfatta o se sono soddisfatte entrambe le condizioni, la formula restituisce FALSO.
NON Restituisce il valore logico inverso al suo argomento. Ad es., se l’argomento è FALSO, viene restituito VERO e viceversa. =NON(A2>=20) La formula restituisce FALSO se il valore in cella A2 è uguale o maggiore di 20; altrimenti restituisce VERO.

In aggiunta alle quattro funzioni di cui sopra, tra le funzioni logiche Microsoft Excel offre anche le seguenti funzioni condizionali: SE, PIÙ.SE, SWITCH, SE.ERRORE e SE.NON.DISP.

Come lavorano le funzioni logiche di Excel

  • Come argomenti delle funzioni logiche, è possibile utilizzare riferimenti di cella, valori numerici e di testo, valori booleani, operatori di confronto, e altre funzioni di Excel. Tuttavia, tutti gli argomenti devono poter essere valutati in valori booleani VERO o FALSO, o in riferimenti o matrici contenenti valori logici
  • Se un argomento di una funzione logica contiene valori di testo o celle vuote, tali valori vengono ignorati
  • Se un argomento di una funzione logica contiene numeri, lo zero viene valutato come FALSO, e tutti gli altri numeri, compresi i numeri negativi, vengono valutati come VERO. Per esempio, se le celle A1:A5 contengono numeri, la formula =E(A1:A5) restituirà VERO se nessuna delle celle dell’intervallo contiene 0, FALSO in caso contrario
  • Una funzione logica restituisce l’errore #VALORE! se nessuno degli argomenti restituisce valori logici
  • Una funzione logica restituisce l’errore #NOME? se viene inserito male il suo nome oppure se avete tentato di utilizzare la funzione in una versione precedente di Excel che non la supporta. Ad esempio, la funzione XOR può essere utilizzata solo a partire da Excel 2013
  • In Excel 2016, 2013, 2010 e 2007, è possibile includere fino a 255 argomenti in una funzione logica, a condizione che la lunghezza totale della formula non superi i 8.192 caratteri. In Excel 2003 e precedenti, è possibile fornire fino a 30 argomenti e la lunghezza totale della formula non deve essere superiore a 1.024 caratteri
LEGGI:  #Excel - Come elencare le festività comprese tra due date

Come usare la funzione E

La funzione E è quella più popolare tra le funzioni logiche. Essa è utile quando si devono testare diverse condizioni e fare in modo che tutte siano soddisfatte. Tecnicamente, la funzione E verifica le condizioni specificate e restituisce VERO se tutte le condizioni vengono valutate come VERO, FALSO in caso contrario.

La sintassi della funzione E è la seguente:

E(logico1; [logico2]; ...)

Dove logico è la condizione sulla quale si desidera effettuare il test in grado di valutare se è VERO o FALSO. La prima condizione è necessaria (logico1), le condizioni successive sono opzionali.

E ora, diamo un’occhiata ad alcuni esempi che illustrano come utilizzare la funzione E nelle formule di Excel.

Formula Descrizione
=E(A2="Mele"; B2>C2) Restituisce VERO se A2 contiene “Mele” e B2 è maggiore di C2, FALSO in caso contrario.
=E(B2>15; B2=C2) Restituisce VERO se B2 è maggiore di 15 e B2 è uguale a C2, FALSO in caso contrario.
=E(A2="Mele"; B2>=15; B2>C2) Restituisce VERO se A2 contiene “Mele”, B2 è uguale o maggiore di 15 e B2 è maggiore di C2, FALSO in caso contrario.

come-utilizzare-la-funzione-e-nelle-formule-di-excel

La funzione E di Excel – Utilizzi comuni

Di per sé, la funzione E di Excel non è molto “eccitante” e ha un’utilità ristretta. Ma in combinazione con altre funzioni di Excel, può estendere in modo significativo le capacità dei fogli di lavoro.

Uno degli usi più comuni della funzione E di Excel si trova nell’argomento test della funzione SE per testare diverse condizioni invece di una sola. Ad esempio, è possibile nidificare una delle formule E qua sopra all’interno della funzione SE e ottenere un risultato simile a questo:

=SE(E(A2="Mele"; B2>C2); "Bene"; "Male")

esempio-di-formula-se-con-nidificata-una-funzione-e

Una formula di Excel per verificare se un valore è compreso tra altri due

Se aveste la necessità di creare una formula TRA che raccolga tutti i valori tra i due valori indicati, un approccio comune è quello di utilizzare la funzione SE con E nell’argomento test.

Supponete di avere 3 valori nelle colonne A, B e C e che vogliate sapere se un valore nella colonna A cade tra i valori B e C. Per realizzare una formula come questa, tutto quello che serve è una funzione SE con annidata la funzione E e un paio di operatori di confronto:

Formula per verificare se X è compreso tra Y e Z, inclusi:

=SE(E(A2>=B2; A2<=C2); "S"; "N")

Formula per verificare se X è tra Y e Z, non inclusi:

=SE(E(A2>B2; A2<C2); "S"; "N")

una-formula-per-la-condizione-tra

Come dimostrato nella schermata sopra, la formula funziona perfettamente per tutti i tipi di dati: numeri, date e valori di testo. Quando si confrontano valori di testo, la formula li controlla carattere per carattere in ordine alfabetico. Ad esempio, stabilisce le mele non sono tra le pere e le fragole perché la “M” di Mele viene prima della “P” di Pere. Per maggiori dettagli vi invito a consultare Utilizzare gli operatori di confronto di Excel con i valori di testo.

Come potete vedere, la formula SE/E è semplice, veloce e quasi universale. Dico “quasi” perché non copre uno scenario. La formula sopra implica che il valore in colonna B sia inferiore a quello in colonna C, cioè la colonna B deve sempre contenere il valore limite inferiore e la colonna C il valore limite superiore. Questo è il motivo per cui la formula restituisce “N” per riga 6, dove A6 ha 12, B6 – 15 e C6 – 3 così come per riga 8 dove A8 è 24-nov, B8 è 26-dic e C8 è 21- ott.

Ma cosa succede se invece volete che la formula funzioni correttamente indipendentemente da dove i valori limite inferiore e superiore sono posizionati? In questo caso, occorre utilizzare la funzione MEDIANA di Excel che restituisce la mediana dei numeri dati (vale a dire il numero nel mezzo di un insieme di numeri).

Quindi, se sostituite E nel test logico della funzione SE con MEDIANA, la formula diventerebbe così:

=SE(A2=MEDIANA(A2:C2); "S"; "N")

E otterreste i seguenti risultati:

usare-se-con-la-funzione-mediana-per-trovare-tutti-i-valori-tra-due-valori-forniti

Come potete vedere, la funzione MEDIANA funziona perfettamente per i numeri e le date, ma restituisce l’errore #NUM! per i valori di testo. Purtroppo, nessuno è perfetto 🙂

LEGGI:  #Excel - Come evidenziare le celle vuote

Se volete una formula perfetta, che funzioni per valori di testo, nonché per i numeri e le date, allora dovrete costruire un test logico più complesso utilizzando le funzioni E/O, in questo modo:

=SE(O(E(A2>B2; A2<C2); E(A2<B2; A2>C2)); "S"; "N")

una-formula-tra-che-lavora-con-i-valori-testuali-con-i-numeri-e-con-le-date

Come usare la funzione O

Così come E, la funzione O di Excel è una funzione logica di base che viene utilizzata per confrontare due valori o dichiarazioni. La differenza è che la funzione O restituisce VERO se almeno uno degli argomenti restituisce VERO, e restituisce FALSO se tutti gli argomenti sono FALSO. La funzione O è disponibile in tutte le versioni di Excel 2016-2000.

La sintassi della funzione O di Excel o è molto simile a E:

O(logico1; [logico2]; ...)

Dove logico è qualcosa per la quale si desidera eseguire il test il cui risultato può essere VERO o FALSO. Il primo è richiesto, ulteriori condizioni logiche (fino a 255 nelle moderne versioni di Excel) sono opzionali.

E ora, scriviamo alcune formule per darvi un’idea di come funziona la funzione O in Excel.

Formula Descrizione
=O(A2="Mele"; A2="Pere") Restituisce VERO se A2 contiene “Mele” oppure “Pere”, FALSO in caso contrario.
=O(B2>=45; C2>=25) Restituisce VERO se B2 è uguale o maggiore di 45 oppure se C2 è uguale o maggiore di 25, FALSO in caso contrario.
=O(B2=""; C2="") Restituisce VERO se B2 oppure C2 sono vuote, oppure entrambe, FALSO in caso contrario.

usare-la-funzione-o-in-excel

Così come la funzione E, O è ampiamente utilizzata per espandere l’utilità di altre funzioni di Excel che eseguono test logici, ad esempio la funzione SE. Qui ci sono solo un paio di esempi:

Formula SE con O nidificata

=SE(O(B2>30; C2>20); "Bene"; "Male")

La formula restituisce “Bene” se un numero nella cella B2 è maggiore di 30 o il numero in C2 è maggiore di 20, “Male” altrimenti.

Le funzioni E/O nella stessa formula

Naturalmente, nulla vieta di utilizzare entrambe le funzioni, E e O, in un’unica formula, se la vostra necessità lo richiede. Ci possono essere infinite variazioni di tali formule che si riducono ai seguenti modelli di base:

=E(O(Cond1; Cond2); Cond3)

=E(O(Cond1; Cond2); O(Cond3; Cond4)

=O(E(Cond1; Cond2); Cond3)

=O(E(Cond1; Cond2); E(Cond3; Cond4))

Ad esempio, se volete sapere quali partite di Mele e Pere sono terminate, vale a dire il numero “In magazzino” (colonna B) è uguale al numero “Venduto” (colonna C), la seguente formula E/O potrebbe mostrarvelo rapidamente:

=O(E(A2="Mele"; B2=C2); E(A2="Pere"; B2=C2))

la-formula-e-o-per-verificare-condizioni-multiple

La funzione O nella formattazione condizionale

=O($B2=""; $C2="")

La regola con la formula O qua sopra evidenzia le righe che contengono una cella vuota nella colonna B oppure nella C, oppure in entrambe.

usare-la-funzione-o-nella-formattazione-condizionale

Per ulteriori informazioni sulle formule di formattazione condizionale, vi invitiamo a consultare i seguenti articoli:

Come usare la funzione XOR

In Excel 2013, Microsoft ha introdotto la funzione XOR, che è una funzione logica OR esclusiva. Questo termine è sicuramente familiare a coloro di voi che hanno qualche conoscenza di qualche linguaggio di programmazione o di computer in generale. Per coloro che non la avessero, il concetto di “OR esclusivo” può essere un po’ difficile da afferrare in un primo momento, ma confidiamo di aiutarvi con gli esempi che seguono.

La sintassi della funzione XOR è identica a quella di O:

XOR(logico1; [logico2]; ...)

Il primo argomento logico (logico1) è necessario, quelli successivi sono opzionali. È possibile verificare fino a 254 condizioni in una formula, e queste possono essere valori logici, matrici o riferimenti che restituiscono VERO o FALSO.

Nella versione più semplice della formula XOR, contenente solo 2 istruzioni logiche, la funzione XOR di Excel restituisce VERO se uno degli argomenti restituisce VERO. Se entrambi gli argomenti sono VERO o nessuno è VERO, XOR restituisce FALSO. Questo potrebbe essere più facile da capire con degli esempi:

Formula Risultato Descrizione
=XOR(1>0; 2<1) VERO Restituisce VERO perché il primo argomento è VERO e il secondo argomento è FALSO.
=XOR(1<0; 2<1) FALSO Restituisce FALSO perché entrambi gli argomenti sono FALSO.
=XOR(1>0; 2>1) FALSO Restituisce FALSO perché entrambi gli argomenti sono VERO.
LEGGI:  #Excel - Come evidenziare le date incluse tra due estremi [Quick Tip]

Quando si aggiungono più argomenti logici da valutare, la funzione XOR di Excel restituisce:

  • VERO se un numero dispari di argomenti restituisce VERO;
  • FALSO se è il numero totale di dichiarazioni VERO è pari, o se tutte le affermazioni sono FALSO.

La figura seguente illustra il punto:

la-funzione-xor-con-condizioni-multiple

Se non siete sicuri di come la funzione XOR possa essere applicata a uno scenario reale, considerate il seguente esempio. Supponete di avere una tabella dei concorrenti e dei loro risultati per i primi 2 giochi di un torneo. Volete sapere quale dei concorrenti deve giocare il 3° gioco in base alle seguenti condizioni:

  • I concorrenti che hanno vinto gara1 e gara2 avanzano al turno successivo automaticamente e non devono giocare gara3
  • I concorrenti che hanno perso entrambi i primi giochi sono eliminati e non giocano gara3
  • I concorrenti che hanno vinto gara1 oppure gara2 giocano gara3 per determinare chi passa al turno successivo e chi no

Una semplice formula XOR fa esattamente quello che vogliamo:

=XOR(B2="Vinto";  C2="Vinto")

usare-la-funzione-xor-in-uno-scenario-reale

E se nidificate questa funzione XOR nell’argomento test di una formula SE, potrete ottenere risultati ancora più comprensibili:

=SE(XOR(B2="Vinto"; C2="Vinto"); "S"; "N")

una-formula-se-con-una-funzione-xor-nidificata

Come usare la funzione NON

La funzione NON è una delle più semplici funzioni di Excel in termini di sintassi:

NON(logico)

È possibile utilizzare la funzione NON per invertire il valore del suo argomento. In altre parole, se logico viene valutato FALSO, la funzione NON restituisce VERO e viceversa. Ad esempio, entrambe le formule seguenti restituiscono FALSO:

=NON(VERO)
=NON(2*2=4)

Perché dovreste voler ottenere tali risultati ridicoli? In alcuni casi, potreste essere più interessati a sapere quando una certa condizione non è soddisfatta rispetto a quando lo è. Ad esempio, al momento di rivedere la linea di abbigliamento del vostro negozio, potreste decidere di escludere alcuni colori che non vi piacciono. Io non sono particolarmente appassionato al nero, così vado avanti con questa formula:

=NON(C2="Nero")

usare-la-funzione-non-in-excel

Come al solito, in Microsoft Excel vi è più di un modo per fare una cosa, e si può ottenere lo stesso risultato utilizzando l’operatore “diverso da”: = C2 <> “Nero”.

Se volete testare diverse condizioni in un’unica formula, è possibile utilizzare NON in congiunzione con la funzione E o O. Ad esempio, se si volesse escludere i colori bianco e nero, la formula sarebbe stata così:

=NON(O(C2="Nero"; C2="Bianco"))

E se preferite non ordinare un cappotto nero, mentre una giacca nera o una pelliccia nera possono essere considerati, è necessario utilizzare NON in combinazione con la funzione E di Excel:

=NON(E(C2="Nero"; B2="Cappotto"))

Un altro uso comune della funzione NON in Excel è quello di invertire il comportamento di qualche altra funzione. Per esempio, è possibile combinare le funzioni NON e VAL.VUOTO per creare la formula NON.VAL.VUOTO che in Microsoft Excel manca 😉

Come sapete, la formula =VAL.VUOTO (A2) restituisce VERO se la cella A2 è vuota. La funzione NON può invertire questo risultato a FALSO: =NON(VAL.VUOTO (A2))

E poi, si può fare un passo avanti e creare un SE nidificato con le funzioni NON/VAL.VUOTO per risolvere un caso reale:

=SE(NON(VAL.VUOTO(C2)); C2*0,15; "Nessuno :(")

una-formula-se-nidificata-con-le-funzioni-non-e-val-vuoto

Tradotto in parole povere, la formula dice ad Excel di effettuare le seguenti operazioni: se la cella C2 non è vuota, moltiplica il numero in C2 per 0,15, che dà il bonus del 15% ad ogni venditore che ha fatto delle vendite extra. Se C2 è vuota appare, il testo “Nessuno :(“.

In sostanza, questo è il modo di utilizzare le funzioni logiche in Excel. Naturalmente, questi esempi hanno solo scalfito la superficie delle capacità di E, O, XOR e NON. Ora che avete le nozioni di base, potete estendere la vostra conoscenza affrontando le attività reali ed elaborare formule più “intelligenti” per i vostri fogli di lavoro.

Copyright © 2014-2017  Office Academy. Tutti i diritti riservati.
Vai alla barra degli strumenti