Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Combinazione di AND, OR, NOT | Logica di convalida avanzata
Convalida e Controllo dei Dati in Excel

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.

Note
Nota

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/FALSE riga 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à

  1. Applicare una convalida AND alla colonna Unit Price:

    • Formula: =AND(I2>=50, I2<=5000)
    • Messaggio di errore: "Unit Price must be between 50 and 5000"
  2. Applicare una convalida OR alla colonna Discount %:

    • Formula: =OR(C2="East", C2="West", J2=0)
    • Messaggio di errore: "Discounts are only allowed for East and West regions"
  3. Applicare una convalida NOT alla colonna Status:

    • Formula: =NOT(AND(M2="Closed", L2=""))
    • Messaggio di errore: "Status cannot be Closed while End Date is empty"
  4. Testare ogni regola con valori sia validi che non validi — confermare che tutte e tre si comportino come previsto;

  5. In una colonna vuota, incollare la formula del punto 3 come supporto e osservare l'output TRUE/FALSE riga per riga prima di rimuoverla.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 3. Capitolo 2
some-alt