Formattazione Condizionale - (Chi era costei?)  -  11/06/06

Della "Formattazione Condizionale" finora non ne abbiamo mai parlato dando per scontata la semplicità è comprensibilità dell'argomento, o forse per la sua congenita limitazione di non offrire più di 3 condizioni applicabili su una stessa cella (o intervallo di celle), rimandando al vba il compito di interessarsi di formattazioni condizionali più articolate e più ampie.

Comunque sia, con "Formattazione Condizionale" si intende quella pratica subdola, oscura e misteriosa per cui, al variare di una condizione del contenuto di una cella, si varia il "formato" del contenuto stesso e/o della cella interessata; è possibile infatti modificare il tipo, la dimensione, il colore dei fonts, oppure modificare il colore di fondo (motivo) della cella, oppure grassettare o tratteggiare i bordi cella, e/o tutte e tre le cose assieme, e NON altro.

Come si applica? Si seleziona la celle o le celle (è infatti possibile applicare la "formattazione condizionale" (f.c. d'ora in avanti) a interi intervalli di celle), e dal menù "Formato" si sceglie "Formattazione Condizionale"; appare la finestra in cui si potranno scegliere sia il criterio di valutazione della prima o unica condizione, sia i termini di confronto che soddisferanno la condizione, e quindi la formattazione desiderata.

Semplice, no? Noo?? Allora facciamo un'esempietto banale banale: dato che lo scopo principale di una f.c. è quello di evidenziare, di diversificare per farci porre l'attenzione, ipotizziamo di volere vedere una determinata cella (la C1) colorata di rosso SE il valore ivi contenuto supererà la cifra 500; è indifferente che detto valore venga scritto direttamente nella cella, oppure sia il risultato di una formula o funzione residente nella cella stessa.

Seguendo la procedura più sopra anticipata, selezioniamo la cella C1, ci spostiamo sul menù "Formato/Formattazione condizionale" e nella finestra che appare:

lasciamo l'opzione "il valore della cella è", quindi scegliamo nella seconda combobox l' "operatore di confronto", in questo esempio: "maggiore di", quindi nella terza casella da destra (un refedit) scriveremo il valore da verificare (500); fatte queste operazioni, cliccheremo il pulsante "Formato" che ci aprirà la finestra "Formato Celle" nella quale sceglieremo di grassettare il font, colorarlo di giallo, e colorare la cella di rosso, in modo da ottenere l'evidenzazione, che sparirà se il valore sarà 500 o inferiore, così:

  C   C  

1

500

501

Avremo così l'opportunità di essere avvisati se sul foglio di lavoro si verifica qualche variazione che ci interessa, aiutati anche dal fatto che ci sono diversi "operatori di confronto" che in genere soddisferanno quasi tutte le esigenze.

Una cosa da chiarire è che per "il valore della cella è" NON si intende solo un valore numerico, ma può essere un valore stringa (del testo, quindi) oppure una data o anche un orario, e che gli "operatori di confronto" sono tranquillamente applicabili anche a questi valori. Non ci credete? e allora proviamo quest'altro esempio: desideriamo evidenziare una cella SE nella cella compare un nome la cui iniziale è compresa tra la lettera F e la lettera H; predisponiamo la nostra f.c., usando l'operatore di confronto "tra", e scrivendo f nella casella successiva e h nell'ultima, e scegliendo un verde come Formato per evidenziare la cella, così:

La f.c. NON è CaseSensitive, e reagirà comunque se l'iniziale del nome sarà maiuscola o minuscola, inoltre, dopo aver confermato con OK, noteremo che excel provvede ad aggiungere il segno di uguale prima delle lettere, e pone le lettere tra i doppi apici.

Quando si lavora con le stringhe, attenzione a scegliere il giusto "operatore di confronto"; se volessimo una reazione ad una precisa parola, potremo usare l'opzione "uguale a" e scrivere ad esempio "milano" nel primo campo; solo se nella cella comparirà "milano" otterremo la formattazione; se però scegliamo "uguale a" e nel campo scriviamo "m", sperando di ottenere la reazione con tutte le parole che iniziamo per "m", resteremmo delusi; infatti in questo caso dovremmo usare l'opzione "maggiore di" e quindi scrivere "m" per ottenere la reazione con tutte le parole che iniziamo per "m".

Suggerisco ai "fogli rosa" di excel di non spazientirsi e di cercare il giusto "operatore di confronto" in relazione a quanto desiderato, facendo in proprio le prove necessarie, tenendo presente che a volte, per identificare una condizione, anzichè usare gli operatori di confronto positivi "Uguale, minore, maggiore, tra, ecc." si ottengono risultati con gli operatori di confronto negativi, come "diverso da, o non compreso tra".

Azione a distanza.

Appare evidente da quanto detto finora, che la f.c. la possiamo applicare alla cella che subisce un cambiamento, e questo per il fatto che la condizione che andiamo verificando si riferisce alla stessa cella (o celle) che avremo selezionato attraverso l'opzione "il valore della cella è";

possiamo invece applicare la f.c. a celle diverse da quella che subisce il cambiamento, semplicemente scegliendo l'opzione "la formula è", e compilare nel campo libero a destra il tipo di formula che ci interessa.

Attenzione però a come compileremo le formule:  SE volessimo che la cella A1 si colori di rosso quando nella cella C1 appare un numero "maggiore o uguale" a 100, saremmo portati a cercare, dato che stiamo usando "la formula è",  una soluzione classica che faccia usa della Funzione =SE, tipo =SE(C1">="100; ecc. ecc) che non ci porterà a niente; infatti in una formula che usi la funzione =SE, si devono citare necessariamente tre argomenti:

  • la condizione da verificare

  • cosa fare se la condizione si verifica

  • cosa fare altrimenti (cioè se la condizione non si verifica)

ma nella f.c. il secondo e il terzo argomento non lo possiamo decidere con gli argomenti di una funzione ma solo scegliendo la formattazione attraverso il pulsante "Formato".

Compileremo quindi la nostra formula in questo modo: scriveremo intanto il simbolo di uguale, che per excel identifica l'inserimento di una formula, seguito dal riferimento alla cella la cui condizione ci interessa valutare (C1), seguito dagli operatori di confronto maggiore (>) o uguale(=) e dalla cifra che ci interessa (100); oppure basterebbe scrivere =C1>99, cioè se C1 sarà maggiore di 99, e automaticamente comprendiamo sia il valore 100 che i superiori. Ovviamente la cella a cui applichiamo la f.c. è la A1, e sarà lei a vergognarsi (diventerà rossa) non la C1; et voilà nous avons:  l'azione a distanza.

Diventa per me difficile suggerirvi tutte le varie possibili formule compilabili e che assillano le giornate dei pellegrini, ma possiamo esaminare alcuni possibili esempi che ci aiutino, sempre relativi alle "azioni a distanza":

necessità  formula da inserire

se la cella D1 è uguale a ...valore

=D1=valore

se la cella G2 è maggiore di ...valore

=G2>valore

 se il valore della cella C4 è compreso tra valore1 e valore2  =E(C4>valore1;C4<valore2)
 se il valore della cella C4 NON è compreso tra.....  =E(C4<valore1;C4>valore2)

se l'iniziale della parola nella cella G6 sarà compresa tra la lettera F e la lettera N...

 =E(G6>"f";G6<"n")

se la parola nella cella H5 sarà uguale a "Esaurito"

 =H5="Esaurito"

se la parola nella cella B5 sarà diversa da "Esaurito", oppure diversa da "Finito", oppure diversa da "Terminato"

 =E(B5<>"Esaurito";B5<>"Finito";B5<>"Terminato")

Ricordo di digitare esattamente le istruzioni compreso il segno iniziale di uguale (=) per evitare che premendo Ok con una sintassi errata Excel consideri tutta l'istruzione come una stringa di testo (inserendola tra doppi apici) e stravolgendone il funzionamento.

Ancora un esempio per chiarire che nell'utilizzo della f.c. è già insito il SE della condizione (altrimenti non si chiamerebbe formattazione condizionale) e che NON occorre scrivere la particella SE quando si usa  l'opzione "la formula è" in "Condizione1":

supponiamo di voler formattare una cella se in un "intervallo" di celle compare un numero negativo, ma potremmo volere una certa formattazione se compare un determinato numero; in questi casi possiamo usare  la funzione CONTA.SE che restituisce il numero di quante volte compare una determinata occorrenza; rimane quindi facile impostare una formattazione condizionale che valuti se il valore restituito da CONTA.SE è maggiore di zero (per la condizione del numero negativo, quindi inferiore a zero) e la formula che inseriremo sarà:

oppure se comparirà il numero 7 (esempio) in un certo intervallo (quindi se compare il 7, CONTA.SE restituirà 1, cioè un valore maggiore di zero), e la formula sarà:

In pratica nello spazio per la formula abbiamo scritto solo la prima parte di una ipotetica formula SE, cioè la parte formata dal primo argomento della funzione, mentre il secondo e il terzo argomento sono impliciti e attivati con la scelta del "formato", chiaro no?

 

 

buon lavoro.

prelevato sul sito www.ennius.altervista.org