Formatage conditionnel basé sur la valeur d'une autre cellule

490

J'utilise Google Sheets pour un tableau de bord quotidien. Ce dont j'ai besoin, c'est de changer la couleur de fond de la cellule B5 en fonction de la valeur d'une autre cellule - C5. Si C5 est supérieur à 80%, la couleur d'arrière-plan est verte, mais si elle est inférieure, elle sera orange / rouge.

Est-ce disponible avec une fonction Google Sheets ou dois-je insérer un script?

Mark Magalona
la source
4
Jusqu'à ce que vous passiez aux nouvelles feuilles, adaptez l'un des scripts de cette réponse à l' aide d'un onEditdéclencheur ou de cette réponse qui ne fonctionne pas.
Mogsdad

Réponses:

535

Remarque: quand il dit "B5" dans l'explication ci-dessous, cela signifie en fait "B {current_row}", donc pour C5 c'est B5, pour C6 c'est B6 et ainsi de suite. Sauf si vous spécifiez $ B $ 5 - alors vous vous référez à une cellule spécifique.


Ceci est pris en charge dans Google Sheets à partir de 2015: https://support.google.com/drive/answer/78413#formulas

Dans votre cas, vous devrez définir une mise en forme conditionnelle sur B5.

  • Utilisez l' option "La formule personnalisée est " et définissez-la sur =B5>0.8*C5.
  • réglez l' option " Plage " sur B5.
  • définir la couleur souhaitée

Vous pouvez répéter ce processus pour ajouter plus de couleurs pour l'arrière-plan ou le texte ou une échelle de couleurs.

Encore mieux, appliquez une règle unique à toutes les lignes en utilisant des plages dans " Plage ". Exemple en supposant que la première ligne est un en-tête:

  • Sur la mise en forme conditionnelle B2, définissez la « Formule personnalisée est » sur =B2>0.8*C2.
  • réglez l' option " Plage " sur B2:B.
  • définir la couleur souhaitée

Sera comme l'exemple précédent mais fonctionne sur toutes les lignes, pas seulement sur la ligne 5. Les

plages peuvent également être utilisées dans la "Formule personnalisée est" afin que vous puissiez colorier une ligne entière en fonction de leurs valeurs de colonne.

Zig Mandel
la source
1
Merci Zig de m'avoir prévenu. Il est utile, mais ne peut pas simplement l'utiliser sauf si je copie mon ancien contenu de version de feuille de calcul dans le nouveau. Merci mon pote
Mark Magalona
19
Je l'ai compris, vous devez utiliser une référence absolue. Par exemple, "= B5: B10 = C $ 5" dans le forumla et B5: B10 dans la plage.
Ben
1
@Ben très apprécié. Je ne sais pas comment quelqu'un pourrait comprendre cela
jjathman
29
Pour référencer une cellule sur une autre feuille: =B2>0.8*indirect("Sheet1!C2")( source )
josephdpurcell
1
@Zig Mandel Fonctionne bien sauf pour les cellules formatées en devises, j'essaie juste de cacher la plage de cellules (blanc avant / arrière-plan), dont certaines sont des devises. Une idée comment? cheers
Tino Mclaren
197

Un autre exemple:

Si vous avez une colonne de A à D et que vous devez mettre en surbrillance la ligne entière (par exemple de A à D) si B est "Complete", vous pouvez le faire comme suit:

"Custom formula is":  =$B:$B="Completed" 
Background Color:     red 
Range:                A:D

Bien sûr, vous pouvez remplacer Range par A: T si vous avez plus de colonnes.

Si B contient "Complete", utilisez la recherche comme suit:

"Custom formula is":  =search("Completed",$B:$B) 
Background Color:     red 
Range:                A:D
lucky1928
la source
2
Exactement ce que je cherchais. Merci!
RDT2
8
Cela ne semble pas fonctionner sauf si vous fournissez $dans le champ "Formule personnalisée est". c'est à dire faire $B$2:$Bet nonB2:B
tdk
2
Juste pour ajouter à la réponse de lucky1928 - si vous changez la plage de A: D à A: T, vous ajouterez plus de colonnes, pas de lignes / lignes. Si vous ne disposez que d'un nombre fini de lignes sur lesquelles vous souhaitez que la mise en forme conditionnelle fonctionne, il peut être utile de spécifier une ligne, par exemple A2: D13 si vous avez une ligne d'en-tête par exemple. Sinon, si vous correspondez à un élément vide ou différent d'une valeur spécifique, vous pouvez ajouter de la couleur à toutes les lignes qui existent dans la feuille, ce qui n'est peut-être pas ce que vous voulez.
Tom Bush
Je ne peux pas vous dire depuis combien de temps je cherche cette solution - en particulier avec le critère étant une valeur de texte. Merci!
Frances Cherman
4
Notez que le "=" au début de la formule est TRÈS IMPORTANT
vy32
18

J'ai utilisé un formatage conditionnel intéressant dans un de mes fichiers récents et j'ai pensé qu'il serait utile à d'autres aussi. Cette réponse est donc destinée à être complète par rapport aux précédentes.

