Googleスプレッドシートで、特定のセルに特定の文字が含まれている場合に特定のテキストまたは数値を出力する数式を使用したいと思います。
たとえば、=IF(A1="Black";"YES";"NO")
A1が「黒」に等しい場合、「はい」を正しく出力します。しかし、置く=IF(A1="Bla";"YES";"NO")
と「NO」と出力されます。=IF(A1 CONTAINS "Bla";"YES";"NO")
「YES」と出力されるような、私が使用できる式はありますか。
Googleスプレッドシートで、特定のセルに特定の文字が含まれている場合に特定のテキストまたは数値を出力する数式を使用したいと思います。
たとえば、=IF(A1="Black";"YES";"NO")
A1が「黒」に等しい場合、「はい」を正しく出力します。しかし、置く=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! が返されます。notNO
と a number rather than YES
(どちらも NO/YES にそれぞれ変更できます)。
=SEARCH("bla",A1)
大文字と小文字は区別されないため、Black
and をblack
同等に扱います。上記のように戻ります。
A1 の最初の 3 文字の 後bla
に存在するかどうかを示す前者 (後者の等価物) :
=FIND("bla",A1,4)
の数値blazer, black
を返します。 #VALUE!
blazer, blue
完全な単語のみを検索Bla
するには (つまり、「文」の先頭または末尾ではなく、スペース間):
=SEARCH(" Bla ",A1)
上記のすべての場合の戻り値は数値 ("見つかった" ため、YES
推奨) であるか#VALUE!
、ISERROR を使用し#VALUE!
て IF 式内でテストできます。たとえば、上記の最初の例を取り上げます。
=if(iserror(FIND("bla",A1)),"NO","YES")
より長いですregexmatch
が、コンポーネントは簡単に調整できます。
次の式を使用できます。
=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
= を使用するだけIF(A1="Bla*","YES","NO")
です。アスタリスクを挿入すると、指定したテキストの後の任意の数の文字のワイルド カードとして機能します。