web-dev-qa-db-fra.com

Format conditionnellement des cellules basées sur la correspondance dans une autre feuille

J'ai une feuille de calcul Excel avec 2 feuilles de travail. Le premier est juste une rangée d'en-tête et une seule colonne de noms d'articles. La seconde est une liste de groupes d'éléments, avec une ligne d'en-tête et un titre dans la colonne la plus à gauche, chaque ligne ultérieure étant un élément ou une autre de l'autre feuille:

Sheet1:            Sheet2:
+-------+--+--+    +-------+-------+-------+-------+-------+
| Item  |  |  |    | Group | Item1 | Item2 | Item3 | ...
+-------+--+--+    +-------+-------+-------+-------+-------+
| Shirt |  |  |    | A     | Shirt | Hat   | Tie   |
+-------+--+--+    +-------+-------+-------+-------+-------+
| Hat   |  |  |    | B     | Socks | Shirt | SHOES |
+-------+--+--+    +-------+-------+-------+-------+-------+
| Socks |  |  |    | C     | Hat   | Socks |       |
+-------+--+--+    +-------+-------+-------+-------+-------+
| Tie   |  |  |    | D     | Tie   | Tie   | Socks |
+-------+--+--+    +-------+-------+-------+-------+-------+
| ...   |  |  |
+-------+--+--+

Je voudrais formater conditionnellement toutes les cellules de "feuille2" de sorte que toute valeur qui ne correspond pas à une valeur dans la première colonne de "feuille1" est marquée d'un fond rouge; ceux qui font sont marqués d'un fond vert. Donc, toutes les cellules de cet exemple commençant à B2 seraient vertes sauf la valeur "chaussures". La valeur en dessous qui n'a rien saisi ne serait donc pas formatée du tout.

La règle de formatage du vert que j'ai essayé est la suivante:

=AND(NOT(ISBLANK(B2)), COUNTIF(Sheet1!$A2:$A1000,B2)>0)

Pour le rouge, à peu près la même chose:

=AND(NOT(ISBLANK(B2)), COUNTIF(Sheet1!$A2:$A1000,B2)<1)

Les deux règles sont "appliquées à" une fourchette quelque peu arbitraire (j'aimerais que cela s'applique à la feuille entière, moins la rangée/col la plus à gauche):

=$C$3:$E$10,$C$36:$Q$50,$E$11,$C$11,$C$2,$E$2:$Q$2,$C$12:$E$35,$F$3:$Q$35

Ces semi-œuvres, mais les résultats sont imprévisibles. Certaines valeurs mettent en évidence comme je m'attends, mais seulement pour quelques lignes, et d'autres non. Toutes mes gammes sont probablement hors de balançoire, mais je n'utilise pas Excel presque autant que je l'ai fait. Est-ce que quelqu'un peut me donner un coup de main?

Merci!

5
k3davis

En tant que DOKTORO REICHARD, vous souhaitez utiliser formatage conditionnel pour le faire. Dans ce cas particulier, vous souhaitez avoir trois règles:

  1. Si la cellule est vide, ne changez pas l'arrière-plan
  2. Si la cellule a une correspondance, faites le fond vert
  3. Si la cellule n'a pas de match, faites le fond en rouge

Toutes mes excuses, mon Excel est japonais. C'est la journée multilingue.

Pour ce faire, nous avons besoin de 3 formules qui reviendront TRUE ou FALSE pour chacune de ces conditions. Je supposerai que vos données ressemblent comme suit:

Feuille1

enter image description here

Feuille2

enter image description here

Règle 1

La formule suivante retournera si la cellule est vide ou non. J'ai sélectionné

enter image description here

=ISBLANK(B2)

Notez que j'ai sélectionné des cellules B2:D5 avec des références relatives. Cela appliquera la même formule de modification de la référence de cellule pour chaque cellule de la plage sélectionnée. Définissez la couleur d'arrière-plan sur blanc (ou quelle que soit votre préférence) lorsque cette condition est vraie.

Règle n ° 2

La formule suivante retournera s'il ya ou non une correspondance parfaite dans la liste sur la feuille 1:

enter image description here

=NOT(ISERROR(MATCH(B2,Sheet1!$A:$A,0)))

Règle n ° 3

La formule suivante reviendra si il n'y a pas de correspondance parfaite dans la liste sur la feuille 1:

enter image description here

=ISERROR(MATCH(B2,Sheet1!$A:$A,0))

Ordre

La règle sur le dessus sera exécutée en premier. Donc, depuis que toutes les cellules vides seront des non-correspondances, vous devez d'abord mettre la règle vierge. L'ordre des # 2 et n ° 3 n'a pas d'importance (ils se chevauchent jamais).

3
jmac

On dirait que ce dont vous avez besoin est une mise en forme conditionnelle cellulaire.

Voici un link décrivant ce que c'est.

Mes photos proviennent d'une version portugaise d'Excel 2003, mais les fonctionnalités devraient également être présentes sur Office 2010. En fait, Office 2010 permet de mettre en place un formatage conditionnel entre les feuilles, quelque chose 2003 ne peut et comme tel, je fais tout sur une feuille.

Tout d'abord, la table:

The tables

Ce que vous voulez faire, c'est comparer un élément de la 2e table de tous les éléments du 1er. Donc, vous devez écrire une fonction comme celle-ci:

=OR(EXACT($B$6;E3);EXACT($B$5;E3);EXACT($B$4;E3);EXACT($B$3;E3))

Qu'est-ce que EXACT() fait référence à deux chaînes de texte. Quelle OR() est de devenir True si une condition logique à l'intérieur est True.

Cela étant dit, vous sélectionnez ensuite toutes les cellules de la 2e table, puis appuyez sur la mise en forme conditionnelle, comme indiqué.

How to access Conditional Formatting

Connaissant Office 2010 et sa nouvelle interface de ruban, vous devez consulter le volet Format pour cela. Si je me souviens, il se trouve comme une icône.

En cliquant sur cette icône apportera une fenêtre similaire à celle-ci:

Part of the Conditional Formatting window

Dans ce cas, vous devez d'abord sélectionner que vous souhaitez une formule, puis vous collez la formule que j'ai mentionnée précédemment. Pour faire toutes les cellules qui vérifient le vide vert, modifiez simplement le format. Pour faire le formatage rouge, utilisez simplement NOT(OR(...)); Cela retournera l'inverse de la condition que vous avez définie.

Pour vous assurer qu'il ne format pas les cellules qui n'ont rien d'entre eux, effectuez une troisième condition dans laquelle la formule est ISBLANK (E3) (étant E3 le coin supérieur gauche).

Quelque chose que j'ai vérifié après avoir écrit le projet initial est priorité. Au moins sur ma version, la condition 1 est vérifiée avant la condition 2 et ainsi de suite. Donc, vous devriez avoir les conditions ordonnées de manière à ne pas interférer avec eux-mêmes. Alors:

1st condition - =ISBLANK(E3)
2nd condition - =OR(...)
3rd condition - =NOT(OR(...))

Par conséquent, vous devriez avoir une fenêtre comme celle-ci:

Final window

Essayez d'adapter cela à votre situation. Si je me souviens, ce n'est pas si différent de ce que je montre. Le résultat devrait être quelque chose comme ceci:

The end result

0
Doktoro Reichard