Come posso formattare condizionalmente le celle nei fogli di calcolo di Google contenenti date con uno sfondo diverso a seconda del giorno della settimana, ad esempio evidenziare il sabato e la domenica in una colonna contenente i giorni del mese?
Come posso formattare condizionalmente le celle nei fogli di calcolo di Google contenenti date con uno sfondo diverso a seconda del giorno della settimana, ad esempio evidenziare il sabato e la domenica in una colonna contenente i giorni del mese?
Risposte:
Avevo lottato con questo per molto tempo, ma alla fine l'ho rotto:
Utilizzare la formattazione condizionale sulla colonna con le date e digitare quanto segue come formula personalizzata:
=or(WEEKDAY(A1)=1,WEEKDAY(A1)=7)
dove A1
è la prima data nella colonna.
Ciò applicherà la formattazione condizionale a tutti i giorni della settimana con un valore di 1 (domenica) e 7 (sabato).
Facile (ma un po 'noioso!) Nei nuovi Fogli Google. Per la formattazione condizionale è necessaria una nuova regola per ogni colore, approssimativamente. (Di solito un colore può essere ignorato dalle regole e invece applicato con una formattazione normale - che sarebbe ignorato laddove si applica una delle condizioni per CF). Quindi aspettati di ripetere le basi di quanto segue almeno cinque volte.
Supponiamo che la colonna delle date sia A. Selezionala, Formato> Formattazione condizionale ..., La formula personalizzata è e inserisci:
=weekday(A1)=1
Scegli la formattazione richiesta.
La finale 1
sopra è per domenica, altri giorni seguono in ordine numerico.
Ripetere l'operazione per gli altri formati richiesti, regolando il 1
necessario.
Poiché queste regole non sono in conflitto (ogni data è solo un giorno specifico della settimana), l'ordine in cui le regole vengono aggiunte (con " + Aggiungi un'altra regola ") non ha importanza.
=WEEKDAY(A1,2)>5
- Ciò colpirà sia sabato che domenica e richiederà solo una regola
Se le date sono nella colonna A, selezionale, quindi esegui: Formato > Formattazione condizionale ... > Formatta celle se ... > Formula personalizzata e inserisci
=and(isblank(A:A)=false, or(weekday(A:A)=1, weekday(A:A)=7))
Qualche spiegazione:
weekday(A:A)
restituisce 1-7 , per il giorno della settimana e
or(weekday(A:A)=1, weekday(A:A)=7)
restituisce true , se è domenica ( 1 ) o sabato ( 7 ).
Funzionerebbe da solo, ma per qualche motivo nei giorni feriali () su una cella vuota restituisce 7 , quindi isblank(A:A)=false
controlla anche se la cella è vuota. Ora colora una cella se è sia (non vuota) che (sole o sabato)
Ho anche messo A:A
, in quanto A1
darebbe risultati offset se l'intervallo di formato non iniziava in alto (ad esempio A5:A100
invece di A1:A100
)
Crediti a noci!
Questo è possibile con uno script. Vai su Strumenti → Editor di script ... e incolla questo script:
function onEdit(e) {
var cell = e.range.getCell(1, 1);
var val = cell.getValue();
if ((val instanceof Date) && (val.getDay() == 0 || val.getDay() == 6)) {
cell.setBackground("red");
} else {
cell.setBackground("white");
}
}
Salvare lo script (assegnare un nome al progetto) e tornare al foglio di calcolo.
Ora, ogni volta che modifichi una cella, questo script verificherà se hai inserito una data e se la data inserita è una domenica o sabato. In tal caso, lo sfondo della cella diventerà rosso. Se non è una data o non è nel fine settimana, lo sfondo diventerà bianco.
Esistono altri nomi di colori che è possibile utilizzare oppure è possibile utilizzare un codice esadecimale per specificare un colore diverso.
if
nell'affermazione per renderlo più semplice. Funziona adesso?
=and(not(isblank(A1)), or(WEEKDAY(A1)=1,WEEKDAY(A1)=7))