Combinazione di AND, OR, NOT
Scorri per mostrare il menu
Perché sono necessarie più condizioni
Una singola condizione è raramente sufficiente per le regole aziendali reali. In pratica, la logica di convalida spesso si presenta così:
- "Accetta solo se X è vero e Y è vero";
- "Accetta se X o Y è soddisfatto";
- "Accetta solo se X non è il caso".
Le funzioni AND, OR e NOT di Excel permettono di combinare più controlli logici in un'unica formula — esattamente ciò di cui la convalida personalizzata ha bisogno.
AND — Tutte le condizioni devono essere vere
AND restituisce VERO solo quando tutte le condizioni al suo interno sono soddisfatte. Se anche solo una fallisce, l'intera formula restituisce FALSO e l'inserimento viene rifiutato.
Sintassi: =AND(condition1, condition2, ...)
Esempio — Prezzo unitario all'interno di un intervallo valido per la sua categoria:
Tutti i prodotti devono avere un prezzo compreso tra 150 e 2000. Supponendo Unit Price nella colonna I:
=AND(I2>=150, I2<=2000)
Entrambi i limiti devono essere soddisfatti contemporaneamente — troppo basso o troppo alto, e l'inserimento fallisce.
A seconda della versione di Excel e delle impostazioni locali, le formule possono utilizzare sia le virgole , sia i punti e virgola ; come separatori di argomenti.
Ad esempio:
=AND(I2>=150, I2<=2000)
=AND(I2>=150; I2<=2000)
OR — Almeno una condizione deve essere vera
OR restituisce TRUE quando almeno una delle condizioni al suo interno è soddisfatta. Restituisce FALSE solo quando tutte le condizioni falliscono.
Sintassi: =OR(condition1, condition2, ...)
Esempio — Lo sconto è consentito solo per regioni specifiche:
Gli sconti sono permessi solo nelle regioni East o West. Supponendo che Region sia nella colonna C e Discount % nella colonna J:
=OR(C2="East", C2="West", J2=0)
Significato: accetta la voce se la regione è East, West, oppure se non viene applicato alcuno sconto.
NOT — Inverte il risultato
NOT trasforma TRUE in FALSE e FALSE in TRUE. Usalo quando è più semplice definire ciò che non è consentito rispetto a ciò che lo è.
Sintassi: =NOT(condition)
Esempio — Lo stato non può essere Closed se la data di fine è vuota:
=NOT(AND(M2="Closed", L2=""))
Significato: rifiuta la voce se Status è Closed E End Date è vuota. Qualsiasi altra combinazione è accettata.
Combinare tutte e tre le funzioni
La vera potenza deriva dall'annidare queste funzioni insieme. Non c'è limite alla profondità — basta mantenere la logica leggibile.
Esempio — La quantità deve essere positiva E lo sconto deve rientrare nell'intervallo consentito:
=AND(H2>0, OR(J2=0, AND(J2>=5, J2<=30)))
Significato: la quantità deve essere maggiore di zero e lo sconto deve essere pari a zero oppure compreso tra 5 e 30.
Alcuni consigli pratici
- Costruire in modo incrementale — testare ogni condizione separatamente prima di combinarle;
- Utilizzare una colonna di supporto durante la creazione — incollare la formula in una colonna vuota per visualizzare i risultati
TRUE/FALSEriga per riga prima di inserirla nella convalida; - Mantenere la leggibilità — se la formula supera le 3–4 condizioni, valutare se una colonna di supporto o una regola più semplice suddivisa in due convalide sia più chiara.
Attività
-
Applicare una convalida
ANDalla colonna Unit Price:- Formula:
=AND(I2>=50, I2<=5000) - Messaggio di errore: "Unit Price must be between 50 and 5000"
- Formula:
-
Applicare una convalida
ORalla colonna Discount %:- Formula:
=OR(C2="East", C2="West", J2=0) - Messaggio di errore: "Discounts are only allowed for East and West regions"
- Formula:
-
Applicare una convalida
NOTalla colonna Status:- Formula:
=NOT(AND(M2="Closed", L2="")) - Messaggio di errore: "Status cannot be Closed while End Date is empty"
- Formula:
-
Testare ogni regola con valori sia validi che non validi — confermare che tutte e tre si comportino come previsto;
-
In una colonna vuota, incollare la formula del punto 3 come supporto e osservare l'output TRUE/FALSE riga per riga prima di rimuoverla.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione