【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

GoogleスプレッドシートのIF関数には、ワイルドカードを直接使うことはできません。そこで今回は、IF関数にREGEXMATCH関数を組み合わせて、「含む」「含まない」といった部分一致を検索する方法を解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

IF関数の使い方

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

IF関数は、指定した論理式が真(TRUE)の場合と、偽(FALSE)の場合で、それぞれに応じた値を返す関数です。条件によって表示を変えたいときに使います。

たとえば、A2セルのテキストが「PDF」という文字列と完全に一致するなら「○」を、そうでなければ「×」を表示したい場合、数式は次のようになります。

例:=IF(A2="PDF","○","×")

IF関数の引数:(論理式, TRUE値, FALSE値)

スポンサーリンク

IF関数で部分一致を検索する方法

IF関数はワイルドカードに対応していませんが、REGEXMATCH関数を組み合わせることで、部分一致する文字列を検索可能になります。

REGEXMATCH関数は、指定したテキストが正規表現に一致するかどうかを判定する関数です。

正規表現とは、あいまいな文字列を検索するための手法の1つで、メタキャラクタ(メタ文字)という記号を使って、文字列のパターンを表現します。

REGEXMATCH関数の引数:(テキスト, 正規表現)

「~を含む」を検索する方法

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

特定の文字列を含むかどうかを判定したい場合、正規表現の部分に検索したい文字列をそのまま指定します

たとえば、A2セルのテキストが「PDF」という文字列を含むかどうかを判定したい場合、数式は次のようになります。

例:=IF(REGEXMATCH(A2,"PDF"),"○","×")

「~で始まる」を検索する方法

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

特定の文字列で始まるかどうかを判定したい場合は、指定する文字列の前に前方一致を表す^を付けます

たとえば、A2セルのテキストが「PDF」という文字列で始まるかどうかを判定したい場合、数式は次のようになります。

例:=IF(REGEXMATCH(A2,"^PDF"),"○","×")

「~で終わる」を検索する方法

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

特定の文字列で終わるかどうかを判定したい場合は、指定する文字列の後ろに後方一致を表す$を付けます

たとえば、A2セルのテキストが「PDF」という文字列で終わるかどうかを判定したい場合、数式は次のようになります。

例:=IF(REGEXMATCH(A2,"PDF$"),"○","×")

「~を含まない」を検索する方法

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

特定の文字列を含まないかどうかを判定したい場合は、REGEXMATCH関数で「含む」条件を作成し、その結果をNOT関数で反転させます。

たとえば、A2セルのテキストが「PDF」という文字列を含まないかどうかを判定したい場合、数式は次のようになります。

例:=IF(NOT(REGEXMATCH(A2,"PDF")),"○","×")

複数条件(OR)にする方法

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

複数の文字列のいずれかを含むかどうかを判定したい場合、正規表現で「または」を表す|で区切ります。

たとえば、A2セルのテキストが「ファイル」または「com」という文字列を含むかどうかを判定したい場合、数式は次のようになります。

例:=IF(REGEXMATCH(A2,"ファイル|com"),"○","×")

複数条件(AND)にする方法

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

複数の文字列がすべて含まれるかどうかを判定したい場合は、AND関数REGEXMATCH関数を組み合わせます。

たとえば、A2セルに「PDF」と「com」の両方が含まれるかどうかを判定したい場合、数式は次のようになります。

例:=IF(AND(REGEXMATCH(A2,"PDF"),REGEXMATCH(A2,"com")),"○","×")

スポンサーリンク

条件をセル参照にする方法

【スプレッドシート】IF関数で「ワイルドカード」のように部分一致を検索する方法

特定の文字をセル参照にしたい場合、正規表現とセル参照を&で結合します。

たとえば、A2セルのテキストがC2セルに入力された文字列で始まるかどうかを判定したい場合、数式は以下のようになります。

例:=IF(REGEXMATCH(A2,"^"&$C$2),"○","×")

タイトルとURLをコピーしました