Excel: puis-je créer une formule conditionnelle basée sur la couleur d'une cellule?

je suis un débutant et j'essaie de créer une formule qui modifie le contenu de la cellule A1 basée sur la couleur de la cellule dans B2;

si la cellule B2 = [la couleur rouge] alors afficher FQS.

si la cellule B2 = [la couleur jaune] alors afficher SM.

ceci est conditionnel basé sur la couleur de remplissage de la cellule.

17
demandé sur Derrik 2013-11-15 23:03:31

2 réponses

malheureusement, il n'y a pas de façon directe de le faire avec une seule formule. Cependant, il existe une solution assez simple.

sur le ruban Excel, allez dans " formules "et cliquez sur"Name Manager". Sélectionnez "Nouveau" puis entrez "CellColor" comme le "nom". Sautez à la partie" renvoie à " et entrez ce qui suit:

=GET.CELL(63,OFFSET(INDIRECT("RC",FALSE),1,1))

cliquez sur OK puis fermez la fenêtre" Name Manager".

maintenant, dans la cellule A1, entrez suivantes:

=IF(CellColor=3,"FQS",IF(CellColor=6,"SM",""))

cela ramènera FQS pour le rouge et SM pour le jaune. Pour toute autre couleur, la cellule restera vide.

* * * si la valeur de A1 ne se met pas à jour, appuyez sur 'F9' sur votre clavier pour forcer Excel à mettre à jour les calculs à tout moment (ou si la couleur de B2 change).

ci-dessous est une référence pour une liste de couleurs de remplissage de cellules (il y a 56 disponibles) si vous souhaitez étendre chose: http://www.smixe.com/excel-color-pallette.html

Cheers.

::Modifier::

la formule utilisée dans le Gestionnaire de noms peut être encore simplifiée si elle vous aide à comprendre comment cela fonctionne (la version que j'ai inclus ci-dessus est beaucoup plus flexible et est plus facile à utiliser pour vérifier les références de plusieurs cellules lorsqu'il est copié autour car il utilise sa propre adresse de cellule comme point de référence au lieu de cibler spécifiquement la cellule B2).

dans tous les cas, si vous souhaitez simplifier les choses, vous pouvez utiliser cette formule dans Name Manager à la place:

=GET.CELL(63,Sheet1!B2)
17
répondu Derrik 2013-11-15 22:11:57

Vous pouvez utiliser cette fonction (je l'ai trouvé ici: http://excelribbon.tips.net/T010780_Colors_in_an_IF_Function.html):

Function GetFillColor(Rng As Range) As Long
    GetFillColor = Rng.Interior.ColorIndex
End Function
http://www.wikihow.com/Create-a-User-Defined-Function-in-Microsoft-Excel

=GetFillColor(B5)

8
répondu astef 2015-06-26 09:29:56