Formattare in modo condizionale per giorno della settimana


21

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:


13

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).


2
Questa è una buona soluzione, grazie. Lo accetto. Per il mio uso l'ho adattato per escludere celle vuote: =and(not(isblank(A1)), or(WEEKDAY(A1)=1,WEEKDAY(A1)=7))
Mike Ellis,

Bella aggiunta con il non isblank. Lo avevo usato in un modo in cui l'ho usato solo per l'intervallo contenente le date, ad esempio A1: A31. L'ho anche cambiato usando> e <in = come hai fatto tu. È un po 'più semplice in questo modo. Immagino di aver iniziato sperando nella numerazione del giorno della settimana più come nel mio paese dove lunedì sarebbe 1 e domenica sarebbe 7. Non so se questo è il caso se l'impostazione del paese è cambiata.
aej

14

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 1sopra è per domenica, altri giorni seguono in ordine numerico.

Ripetere l'operazione per gli altri formati richiesti, regolando il 1necessario.

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.


4
Basandoci su questo, un modo più semplice sarebbe quello di fare =WEEKDAY(A1,2)>5- Ciò colpirà sia sabato che domenica e richiederà solo una regola
FuriousGeorge

1
Questo ha funzionato. Grazie!
Joshua Dance,

5

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)=falsecontrolla anche se la cella è vuota. Ora colora una cella se è sia (non vuota) che (sole o sabato)

Ho anche messo A:A, in quanto A1darebbe risultati offset se l'intervallo di formato non iniziava in alto (ad esempio A5:A100invece di A1:A100)

Crediti a noci!


4

Questo è possibile con uno script. Vai su StrumentiEditor 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.


Grazie William. Sebbene il codice appaia sensato, per qualche motivo, non funziona come previsto. Trasforma in bianco i giorni pari e i giorni dispari.
Mike Ellis,

Ho modificato il test ifnell'affermazione per renderlo più semplice. Funziona adesso?
William Jackson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.