web-dev-qa-db-ja.com

セルに文字列が含まれている場合

隣接するセルに特定の文字列が含まれている場合、どのように値をセルに割り当てることができますか?

たとえば、列Aのフィールド:

    dog11
    cat22
    cow11
    chick11
    duck22
    cat11
    horse22
    cat33

列Bの構文は次のとおりです。

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

常に最初のTRUEセルを取得しますが、値が真でない場合はドロップします。

49
Csongor

SEARCHは、一致するものがない場合は0を返しません。#VALUE!を返します。したがって、SEARCHへの呼び出しをIFERRORでラップする必要があります。

例えば...

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

または

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

ここで、IFERRORは、動作時にSEARCHから値を返します。それ以外の場合は、0の指定された値。

103
shipr

OR()を使用して、式(およびAND())をグループ化できます。

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

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

したがって、「cat」と「22」をテストする場合:

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