セルで特定の文字または文字のセットを確認します


124

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

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

回答:



74

REGEXMATCH大文字と小文字を区別せず、発声しblastたり、ablativeをトリガーしたくない場合があるため、なしのオプションYES。OPのように区切り文字としてコンマを使用し、当面はIF条件を無視します。

まず@ user1598086の答えに非常に似ています:

=FIND("bla",A1)

大文字と小文字が区別されますが、#VALUEを返します!とではなくNO、という数値YES(ただし、どちらもそれぞれNO / YESに変更できます)。

=SEARCH("bla",A1)  

大文字と小文字を区別しないのでBlackblack同じように扱います。上記のように戻ります。

前者(後者の同等のもの)は、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、コンポーネントは簡単に調整可能です。


@KaiNoackあなたが交換する必要がある;ことにより、,Googleスプレッドシートで
マイケル・

@pnuts素晴らしい答えです!
マイケル


-8

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


2
これは動作しません。試してみた:= NO(N7 = "N *"、0,1)のセルの値は "NO Thanks"であり、 "1"を返す
Clay Nichols
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.