Exigence:
Si la chaîne dans la cellule A1 contient "abc" dans la chaîne
Puis attribuez la valeur "Green"
Sinon si la chaîne dans la cellule A1 contient "xyz" dans la chaîne
Puis attribuez la valeur "Jaune"
Else
Attribuer une valeur "rouge"
j'ai essayé ceci:
=IF(FIND("~",SUBSTITUTE(A1,"abc","~",1))<>"#VALUE!", "Green", IF(FIND("~",SUBSTITUTE(A1,"xyz","~",1))<>"#VALUE!", "Yellow", "Red"))
Cela fonctionne si le premier IF est True dans les autres cas, cela donne #VALUE! en sortie.
Je ne peux pas comprendre ce qui ne va pas.
Lorsque FIND
renvoie #VALUE!
, Il s’agit d’une erreur et non d’une chaîne. Vous ne pouvez donc pas comparer FIND(...)
avec "#VALUE!"
. Vous devez vérifier si FIND
renvoie une erreur avec ISERROR
. De plus, FIND
peut fonctionner sur plusieurs caractères.
Donc, une version simplifiée et fonctionnelle de votre formule serait:
=IF(ISERROR(FIND("abc",A1))=FALSE, "Green", IF(ISERROR(FIND("xyz",A1))=FALSE, "Yellow", "Red"))
Ou, pour supprimer les doubles négations:
=IF(ISERROR(FIND("abc",A1)), IF(ISERROR(FIND("xyz",A1)), "Red", "Yellow"),"Green")
=IF(CR<=10, "RED", if(CR<50, "YELLOW", if(CR<101, "GREEN")))
CR = ColRow (Cell)
Ceci est un exemple. Dans cet exemple, lorsque la valeur dans Cell est inférieure ou égale à 10, le mot RED apparaît dans cette cellule. De la même manière, autres si les conditions sont vraies si premier si est faux.