Blair ha un foglio di lavoro diviso in due aree: inserimento dati e verifica dati. L’area di verifica dei dati è costituita da formule che controllano le voci utilizzando istruzioni IF. Se viene individuato un problema, viene visualizzato un messaggio di testo in una cella nell’area di verifica, altrimenti la formula restituisce uno spazio vuoto. Quella che segue è una tipica formula di verifica:

=IF(A1<>5,"Value in A1 is not 5")

Il problema è che l’area di verifica dei dati può essere abbastanza grande, il che significa che è facile perdere uno dei messaggi di testo. Blair si è chiesto se ci fosse un modo per creare una formula che esaminasse l’area di verifica dei dati e restituisse un singolo messaggio se c’erano altri messaggi nell’area.

Esistono diversi modi in cui questo problema può essere affrontato. Se l’area di verifica dei dati è contigua, una semplice formula di matrice farà il trucco. Immettere quanto segue in una cella vuota del foglio di lavoro:

=SUM((LEN(ValRange)>0)*1)

Assicurati che ValRange venga sostituito con l’intervallo di celle nell’area di convalida dei dati. Inoltre, assicurati di inserire la formula premendo Maiusc + Ctrl + Invio (per indicare che si tratta di una formula di matrice). La formula restituisce un valore che indica quante celle nell’intervallo hanno una lunghezza maggiore di 0. In altre parole, conta il numero di celle che hanno messaggi visibili.

Se preferisci non utilizzare una formula di matrice, puoi ottenere lo stesso risultato utilizzando la seguente formula regolare:

=SUMPRODUCT((LEN(ValRange)>0)*1)

Il risultato, ancora una volta, è il numero di celle che hanno una lunghezza maggiore di 0. Un altro approccio consiste nell’utilizzare alcune delle COUNT funzioni fornite da Excel:

=COUNTA(ValRange) - COUNTBLANK(ValRange)

Questa formula conta il numero di celle nell’intervallo e quindi sottrae il numero di celle vuote nell’intervallo. Il risultato è il numero di celle non vuote o quelle che visualizzano messaggi. Un diverso approccio formulato può essere utilizzato per determinare una semplice risposta sì / no:

=IF(COUNTIF(ValRange,"?*"),"","No ") & "Verification Messages"

Se non sono presenti messaggi nel ValRange, la formula restituisce “Nessun messaggio di verifica”. Se sono presenti messaggi, elimina il “No” e restituisce semplicemente “Messaggi di verifica”.

Sarebbe anche una buona idea applicare la formattazione condizionale all’area di verifica dei dati. Mentre le formule discusse finora ti diranno se ci sono messaggi, non evidenzieranno dove si trovano quei messaggi: la formattazione condizionale può individuare ogni messaggio. Seleziona tutte le celle nell’area che contengono le formule, quindi utilizza la formattazione condizionale per controllare la lunghezza di quelle celle. Se la lunghezza è maggiore di 0, la cella potrebbe essere formattata per mostrare uno sfondo rosso. Ciò renderà molto più difficile perdere qualsiasi messaggio nell’area di verifica dei dati durante lo scorrimento del foglio di lavoro.

Se hai voglia di ridisegnare completamente il tuo foglio di lavoro, un approccio più potente sarebbe quello di eliminare l’area di verifica dei dati.

È possibile ottenere gli stessi risultati (controllando cosa si trova nell’area di immissione dati) utilizzando la convalida dei dati per ciascuna cella di immissione. Impostata correttamente, la convalida dei dati assicurerebbe che l’utente inserisse valori accettabili in ciascuna cella, eliminando la necessità di gran parte dell’area di convalida dei dati.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2772) si applica a Microsoft Excel 97, 2000, 2002 e 2003.