web-dev-qa-db-fra.com

SI une cellule contient une chaîne

Comment attribuer une valeur aux cellules si son voisin contient une chaîne spécifique?

Par exemple, les champs de la colonne A:

    dog11
    cat22
    cow11
    chick11
    duck22
    cat11
    horse22
    cat33

La syntaxe dans la colonne B serait la suivante:

=IF(SEARCH("cat",A1),"cat",IF(SEARCH("22",A1),"22","none"))

Il sélectionne toujours la première cellule TRUE, mais abandonne lorsque la valeur n'est pas vraie.

49
Csongor

SEARCH ne retourne pas 0 s'il n'y a pas de correspondance, il retourne #VALUE!. Donc, vous devez encapsuler les appels à SEARCH avec IFERROR.

Par exemple...

= IF (IFERROR (SEARCH ("cat", A1), 0), "cat", "aucun")

ou

= IF (IFERROR (SEARCH ("cat", A1), 0), "cat", IF (IFERROR (SEARCH ("22", A1), 0), "22", "néant"))

Ici, IFERROR renvoie la valeur de SEARCH quand cela fonctionne; la valeur donnée de 0 autrement.

103
shipr

Vous pouvez utiliser OR() pour regrouper des expressions (ainsi que AND()):

=IF(OR(condition1, condition2), true, false)

=IF(AND(condition1, condition2), true, false)

Donc, si vous vouliez tester "chat" et "22":

=IF(AND(SEARCH("cat",a1),SEARCH("22",a1)),"cat and 22","none")
4
Brad Christie