IF a cell contains a string

Csongor picture Csongor · Aug 8, 2012 · Viewed 240.6k times · Source

How can I assign a value to cells if it's neighbour contains a specific string?

For example, fields in column A:

    dog11
    cat22
    cow11
    chick11
    duck22
    cat11
    horse22
    cat33

The syntax in column B would be:

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

It always picks up the first TRUE cell, but drops when the value is not true.

Answer

shipr picture shipr · Aug 8, 2012

SEARCH does not return 0 if there is no match, it returns #VALUE!. So you have to wrap calls to SEARCH with IFERROR.

For example...

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

or

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

Here, IFERROR returns the value from SEARCH when it works; the given value of 0 otherwise.