2024年4月12日【ID:0】
メンバー限定
【Excel】簡易的な検索機能を数式のみで実現
「文字を入力するだけで、その文字を含む名前のデータのみを瞬時に抽出することができる検索機能」を数式のみで実現する方法について解説していきます。
以下の画像では、セルH3に入力した文字を含む名前のデータを左の表から右の表に抽出しています。
こちらでは、完全一致検索と部分一致検索の2通りについて順番に解説していきます。
※使用したファイルは、記事の最後にて配布しています。
・完全一致検索の実現
特定の条件を満たすデータのみを抽出するには、FILTER関数が便利です。
FILTER関数は、365もしくはExcel2021以降で対応している関数になります。
FILTER関数の使い方は以下の通りです。
=FILTER(配列, 含む, [空の場合])
// 条件を満たすデータのみを抽出する
// 配列:対象の表
// 含む:抽出条件
// [空の場合]:対象が1件もない時に表示する値(省略時はエラーを表示)
この関数を使用して、以下のように記述することで実現することができます。
=FILTER(B3:E1000,C3:C1000=H3,"")
// B3:E1000:表の範囲はデータの増減に対応するため大きめに指定する
// C3:C1000=H3:検索対象の項目の行数は表の範囲と同じにする必要がある
この1つの数式だけで、以下のように対象のデータを抽出することができます。
こちらの場合は、対象が1件のみのため、1件のみが抽出されました。
・部分一致検索の実現
部分一致検索を実現するには、先ほどの以下の数式の「C3:C1000=H3」という条件式について理解する必要があります。
=FILTER(B3:E1000,C3:C1000=H3,"")
条件式について理解するために、まずは「C3:C1000=H3」という数式のみを入力してみます。
= C3:C1000=H3
入力して確定すると、以下のようにTRUEもしくはFALSEという値が表示されます。
TRUEもしくはFALSEという値は、指定した表のデータの数分表示されます。
このTRUEにあたるデータが条件を満たしていて抽出する対象のデータになります。
そのため、部分一致の検索を実現するには、検索欄「セルH3」の値が含むデータのみにTRUEと表示するような条件式を考える必要があります。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。
IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます