- 公開日:
エクセルで検索システムの作り方
エクセルを使った効率的な検索システムの作り方について解説します。
エクセルは表計算ソフトとして広く使用されていますが、検索機能を活用することでデータの管理や情報の抽出が非常に便利になります。
本記事では、具体的な手順や使い方をわかりやすく説明していきますので、ぜひ参考にしてみてください。
エクセルで検索システムの作り方

ここでは、「検索ボックスに任意の文字列を入力すると、一致する文字列がハイライト表示される」という一般的な検索システムを、エクセルで作成する方法を紹介します。

検索したい文字列を入力するためのフォーム(例:B4:E4)を作成します。わかりやすいように格子状に罫線を引き、背景色をつけました。
見出しごとに検索できるようにしたいため、各見出しの上に入力フォームを作成しています。

①データが入力されているセル(例:B7:F9)を選択し、②「ホーム」タブ、③「条件付き書式」、④「新しいルール」の順に選択します。

「新しい書式ルール」ダイアログボックスが表示されます。
①「数式を使用して、書式設定するセルを決定」を選択します。
②数式を入力するボックスに「=AND(B$4<>"",COUNTIF(B7,""&B$4&"")>0)」と入力します。
AND関数とCOUNTIF関数を組み合わせて、検索フォームに入力した文字列と部分一致するセルを返すように指定されています。
まず、「B$2<>""」はB2セルが空白でないことを確認する条件です。
「COUNTIF(B4,""&B$2&"")>0」は、B4セルから始まるデータ全体に 、B2セルの内容が部分一致で含まれているかどうかを確認する条件です。
「"*"」はワイルドカードです。部分一致検索を行う際に使用します。
簡単に解説すると、検索フォームである「B2セル」に入力した文字列が、「B4セルから始まるデータ全体」に部分一致すれば、該当するセルがハイライトされます。
③ハイライトを設定するため、「書式」ボタンを押します。

「セルの書式設定」ダイアログボックスが表示されます。
①任意の背景色を選択し、②「OK」ボタンを押します。

「OK」ボタンを押します。

以上で検索システムを作成できました。実際に使用してみましょう。
検索フォーム(例:B4)に、検索したい文字列(例:鈴木)を入力し、Enterキーを押します。
すると、「鈴木」という文字を含むデータが設定した書式でハイライトされました。

今回作成した検索フォームは、各見出しに対応しています。
文字列を入力するだけで簡単にハイライトできますので、探したいデータをすぐに見つけることができます。
検索結果を抽出する検索システムの作り方

検索結果のみを抽出する検索システムの作り方も紹介します。こちらはマクロを使ってシステムを作っていきます。
システムを作るには「開発」タブを表示させる必要があります。以下の記事を参考に、表示を行ってください。
検索フォームに文字列を入力して「検索」ボタンを押すと、一致するデータのみが表示されるイメージです。

まずは検索フォームを作成します。
今回は例として「お名前」で検索をかけるシステムを作成するため、「お名前」と太字で入力したうえで入力欄を作成しました。

①データ内のセル(例:B5)、②「挿入」タブ、③「テーブル」の順に選択します。

「テーブルの作成」ダイアログボックスが表示されます。
「OK」ボタンを押します。

①「開発」タブ、②「マクロの記録」の順に選択します。

「マクロの記録」ダイアログボックスが表示されます。
①マクロ名(例:検索システム)を入力し、②「OK」ボタンを押します。

①検索フォームに検索したい文字列(例:鈴木)を入力し、②「データ」タブ、③「詳細設定」の順に選択します。

「フィルターオプションの設定」ダイアログボックスが表示されます。
①「選択範囲内」を選択し、②リスト範囲をテーブル(例:$B$5:$E$8)、③検索条件範囲を検索フォーム(例:Sheet9!$B$2:$B$3)に設定し、④「OK」ボタンを押します。

①「開発」タブ、②「記録終了」の順に選択します。これで検索を実行するマクロを作成できました。

続けて、検索結果をリセットするマクロを作成します。
①「開発」タブ、②「マクロの記録」の順に選択します。

「マクロの記録」ダイアログボックスが表示されます。
①マクロ名(例:検索リセット)を入力し、②「OK」ボタンを押します。

①検索フォームに入力されている文字列を削除し、②「データ」タブ、③「詳細設定」の順に選択します。

「フィルターオプションの設定」ダイアログボックスが表示されます。
前回の設定が引き継がれているため、そのまま「OK」ボタンを押します。

①「開発」タブ、②「記録終了」の順に選択します。

①「挿入」タブ、②「図形」、③「正方形/長方形」の順に選択します。

検索ボタンを作っていきます。
図形に「検索」と入力し、色などは任意で設定します。

同じ手順で「リセット」ボタンも作成します。

①検索ボタンを右クリックし、②「マクロの登録」を選択します。

「マクロの登録」ダイアログボックスが表示されます。
①検索のマクロ(例:検索システム)を選択し、②「OK」ボタンを押します。
同じ手順で、リセットボタンにも検索をリセットするマクロを登録してください。

検索システムが完成しました。
入力フォームに検索したい文字列(例:鈴木)を入力してEnterキーを押し、検索ボタンを押すと検索が実行されます。

リセットボタンを押すと、検索結果がリセットされます。