Googleスプレッドシートでは、特定のセルに特定の文字が含まれている場合に特定のテキストまたは数字を出力する式を使用したいと思います。
たとえば、=IF(A1="Black";"YES";"NO")
を入力し、A1が "Black"に等しい場合、 "YES"を正しく出力します。ただし、=IF(A1="Bla";"YES";"NO")
を入力すると、 "NO"が出力されます。私が=IF(A1 CONTAINS "Bla";"YES";"NO")
のような何かを言うことができるように私が使うことができるどんな式もあるので、それは "YES"を出力します。
RegExMatch
を使用できます。
=IF(RegExMatch(A1;"Bla");"YES";"NO")
大文字と小文字を区別せず、REGEXMATCH
やblast
をトリガーしてablative
をトリガーしたくない場合があるため、YES
を含まないオプションもあります。 OPのように区切り文字としてコンマを使用し、しばらくの間はIF条件を無視します。
最初の@ user1598086の答えに非常に似ています。
=FIND("bla";A1)
大文字と小文字が区別されますが#VALUEが返されます。 NO
ではなくYES
ではなく数値(ただし、両方ともそれぞれNO/YESに変更できます)。
=SEARCH("bla";A1)
大文字と小文字は区別されないため、Black
とblack
は同じように扱われます。上記のように返します。
前者(後者と同等)がbla
が存在するかどうかを示す後 A1の最初の3文字
=FIND("bla";A1;4)
blazer, black
には数値を返しますが、#VALUE!
にはblazer, blue
を返します。
Bla
を完全なWordがそれ自身で(つまりスペースの間 - '文章'の始めや終わりにはないときに)見つけるときだけ:
=SEARCH(" Bla ";A1)
上記のすべての場合の戻り値は数値( "found"、YES
が優先)または#VALUE!
のいずれかなので、IF式内で#VALUE!
をテストするにはISERRORを使用できます。
=if(iserror(FIND("bla";A1));"NO";"YES")
regexmatch
より長いですが、コンポーネントは簡単に調整できます。
次の式を使うことができます。
=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")