Excelで検索ボックスを作成する – ステップバイステップガイド
Excelで検索ボックスを作成すると、特定のデータを迅速にフィルタリングしてアクセスできるため、スプレッドシートの機能が強化されます。このガイドでは、さまざまなバージョンのExcelに対応した検索ボックスを実装するための複数の方法を紹介します。初心者から上級者まで、FILTER関数、条件付き書式、およびさまざまな数式を使用して動的な検索ボックスを設定する手順が役立ちます。
- FILTER関数で簡単に検索ボックスを作成 (Excel 2019以降、Microsoft 365版Excelで利用可能)
- 条件付き書式を使用して検索ボックスを作成 (すべてのExcelバージョンで利用可能)
- 数式の組み合わせで検索ボックスを作成 (すべてのExcelバージョンで利用可能)
FILTER関数で簡単に検索ボックスを作成
- この関数は、データが変更されると自動的に結果を更新します。
- FILTER関数は、データセット内で指定された基準に一致するエントリの数に応じて、1行から数千行までの任意の数の結果を返すことができます。
ここでは、ExcelでFILTER関数を使用して検索ボックスを作成する方法を説明します。
ステップ1: テキストボックスを挿入し、プロパティを設定
- 「開発」タブに移動し、「挿入」>「テキストボックス (ActiveXコントロール)」をクリックします。
ヒント: 「開発」タブがリボンに表示されていない場合、このチュートリアルの指示に従って有効にすることができます: Excelリボンに開発タブを表示/有効にするにはどうすればよいですか?
- カーソルが十字に変わり、ワークシート内の目的の場所にテキストボックスを描画するためにカーソルをドラッグする必要があります。テキストボックスを描画したら、マウスを離します。
- テキストボックスを右クリックし、コンテキストメニューから「プロパティ」を選択します。
- 「プロパティ」ペインで、テキストボックスをセルに関連付けるために「LinkedCell」フィールドにセル参照を入力します。たとえば、「J2」と入力すると、テキストボックスに入力されたデータがセルJ2に自動的に更新され、その逆も行われます。
- 「開発」タブの「デザインモード」をクリックして、「デザインモード」を終了します。
これで、テキストボックスにテキストを入力できるようになります。
ステップ2: FILTER関数を適用
- FILTER関数を使用する前に、元のヘッダ行を新しいエリアにコピーします。ここでは、ヘッダ行を検索ボックスの下に配置します。
ヒント: このアプローチにより、ユーザーは元のデータと同じ列見出しの下に結果を明確に確認できます。
- 最初のヘッダの下のセル(例: この例ではI5)を選択し、次の数式を入力して「Enter」キーを押して結果を得ます。
=FILTER(Sheet2!$A$5:$G$281,Sheet2!$B$5:$B$281=J2,"No data found")
上のスクリーンショットに示されているように、現在テキストボックスに何も入力がないため、数式はI5に「データが見つかりません」という結果を表示します。
- この数式では:
- "Sheet2!$A$5:$G$281": $A$5:$G$281は、Sheet2でフィルタリングしたいデータ範囲です。
- "Sheet2!$B$5:$B$281=J2": この部分は、範囲をフィルタリングするために使用される基準を定義します。これは、Sheet2の列Bの行5から281の各セルをチェックし、それがセルJ2の値と等しいかどうかを確認します。J2は検索ボックスに関連付けられたセルです。
- "No data found": FILTER関数が、列Bの値がセルJ2の値と等しい行を見つけられない場合、「データが見つかりません」を返します。
- この方法は大文字小文字を区別しないため、大文字や小文字に関係なくテキストと一致します。
結果: 検索ボックスをテスト
それでは、検索ボックスをテストしましょう。この例では、検索ボックスに顧客名を入力すると、対応する結果がすぐにフィルタリングされ、表示されます。
条件付き書式を使用して検索ボックスを作成
条件付き書式を使用して、検索語と一致するデータを目立たせることで、間接的に検索ボックスの効果を作り出すことができます。この方法ではデータがフィルタリングされるわけではありませんが、視覚的に関連するセルに導きます。このセクションでは、Excelで条件付き書式を使用して検索ボックスを作成する方法を説明します。
ステップ1: テキストボックスを挿入し、プロパティを設定
- 「開発」タブに移動し、「挿入」>「テキストボックス (ActiveXコントロール)」をクリックします。
ヒント: 「開発」タブがリボンに表示されていない場合、このチュートリアルの指示に従って有効にすることができます: Excelリボンに開発タブを表示/有効にするにはどうすればよいですか?
- カーソルが十字に変わり、ワークシート内の目的の場所にテキストボックスを描画するためにカーソルをドラッグする必要があります。テキストボックスを描画したら、マウスを離します。
- テキストボックスを右クリックし、コンテキストメニューから「プロパティ」を選択します。
- 「プロパティ」ペインで、テキストボックスをセルに関連付けるために「LinkedCell」フィールドにセル参照を入力します。たとえば、「J3」と入力すると、テキストボックスに入力されたデータがセルJ3に自動的に更新され、その逆も行われます。
- 「開発」タブの「デザインモード」をクリックして、「デザインモード」を終了します。
これで、テキストボックスにテキストを入力できるようになります。
ステップ2: データ検索用の条件付き書式を適用
- 検索対象のデータ範囲全体を選択します。ここでは、範囲A3:G279を選択します。
- 「ホーム」タブで、「条件付き書式」>「新しいルール」をクリックします。
- 「新しい書式ルール」ダイアログボックスで:
- 「ルールの種類を選択」オプションで、「数式を使用して書式設定するセルを決定」を選択します。
- 「この数式が真の場合に値を書式設定」ボックスに次の数式を入力します。
=$B3=$J$3
ここで、「$B3」は選択範囲内で検索条件と一致させる列の最初のセルを表し、「$J$3」は検索ボックスに関連付けられたセルです。 - 「書式」ボタンをクリックして、検索結果の塗りつぶし色を指定します。
- 「OK」ボタンをクリックします。スクリーンショットをご覧ください:
結果
それでは、検索ボックスをテストしましょう。この例では、検索ボックスに顧客名を入力すると、列Bにその顧客が含まれる対応する行が指定された塗りつぶし色で即座にハイライトされます。
数式の組み合わせで検索ボックスを作成
最新バージョンのExcelを使用していない場合や、単に行をハイライトするだけではなく、このセクションで説明する方法が役立つかもしれません。Excelのどのバージョンでも、数式の組み合わせを使用して機能的な検索ボックスを作成できます。以下の手順に従ってください。
ステップ1: 検索列から一意の値のリストを作成
- この場合、範囲「B4:B281」を選択して新しいワークシートにコピーします。
- 新しいワークシートに範囲を貼り付けたら、貼り付けたデータを選択したまま、「データ」タブに移動して「重複の削除」を選択します。
- 開いた「重複の削除」ダイアログボックスで「OK」ボタンをクリックします。
- 次に「Microsoft Excel」のプロンプトボックスがポップアップして、いくつの重複が削除されたかを示します。「OK」をクリックします。
- 重複を削除した後、ヘッダーを除いてリスト内のすべての一意の値を選択し、「名前」ボックスにそれを入力してこの範囲に名前を割り当てます。ここでは、範囲に「Customer」という名前を付けました。
ステップ2: コンボボックスを挿入し、プロパティを設定
- 検索したいデータセットが含まれているワークシートに戻ります。「開発」タブに移動し、「挿入」>「コンボボックス (ActiveXコントロール)」をクリックします。
ヒント: 「開発」タブがリボンに表示されていない場合、このチュートリアルの指示に従って有効にすることができます: Excelリボンに開発タブを表示/有効にするにはどうすればよいですか?
- カーソルが十字に変わり、ワークシート内の目的の場所にコンボボックスを描画するためにカーソルをドラッグする必要があります。コンボボックスを描画したら、マウスを離します。
- コンボボックスを右クリックし、コンテキストメニューから「プロパティ」を選択します。
- 「プロパティ」ペインで:
- コンボボックスをセルに関連付けるために「LinkedCell」フィールドにセル参照を入力します。ここでは「M2」と入力します。
ヒント: このフィールドを指定することで、コンボボックスに入力されたデータがセルM2に自動的に更新され、その逆も行われます。
- 「ListFillRange」フィールドに、ステップ1で一意のリストに指定した「範囲名」を入力します。
- 「MatchEntry」フィールドを「2 – fmMatchEntryNone」に変更します。
- 「プロパティ」ペインを閉じます。
- コンボボックスをセルに関連付けるために「LinkedCell」フィールドにセル参照を入力します。ここでは「M2」と入力します。
- 「開発」タブの「デザインモード」をクリックして、デザインモードを終了します。
これで、コンボボックスから任意の項目を選択したり、検索するテキストを入力したりできるようになります。
ステップ3: 数式を適用
- 元のデータ範囲の隣に3つの補助列を作成します。スクリーンショットをご覧ください:
- 最初の補助列の見出しの下のセル(H5)に次の数式を入力し、「Enter」を押します。
=ROWS($B$5:B5)
ここで、「B5」は検索対象の列に含まれる最初の顧客名を持つセルです。 - 数式セルの右下隅をダブルクリックすると、下のセルに同じ数式が自動的に入力されます。
- 2番目の補助列の見出しの下のセル(I5)に次の数式を入力し、「Enter」を押します。その後、数式セルの右下隅をダブルクリックして、下のセルに同じ数式を自動的に入力します。
=IF(ISNUMBER(SEARCH($M$2,B5)),H5,"")
ここで、「M2」はコンボボックスに関連付けられたセルです。 - 3番目の補助列の見出しの下のセル(J5)に次の数式を入力し、「Enter」を押します。その後、数式セルの右下隅をダブルクリックして、下のセルに同じ数式を自動的に入力します。
=IFERROR(SMALL($I$5:$I$281,H5),"")
- 元のヘッダ行を新しいエリアにコピーします。ここでは、ヘッダ行を検索ボックスの下に配置します。
- 最初のヘッダの下のセル(例: この例ではL5)を選択し、次の数式を入力して「Enter」キーを押します。
=IFERROR(INDEX($A$5:$G$281,$J5,COLUMNS($L$4:L4)),"")
ここで、「A5:G281」は結果セルに表示したい全データ範囲です。 - この数式セルを選択し、「フィルハンドル」を右にドラッグしてから下にドラッグして、対応する列と行に数式を適用します。
注意:
- 検索ボックスに何も入力がないため、数式の結果は生データを表示します。
- この方法は大文字小文字を区別しないため、大文字や小文字に関係なくテキストと一致します。
結果
それでは、検索ボックスをテストしましょう。この例では、コンボボックスから顧客名を入力または選択すると、列Bにその顧客名が含まれる対応する行が結果範囲にフィルタリングされ、即座に表示されます。
Excelで検索ボックスを作成すると、データとのやり取りが大幅に改善され、スプレッドシートがより動的で使いやすいものになります。FILTER関数のシンプルさ、条件付き書式の視覚支援、または数式の組み合わせの多様性のいずれを選択しても、それぞれの方法はデータ操作能力を向上させる貴重なツールを提供します。これらの手法を試して、自分のニーズやデータシナリオに最適なものを選んでください。Excelの機能についてさらに深く学びたい方のために、当サイトには豊富なチュートリアルがあります。さらに多くのExcelのヒントやコツをこちらでご覧ください。
関連記事
Excelでの検索可能なドロップダウンリストの究極ガイド
このガイドでは、Excelで検索可能なドロップダウンリストを設定するための4つの方法を詳しく説明します。
Excelで検索して検索結果をハイライト
この記事では、Excelで検索を行いながら結果を同時にハイライトする2つの異なる方法を紹介します。
Excelで上方向に検索して一致する値を見つける
通常、Excelの列では上から下に一致する値を探しています。しかし、上方向に検索して一致する値を見つけるにはどうすればよいでしょうか?この記事では、それを達成するための方法を示します。
すべての開いているExcelワークブックで値を検索
この記事では、現在のワークブックだけでなく、すべての開いているワークブックで値やテキストを検索する方法を紹介します。
最高のオフィス生産性ツール
🤖 | Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析しグラフを生成 | 拡張機能を呼び出す… |
人気の機能: 重複を見つけてハイライトまたはマーキング | 空白行を削除 | データを失わずに列またはセルを統合 | 丸める ... | |
スーパーLOOKUP: 複数条件のVLookup | 複数値のVLookup | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成 | 依存ドロップダウンリスト | マルチセレクトドロップダウンリスト .... | |
列管理: 特定の数の列を追加 | 列を移動 | 非表示列の可視ステータスを切り替え | 範囲と列を比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック & ワークシート管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リストで電子メールを送信 | スーパーフィルター | 特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ... | |
トップ15のツールセット: 12 のテキストツール (テキストの追加, 特定の文字を削除, ...) | 50以上 のグラフ の種類 (ガントチャート, ...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...) | 19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...) | 12 の変換ツール (単語に変換する, 通貨変換, ...) | 7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...) | ...さらに多く |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。 最も必要な機能を入手するにはここをクリック...
Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします
- Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!