【FILTER関数】大文字・小文字・全角・半角を区別する方法

ExcelやGoogleスプレッドシートのFILTER関数は、デフォルトでは大文字と小文字を区別しません。「Apple・apple・apple」を区別して抽出したい場合、他の関数と組み合わせる必要があります。この記事では、FILTER関数を使って大文字と小文字を区別する方法から、部分一致の検索まで詳しく解説します。

スポンサーリンク

FILTER関数:使い方

【FILTER関数】大文字と小文字を区別する方法

FILTER関数は、指定した「条件」に基づいて、特定の行だけを絞り込んで抽出します。

たとえば、A列のテキストから「PDF」の行だけを抽出したい場合、数式は以下のようになります。

例:=FILTER(A2:A5,A2:A5="PDF")

このとき、FILTER関数は「大文字と小文字」、「全角と半角」を区別しません。 そのため、「PDF」「pdf」のどれがA列にあっても、条件と一致した行として抽出されます。

FILTER関数の引数:(抽出範囲, 条件1, [条件2, …])

スポンサーリンク

FILTER関数:厳密な検索

【FILTER関数】大文字と小文字を区別する方法

大文字・小文字・半角・全角を区別して抽出したい場合は、EXACT関数を組み合わせます。

たとえば、A列のテキストから「PDF」と完全に一致する行だけを抽出したい場合、数式は以下のようになります。

例:=FILTER(A2:A5,EXACT(A2:A5,"PDF"))

この数式では、EXACT関数で2つの文字列が同一であるかを検証し、その結果を{FALSE; FALSE;TRUE; FALSE}のような配列で、FILTER関数の条件として渡しています。

EXACT関数の引数:(文字列1, 文字列2)

スポンサーリンク

FILTER関数:部分一致で厳密に検索する

【FILTER関数】大文字と小文字を区別する方法

FILTER関数は、ワイルドカード(*?)を単体で使うことはできません。

もし、部分一致で大文字・小文字・半角・全角を区別したい場合は、ISNUMBER関数とFIND関数を組み合わせます。

たとえば、A列のテキストの中から「PDF」という文字列を含むもの(大文字・小文字・全角・半角を区別して)の行だけを抽出したい場合は、次の数式を使います。

例:=FILTER(A2:A5,ISNUMBER(FIND("PDF",A2:A5)))

この数式では、FIND関数が「PDF」という文字列がテキスト内で最初に現れる位置を検索し、見つかれば数値を、見つからなければエラーを返します。

ISNUMBER関数は、FIND関数の結果が数値であればTRUEを、エラーであればFALSEを返すことで、FILTER関数の条件として{FALSE; FALSE;TRUE; FALSE}のような配列を渡しています。

FIND関数の引数:(検索文字列, 検索対象のテキスト, [開始位置])

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