Sommario
L'esercitazione mostra come creare regole di convalida dei dati personalizzate in Excel. formule di convalida dei dati xcel per consentire l'inserimento di soli numeri o valori di testo in celle specifiche, o di solo testo che inizia con caratteri specifici, consentire dati unici evitando duplicati e altro ancora.
Nell'esercitazione di ieri abbiamo iniziato a esaminare la convalida dei dati di Excel: qual è il suo scopo, come funziona e come utilizzare le regole integrate per convalidare i dati nei fogli di lavoro. Oggi faremo un ulteriore passo avanti e parleremo degli aspetti più specifici della convalida personalizzata dei dati in Excel, sperimentando una serie di formule di convalida diverse.
Come creare una convalida personalizzata dei dati con una formula
Microsoft Excel dispone di diverse regole di convalida dei dati integrate per numeri, date e testo, che però coprono solo gli scenari più elementari. Se si desidera convalidare le celle con criteri propri, è necessario creare una regola di convalida personalizzata basata su una formula. Ecco come fare:
- Selezionare una o più celle da convalidare.
- Aprire la finestra di dialogo Convalida dati, facendo clic sul pulsante Convalida dei dati sul pulsante Dati nella scheda Strumenti per i dati o premere la sequenza di tasti Alt> D> L (ogni tasto deve essere premuto separatamente).
- Sul Impostazioni della scheda Convalida dei dati finestra di dialogo, selezionare Personalizzato nel Consentire e inserire la formula di convalida dei dati nella casella Formula scatola.
- Cliccare OK .
È possibile aggiungere un messaggio di input personalizzato e un avviso di errore che verranno visualizzati quando l'utente seleziona la cella convalidata o inserisce dati non validi.
Di seguito sono riportati alcuni esempi di regole di convalida personalizzate per diversi tipi di dati.
Nota: tutte le regole di convalida dei dati di Excel, integrate e personalizzate, verificano solo i nuovi dati digitati in una cella dopo la creazione della regola. I dati copiati non vengono convalidati, così come i dati immessi nella cella prima della creazione della regola. Per individuare le voci esistenti che non soddisfano i criteri di convalida dei dati, utilizzare l'opzione Cerchio Dati non validi come illustrato in Come trovare dati non validi in Excel.
Convalida dei dati di Excel per consentire solo i numeri
Sorprendentemente, nessuna delle regole di convalida dei dati di Excel è in grado di soddisfare una situazione molto tipica, quando è necessario limitare l'immissione di numeri in celle specifiche. Ma questo può essere facilmente fatto con una formula di convalida dei dati personalizzata basata sulla funzione ISNUMBER, come questa:
=ISNUMERO(C2)
Dove C2 è la cella più alta dell'intervallo che si desidera convalidare.
Nota: la funzione ISNUMBER consente di inserire nelle celle convalidate qualsiasi valore numerico, compresi numeri interi, decimali, frazioni e date e orari, che sono anch'essi numeri in Excel.
Convalida dei dati di Excel per consentire solo il testo
Se si desidera l'opposto, ovvero consentire solo l'inserimento di testo in un determinato intervallo di celle, costruire una regola personalizzata con la funzione ISTEXT, ad esempio:
=ISTEXT(D2)
Dove D2 è la cella più alta dell'intervallo selezionato.
Consentire il testo che inizia con uno o più caratteri specifici
Se tutti i valori in un determinato intervallo devono iniziare con un particolare carattere o sottostringa, è possibile eseguire la convalida dei dati di Excel in base alla funzione COUNTIF con un carattere jolly:
COUNTIF( cella ," testo *")Ad esempio, per assicurarsi che tutti gli ID ordine della colonna A inizino con il prefisso "AA-", "aa-", "Aa-" o "aA-" (senza distinzione tra maiuscole e minuscole), definire una regola personalizzata con questa formula di convalida dei dati:
=COUNTIF(A2, "aa-*")
Formula di validazione con logica OR (criteri multipli)
Se ci sono 2 o più prefissi validi, aggiungete più funzioni COUNTIF, in modo che la regola di convalida dei dati di Excel funzioni con la logica OR:
=COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")
Formula di convalida sensibile alle maiuscole
Se il caso dei caratteri è importante, utilizzare EXACT in combinazione con la funzione LEFT per creare una formula di convalida sensibile al caso per le voci che iniziano con un testo specifico:
ESATTO(SINISTRO( cella , numero_di_caratteri ), testo )Ad esempio, per consentire solo gli ID degli ordini che iniziano con "AA-" (non sono ammessi né "a-" né "Aa-"), utilizzare questa formula:
=ESATTA(SINISTRA(A2,3), "AA-")
Nella formula precedente, la funzione SINISTRA estrae i primi 3 caratteri dalla cella A2 ed ESATTO esegue un confronto sensibile alle maiuscole e minuscole con la sottostringa codificata ("AA-" in questo esempio). Se le due sottostringhe corrispondono esattamente, la formula restituisce VERO e la convalida viene superata; in caso contrario, viene restituito FALSO e la convalida fallisce.
Consentire le voci contenenti un determinato testo
Per consentire l'inserimento di voci che contengono un testo specifico in qualsiasi punto di una cella (all'inizio, al centro o alla fine), utilizzare la funzione ISNUMERO in combinazione con TROVA o CERCA, a seconda che si desideri una corrispondenza sensibile o non sensibile alle maiuscole e alle minuscole:
- Convalida senza distinzione tra maiuscole e minuscole: ISNUMBER(SEARCH( testo , cella ))
- Convalida sensibile alle maiuscole: ISNUMBER(FIND( testo , cella ))
Per consentire solo le voci contenenti il testo "AA" nelle celle A2:A6, utilizzare una delle seguenti formule:
Senza distinzione tra maiuscole e minuscole:
=ISNUMBER(SEARCH("AA", A2))
Sensibile alle maiuscole e alle minuscole:
=ISNUMBER(FIND("AA", A2))
Le formule funzionano con la seguente logica:
Si cerca la sottostringa "AA" nella cella A2 utilizzando le funzioni TROVA o CERCA, che restituiscono entrambe la posizione del primo carattere della sottostringa. Se il testo non viene trovato, viene restituito un errore. Per qualsiasi valore numerico restituito come risultato della ricerca, la funzione ISNUMERO restituisce VERO e la convalida dei dati ha esito positivo. In caso di errore, ISNUMERO restituisce FALSO e la voce non sarà ammessa in una cella.
Convalida dei dati per consentire solo voci univoche e non consentire i duplicati
Quando una determinata colonna o un intervallo di celle non deve contenere duplicati, è possibile configurare una regola di convalida dei dati personalizzata per consentire solo inserimenti unici. A tale scopo, utilizzeremo la classica formula COUNTIF per identificare i duplicati:
=COUNTIF( gamma , cella_più_alta )<=1Ad esempio, per assicurarsi che nelle celle da A2 ad A6 vengano inseriti solo gli id unici degli ordini, creare una regola personalizzata con questa formula di convalida dei dati:
=COUNTIF($A$2:$A$6, A2)<=1
Se viene immesso un valore univoco, la formula restituisce VERO e la convalida ha successo. Se lo stesso valore esiste già nell'intervallo specificato (conteggio maggiore di 1), COUNTIF restituisce FALSO e l'immissione non viene convalidata.
Fate attenzione al fatto che blocchiamo l'intervallo con riferimenti di cella assoluti (A$2:$A$6) e utilizziamo un riferimento relativo per la cella superiore (A2) per far sì che la formula si adatti correttamente a ogni cella dell'intervallo convalidato.
Nota: le formule di convalida dei dati sono senza distinzione tra maiuscole e minuscole non distingue il testo maiuscolo da quello minuscolo.
Formule di convalida per date e orari
La convalida della data incorporata fornisce molti criteri predefiniti per limitare l'inserimento da parte degli utenti solo di date comprese tra le due specificate dall'utente, maggiori, minori o uguali a una determinata data.
Se si desidera un maggiore controllo sulla convalida dei dati nei fogli di lavoro, è possibile replicare la funzionalità integrata con una regola personalizzata o scrivere una formula propria che vada oltre le capacità integrate della convalida dei dati di Excel.
Consentire le date tra due date
Per limitare l'inserimento a una data all'interno di un intervallo specificato, è possibile utilizzare la regola Data predefinita con il criterio "tra" o creare una regola di convalida personalizzata con questa formula generica:
AND( cella Traduzione: "Non è vero che non c'è niente da fare... data_inizio ), cella <= data_fine )Dove:
- cella è la cella più alta dell'intervallo convalidato e
- inizio e fine Le date sono date valide fornite tramite la funzione DATE o riferimenti a celle contenenti le date.
Ad esempio, per consentire solo le date del mese di luglio dell'anno 2017, utilizzare la seguente formula:
=AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))
Oppure, inserite la data di inizio e la data di fine in alcune celle (F1 e F2 in questo esempio) e fate riferimento a queste celle nella vostra formula:
=AND(C2>=$F$1, C2<=$F$2)
Si noti che le date limite sono bloccate con riferimenti assoluti alle celle.
Consentire solo nei giorni feriali o nei fine settimana
Per limitare l'inserimento di un utente solo nei giorni feriali o nei fine settimana, configurare una regola di convalida personalizzata basata sulla funzione WEEKDAY.
Con il tipo_ritorno Se l'argomento è impostato su 2, WEEKDAY restituisce un numero intero compreso tra 1 (lunedì) e 7 (domenica). Pertanto, per i giorni feriali (da lunedì a venerdì) il risultato della formula deve essere inferiore a 6, mentre per i fine settimana (sabato e domenica) deve essere superiore a 5.
Consentire solo giornate di lavoro :
GIORNO DELLA SETTIMANA( cella ,2)<6Consentire solo fine settimana :
GIORNO DELLA SETTIMANA( cella ,2)>5Ad esempio, per consentire l'inserimento dei soli giorni lavorativi nelle celle C2:C6, utilizzare questa formula:
=GIORNO SETTIMANALE(C2,2)<6
Convalidare le date in base alla data odierna
In molte situazioni, si potrebbe voler utilizzare la data odierna come data di inizio dell'intervallo di date consentito. Per ottenere la data corrente, utilizzare la funzione OGGI, quindi aggiungere il numero di giorni desiderato per calcolare la data finale.
Ad esempio, per limitare l'inserimento dei dati a 6 giorni da oggi (7 giorni inclusa la data odierna), utilizzeremo la regola integrata Data con i criteri basati sulla formula:
- Selezionare Data nel Consentire
- Selezionare tra nel Dati
- Nel Data di inizio inserire
=GIORNO()
- Nel Data di fine inserire
=GIORNO() + 6
In modo analogo, è possibile limitare l'inserimento di date precedenti o successive alla data odierna. A tal fine, selezionare meno di o maggiore di nel Dati e quindi immettere =GIORNO()
nel Fine data o Inizio rispettivamente la casella della data.
Convalidare i tempi in base all'ora corrente
Per convalidare i dati in base all'ora corrente, utilizzare la regola predefinita Tempo con la propria formula di convalida dei dati:
- Nel Consentire selezionare Tempo .
- Nel Dati scegliere una delle due opzioni meno di per consentire solo gli orari precedenti a quello corrente, oppure maggiore di per consentire orari successivi a quello corrente.
- Nel Ora di fine o Ora di inizio (a seconda del criterio selezionato nel passaggio precedente), inserire una delle seguenti formule:
- Per convalidare date e orari in base alla data e all'ora corrente:
=NOW()
- Per convalidare tempi in base all'ora corrente:
=TIME( ORA(NOW()), MINUTO(NOW()), SECONDO(NOW())
- Per convalidare date e orari in base alla data e all'ora corrente:
La schermata seguente mostra una regola che consente solo tempi superiori all'ora corrente:
La regola di convalida dei dati personalizzata di Excel non funziona
Se la regola di convalida dei dati basata su una formula non funziona come previsto, ci sono 3 punti principali da controllare:
- La formula di convalida dei dati è corretta
- La formula di convalida non fa riferimento a una cella vuota
- Vengono utilizzati riferimenti di cella appropriati
Controllare la correttezza della formula di convalida dei dati di Excel
Per cominciare, copiate la formula di convalida in una cella per assicurarvi che non restituisca un errore come #N/A, #VALORE o #DIV/0!
Se si sta creando un file regola personalizzata , la formula deve restituire i valori logici di VERO e FALSO o i valori 1 e 0 ad essi equivalenti.
Se si utilizza un criterio basato su una formula in un file regola incorporata (come abbiamo fatto per convalidare gli orari in base all'ora corrente), può anche restituire un altro valore numerico.
La formula di convalida dei dati di Excel non deve fare riferimento a una cella vuota
In molte situazioni, se si seleziona l'opzione Ignorare il vuoto (di solito è selezionata per impostazione predefinita) e una o più celle a cui si fa riferimento nella formula sono vuote, qualsiasi valore sarà ammesso nella cella convalidata.
Ecco un esempio nella forma più semplice:
Riferimenti di cella assoluti e relativi nelle formule di convalida dei dati
Quando si imposta una regola di convalida di Excel basata su una formula, tenere presente che tutti i riferimenti alle celle nella formula sono rispetto alla cella in alto a sinistra nell'intervallo selezionato.
Se si sta creando una regola per più di una cella e i criteri di convalida dipendono da cellule specifiche Assicuratevi di utilizzare riferimenti assoluti alle celle (con il segno $, come $A$1), altrimenti la regola funzionerà correttamente solo per la prima cella. Per illustrare meglio il punto, considerate il seguente esempio.
Supponiamo di voler limitare l'inserimento dei dati nelle celle da D2 a D5 a numeri interi compresi tra 1 (valore minimo) e il risultato della divisione di A2 per B2. Quindi, si calcola il valore massimo con questa semplice formula =A2/B2
come mostrato nella schermata seguente:
Il problema è che questa formula apparentemente corretta non funzionerà per le celle da D3 a D5 perché i riferimenti relativi cambiano in base alla posizione relativa di righe e colonne. Quindi, per la cella D3 la formula cambierà in =A3/B3
e per D4 diventerà =A4/B4
, facendo la convalida dei dati in modo sbagliato!
Per correggere la formula, basta digitare "$" prima dei riferimenti alle colonne e alle righe per bloccarli: =$A$2/$B$2
Oppure, premere F4 per passare da un tipo di riferimento all'altro.
Quando si desidera convalidare ogni cella in base ai propri criteri, utilizzare i riferimenti di cella relativi senza il segno $ per far sì che la formula si adatti a ogni riga e/o colonna:
Come vedete, non esiste una "verità assoluta", la stessa formula può essere giusta o sbagliata a seconda della situazione e del vostro compito specifico.
Ecco come utilizzare la convalida dei dati in Excel con le proprie formule. Per capire meglio, scaricate la nostra cartella di lavoro di esempio qui sotto ed esaminate le impostazioni delle regole. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!
Eserciziario da scaricare
Esempi di convalida dei dati in Excel (file .xlsx)