125

Googleスプレッドシートで、特定のセルに特定の文字が含まれている場合に特定のテキストまたは数値を出力する数式を使用したいと思います。

たとえば、=IF(A1="Black";"YES";"NO")A1が「黒」に等しい場合、「はい」を正しく出力します。しかし、置く=IF(A1="Bla";"YES";"NO")と「NO」と出力されます。=IF(A1 CONTAINS "Bla";"YES";"NO")「YES」と出力されるような、私が使用できる式はありますか。

4

4 に答える 4

163

使用できますRegExMatch

=IF(RegExMatch(A1;"Bla");"YES";"NO")
于 2012-11-28T13:22:16.030 に答える
75

のないオプションもありますREGEXMATCH。大文字と小文字を区別せず、発言しblastたりablativeYES. OP のようにコンマを区切り文字として使用し、さしあたり IF 条件を無視します。

最初は@ user1598086の答えに非常に似ています:

=FIND("bla",A1)

大文字と小文字が区別されますが、#VALUE! が返されます。notNOと a number rather than YES(どちらも NO/YES にそれぞれ変更できます)。

=SEARCH("bla",A1)  

大文字と小文字は区別されないため、Blackand を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が、コンポーネントは簡単に調整できます。

于 2015-04-23T19:58:32.563 に答える
2

次の式を使用できます。

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
于 2018-04-02T10:49:15.863 に答える
-8

= を使用するだけIF(A1="Bla*","YES","NO")です。アスタリスクを挿入すると、指定したテキストの後の任意の数の文字のワイルド カードとして機能します。

于 2015-05-28T00:44:16.150 に答える