Formattazione condizionale per colonne pari e dispari

Sergio ha la necessità di applicare un formato condizionale ai valori nella colonna A di un foglio di lavoro, ma non riesce a capire quali potrebbero essere le regole. Oltre alla colonna A, ha anche dati che iniziano nella colonna B e aggiunge periodicamente nuove colonne di dati. Se ci sono dati in tutte le colonne dispari che iniziano con B, Sergio vuole un formato applicato nella colonna A (B è la colonna di dati 1 per il suo foglio di lavoro, quindi la considera dispari). Se ci sono dati in tutte le colonne pari che iniziano con C, Sergio vuole un formato diverso applicato nella colonna A. Se ci sono dati in tutte le colonne di dati che iniziano con B, per quanti possano essere, allora vuole che venga applicato un terzo formato.

Come Sergio ha senza dubbio capito, puoi facilmente creare una formula per determinare se ci sono informazioni nelle colonne B e C e applicare la formattazione di conseguenza. In effetti, una formula semplice come queste svolgerà il compito:

=CONTA.VALORI(B1:C1)=2
=CONTA.VALORI(B1)=1
=CONTA.VALORI(C1)=1

La prima formula restituisce Vero se sono presenti informazioni sia in B che in C, la seconda se sono presenti informazioni in B e la terza se sono presenti informazioni in C. Se selezioni “Interrompi se Vera” per ogni regola/formula, allora la tua formattazione funzionerà bene.

Creare una formula per più colonne oltre B e C è solo leggermente più difficile. Gli stessi tre tipi di formule, nell’ordine, sarebbero le seguenti:

=CONTA.VALORI(B1:G1)=6
=CONTA.VALORI(B1;D1;F1)=3
=CONTA.VALORI(C1;E1;G1)=3

Puoi facilmente aggiungere ulteriori riferimenti di cella alle formule, se necessario. Un tale approccio restituisce Vero solo in tre condizioni: se TUTTE le celle nell’intervallo B1:G1 hanno un contenuto, se TUTTE le celle dispari (B1, D1, F1) hanno un contenuto e se TUTTE le celle pari (C1, E1, G1) hanno un contenuto. Non restituirà Vero se solo alcune delle celle nell’intervallo contengono valori. Ad esempio, se ci sono valori nelle celle B1, C1 ed E1, non restituirà Vero e nessuno dei criteri per la formattazione verrà soddisfatto.

Sebbene funzionino tutti bene con la limitazione indicata, non sono esattamente ciò che Sergio sta cercando: vuole una formula che rilevi quante colonne vengano utilizzate settimana dopo settimana, mentre continua ad aggiungere dati alle colonne e che sistemi la formula di conseguenza senza la necessità di modificarla manualmente per tenere conto dei dati aggiunti. In altre parole, se aggiunge dati alla colonna H, vorrebbe che le formule venissero aggiustate automaticamente per tenere conto della colonna aggiunta:

=CONTA.VALORI(B1:H1)=7
=CONTA.VALORI(B1;D1;F1;H1)=4
=CONTA.VALORI(C1;E1;G1)=3

Questa è ovviamente un’esigenza più complessa. Forse il modo migliore per affrontare il problema è creare una funzione definita dall’utente (una macro) in grado di esaminare un intervallo di celle e determinare se uno dei tre criteri è soddisfatto. Considera la seguente macro:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Si utilizza la macro passandole un indirizzo nella riga che si desidera controllare. Quindi, ad esempio, se stavi applicando la regola di formattazione condizionale alla cella A3, passeresti alla macro un indirizzo di B3 o C3, qualsiasi cosa tranne A3, poiché ciò causerà un riferimento circolare. La macro cerca l’ultima cella utilizzata in quella riga e quindi determina quante celle pari e dispari contengono qualcosa. La macro restituisce uno qualsiasi dei quattro valori; se il primo criterio viene soddisfatto (tutte le celle nella riga che iniziano con la colonna B contengono qualcosa), viene restituita una “t”. Se tutte le colonne dispari (con B come prima colonna dispari) contengono qualcosa, viene restituito “d”. Se tutte le colonne pari (con C come prima colonna pari) contengono qualcosa, viene restituita “p”. Se nessuno dei tre criteri è soddisfatto, la funzione non restituisce nulla.

Dovrai comunque impostare tre regole di formattazione condizionale che si basano sulla valutazione di una formula. Eccone tre che puoi usare con questa macro:

=CellChk(B1)="t")
=CellChk(B1)="d")
=CellChk(B1)="p")

Questi esempi servono per applicare un formato condizionale alla cella A1; sistema i riferimenti di cella alla riga che desideri la macro analizzi. Ricorda che anche se specifichi una singola cella (B1 in questi esempi), la macro calcola quante celle nella riga vanno effettivamente controllate.

LE SCHEDE TECNICHE DELLE FUNZIONI UTILIZZATE

Tags: , , , , , , , , , , , ,

Ti è stato utile?