前回の連載で紹介したように、残念ながら「関数FILTER」はワイルドカードに対応していない。せっかく複数件(複数レコード)のデータを抽出できるのに、「完全一致」でしか検索できない・・・、というのは少し不便だ。そこで今回は、関数FILTERで「部分一致」の検索を可能にするテクニックを紹介していこう。

関数FILTERはワイルドカードが使えない・・・

前回の復習も兼ねて、まずは「関数FILTER」の基本的な動作を確認しておこう。

  • ワイルドカードが使えない関数FILTERの弱点を克服

今回も、会員名簿をまとめた表を使って使い方を紹介していこう。この名簿には、ワークシートの16行目から515行目までに計500件のデータが入力されている。

関数FILTERを使って、この表からデータを抽出するときは、以下の図のように関数を記述すればよい。なお、ここではC2セルに入力した「氏名カナ」でデータを検索するように引数を指定している(詳しくは前回の連載を参照)。

  • 関数FILTERの入力

まずは「タカハシ ヨシタカ」で検索した例だ。この表には「タカハシ ヨシタカ」さんが2名いるため、以下の図のように2件のデータが取得された。

  • 「完全一致」するデータが見つかった場合

続いては、「タカハシ」だけで検索した例だ。この場合、データは1件も取得されない。というのも、氏名カナが「タカハシ」だけのデータは1件も存在しないからだ。関数FILTERはキーワードに「完全一致」するデータだけを取得する仕様になっている。

  • 「完全一致」するデータが存在しない場合

念のため、「*」を追加してワイルドカードの使用を試みた例も紹介しておこう。この場合も結果に変わりはない。関数FILTERはワイルドカードに対応していないため、「前方一致」や「後方一致」の検索は行えない。

  • ワイルドカードの使用を試みた場合

このように、VLOOKUPやXLOOKUPでは使用可能なワイルドカードが、関数FILTERでは使用不可となっている。

関数FILTERは複数件(複数レコード)のデータを取得可能で、ルックアップ系の関数にはない利点を有している。その一方で「ワイルドカードを使えない・・・」という弱点もある。今回は、この弱点を克服するテクニックを紹介していこう。

関数FILTERを「部分一致」に対応させるテクニック

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら