LOOKUPやVLOOKUP、XLOOKUPといった関数には共通した弱点がある。それは1件分(1レコード分)のデータしか取得できないことだ。検索値に合致するデータが複数件あったとしても、実際には1件のデータしか取得できない仕様になっている。そこで、条件に合うデータをリスト化して全取得する関数FILTERの使い方も覚えておくとよい。
ルックアップ関数で習得できるデータは1件のみ
大きな表から「目的のデータ」を取得するときは、VLOOKUPやXLOOKUPといったルックアップ系の関数がよく利用されている。ただし、これらの関数には共通する弱点がある。それは、1件分(1レコード分)のデータしか取得できないことだ。このため、目的としているデータを取得できない、他の合致データを見落としてしまう、などのトラブルが生じる恐れがある。
このような場合に備えて「関数FILTER」の使い方も覚えておくとよい。なお、この関数は2019年にリリースされた新しい関数となるため、Microsoft 365(旧Office 365)またはExcel 2021でのみ使用できる関数となる。
今回も、会員名簿をまとめた表を使って具体的な例を紹介していこう。この名簿には、ワークシートの16行目から515行目までに計500件のデータが入力されている。前回までの連載で用いた表とよく似ているが、今回の表は、H列に「生年月日」ではなく「誕生日」が入力されている。
この「誕生日」を検索値にして会員データを取得するケースを考えてみよう。まずは、前回の連載で紹介した関数XLOOKUPを使ってデータを取得する場合の例だ。引数は、それぞれ以下のように指定した。
第1引数(検索値)・・・・ C2(以下の図の場合、6/15が検索値になる)