Comment puis-je conditionner conditionnellement les cellules dans des feuilles de calcul Google contenant des dates pour avoir un arrière-plan différent en fonction du jour de la semaine, par exemple mettre en évidence les samedis et les dimanches dans une colonne contenant les jours du mois?
Cela faisait longtemps que je me débattais avec ça, mais finalement je l'ai craqué:
Utilisez la mise en forme conditionnelle sur la colonne avec les dates et tapez ce qui suit sous forme de formule personnalisée:
=or(WEEKDAY(A1)=1,WEEKDAY(A1)=7)
où A1
est la première date de la colonne.
Ceci appliquera la mise en forme conditionnelle à tous les jours de la semaine avec une valeur de 1 (dimanche) et 7 (samedi).
Facile (mais un peu fastidieux!) Dans les nouvelles Google Sheets. Pour la mise en forme conditionnelle, une nouvelle règle est requise pour chaque couleur, à peu près. (Une couleur peut généralement être ignorée des règles et appliquée à la place avec une mise en forme normale - ce qui serait oublié si l'une des conditions applicables à la FC est appliquée.) Attendez-vous donc à répéter les principes de base de la suivante au moins cinq fois.
Disons que la colonne de dates est A. Sélectionnez-la, Format> Mise en forme conditionnelle ..., La formule personnalisée est et entrez:
_=weekday(A1)=1
_
Choisissez le formatage requis.
La dernière _1
_ ci-dessus correspond au dimanche; les autres jours suivent dans l’ordre numérique.
Répétez cette procédure pour les autres formats requis, en ajustant le _1
_ si nécessaire.
Parce que ces règles ne sont pas en conflit (chaque date correspond à un jour spécifique de la semaine), l'ordre dans lequel les règles sont ajoutées (avec "+ Ajouter une autre règle") n'a pas d'importance.
Si les dates sont dans la colonne A, sélectionnez-les, puis faites: Format> Mise en forme conditionnelle ...> Formater les cellules si ...> formule personnalisée et mettre
=and(isblank(A:A)=false, or(weekday(A:A)=1, weekday(A:A)=7))
Quelques explications:
weekday(A:A)
renvoie 1-7, pour le jour de la semaine et or(weekday(A:A)=1, weekday(A:A)=7)
renvoie vrai, si c'est dimanche (1 =) ou samedi (7).
Cela fonctionnerait seul, mais pour une raison quelconque, week () sur une cellule vide renvoie 7, donc isblank(A:A)=false
vérifie également si la cellule est vide. Maintenant, il colore une cellule si elle est à la fois (pas vide) et (soleil ou assis)
J'ai aussi mis A:A
, car A1
donnerait des résultats de décalage si la plage de formats ne commençait pas au sommet (par exemple, A5:A100
au lieu de A1:A100
)
Crédits à pnuts!
Ceci est possible avec un script. Allez dans Outils → Editeur de script ... et collez-le dans ce 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");
}
}
Enregistrez le script (nommez le projet) et retournez à votre feuille de calcul.
Maintenant, chaque fois que vous modifiez une cellule, ce script vérifie si vous avez entré une date et si la date que vous avez entrée est un dimanche ou un samedi. Si c'est le cas, l'arrière-plan de la cellule deviendra rouge. Si ce n'est pas une date ou ce n'est pas le week-end, le fond deviendra blanc.
Il y a autres noms de couleurs que vous pouvez utiliser, ou vous pouvez utiliser un code hexadécimal pour spécifier une couleur différente.