Il devrait montrer de quoi cette fonctionnalité étonnante est capable, et surtout comment fonctionne $ thing.

Exemple de tableau

Tableau simple des feuilles de google

La couleur de D à G dépend des valeurs des colonnes A, B et C. Mais la formule doit vérifier les valeurs fixées horizontalement (utilisateur, début, fin) et les valeurs fixées verticalement (dates dans la ligne 1). C'est là que le signe dollar devient utile.

Solution

Il y a 2 utilisateurs dans le tableau, chacun avec une couleur définie, respectivement foo (bleu) et bar (jaune).
Nous devons utiliser les règles de mise en forme conditionnelle suivantes et les appliquer toutes les deux sur la même plage ( D2:G3):

  1. =AND($A2="foo", D$1>=$B2, D$1<=$C2)
  2. =AND($A2="bar", D$1>=$B2, D$1<=$C2)

En anglais, la condition signifie: l'
utilisateur est name, et la date de la cellule actuelle est après startet avantend

Remarquez que la seule chose qui change entre les 2 formules, c'est le nom de l'utilisateur. Cela le rend vraiment facile à réutiliser avec de nombreux autres utilisateurs!

Explications

Important : les lignes et colonnes variables sont relatives au début de la plage. Mais les valeurs fixes ne sont pas affectées.

Il est facile de se confondre avec des positions relatives. Dans cet exemple, si nous avions utilisé la plage D1:G3au lieu de D2:G3, la mise en forme des couleurs serait décalée d'une ligne vers le haut.
Pour éviter cela, n'oubliez pas que la valeur des lignes et des colonnes variables doit correspondre au début de la plage contenant .

Dans cet exemple, la plage qui contient des couleurs est D2:G3, donc le début est D2.

User, startEt endvariera en fonction des rangées
-> colonnes fixes ABC, rangées variables à partir de 2: $A2, $B2,$C2

Datesvarier avec les colonnes
-> Colonnes variables commençant par D, ligne fixe 1:D$1

Romain Vincent
la source
C'est génial!
Happy Bird
Cela nécessite probablement un article séparé, mais est-il possible de baser le style conditionnel lui-même sur une autre cellule? Par exemple, si vous avez une table de recherche distincte pour vos gars "foo" et "bar", le formatage conditionnel peut-il être configuré pour appliquer la couleur fg et la couleur bg de cette cellule dans votre règle? C'est quelque chose dont j'ai souvent besoin, un indicateur "d'état" pour une ligne, où les couleurs et les options d'état sont facilement configurables sans reprogrammation manuelle des règles de mise en forme conditionnelle.
Memetican
Vous pourrez peut-être le faire avec des scripts. Je pense que je n'ai jamais vu de moyen dynamique pour sélectionner des couleurs spécifiques ou un format existant via une utilisation normale. EDIT: pour démarrer le script, allez dans tools> script editor et commencez à coder. Mais c'est un tout nouveau niveau dans l'utilisation des feuilles ;-)
Romain Vincent
6

Fondamentalement, tout ce que vous devez faire est d'ajouter $ comme préfixe à la lettre de la colonne et au numéro de ligne. Veuillez voir l'image ci-dessous

entrez la description de l'image ici

Klanjabrik
la source
1
Merci pour la capture d'écran, cela a beaucoup aidé l'explication.
B.Adler
3

changer la couleur d'arrière-plan de la cellule B5 en fonction de la valeur d'une autre cellule - C5. Si C5 est supérieur à 80%, la couleur d'arrière-plan est verte, mais si elle est inférieure, elle sera orange / rouge.

Il n'y a aucune mention que B5 contient une valeur, donc en supposant qu'il 80%est .8formaté en pourcentage sans décimales et en blanc comme "ci-dessous":

Sélectionnez B5, couleur "ambre / rouge" avec remplissage standard puis Format - Formatage conditionnel ..., la formule personnalisée est et:

=C5>0.8

avec remplissage vert et Done.

Exemple de règle CF

pnuts
la source
2

Je suis déçu du temps qu'il a fallu pour résoudre ce problème.

Je veux voir quelles valeurs de ma plage sont en dehors de l'écart-type.

  1. Ajouter l'écart-type calc à une cellule quelque part =STDEV(L3:L32)*2
  2. Sélectionnez la plage à mettre en surbrillance, clic droit, mise en forme conditionnelle
  3. Sélectionnez Format de cellule si supérieur à
  4. Dans la valeur ou la formule de type boîte =$L$32(quelle que soit la cellule de votre stdev est)

Je n'ai pas pu trouver comment mettre le STDEv en ligne. J'ai essayé beaucoup de choses avec des résultats inattendus.

Nick.McDermaid
la source
Vous voulez expliquer le downvote? J'aime documenter mes propres expériences ici. Plus d'une fois, j'ai oublié, recherché sur Google et trouvé ma propre réponse
Nick.McDermaid
1
merci pour votre réponse, ça m'a permis de faire ce que je voulais :)
Ollie