メインコンテンツへスキップ

Excelで検索ボックスを作成する – ステップバイステップガイド

Author: Siluvia Last Modified: 2025-05-23

Excelで検索ボックスを作成すると、特定のデータを迅速にフィルタリングしてアクセスできるため、スプレッドシートの機能が強化されます。このガイドでは、さまざまなバージョンのExcelに対応した検索ボックスを実装するための複数の方法を紹介します。初心者から上級者まで、FILTER関数、条件付き書式、およびさまざまな数式を使用して動的な検索ボックスを設定する手順が役立ちます。

A screenshot of a dynamic search box in Excel


FILTER関数で簡単に検索ボックスを作成

注: FILTER関数は、Excel 2019以降のバージョンおよびMicrosoft 365版Excelで利用可能です。
FILTER関数は、データを動的に検索およびフィルタリングする簡単な方法を提供します。FILTER関数を使用する利点は次のとおりです:
  • この関数は、データが変更されると自動的に結果を更新します。
  • FILTER関数は、データセット内で指定された基準に一致するエントリの数に応じて、1行から数千行までの任意の数の結果を返すことができます。

ここでは、ExcelでFILTER関数を使用して検索ボックスを作成する方法を説明します。

ステップ1: テキストボックスを挿入し、プロパティを設定
ヒント: 検索ボックスとして目立つテキストボックスが必要なく、セルに入力するだけでコンテンツを検索したい場合は、このステップをスキップして「ステップ2」に進むことができます。
  1. 「開発」タブに移動し、「挿入」>「テキストボックス (ActiveXコントロール)」をクリックします。
    ヒント: 「開発」タブがリボンに表示されていない場合、このチュートリアルの指示に従って有効にすることができます: Excelリボンに開発タブを表示/有効にするにはどうすればよいですか?
    A screenshot of the Developer tab in Excel with the Insert option selected for ActiveX Text Box
  2. カーソルが十字に変わり、ワークシート内の目的の場所にテキストボックスを描画するためにカーソルをドラッグする必要があります。テキストボックスを描画したら、マウスを離します。
    A screenshot of the cursor in Excel set to draw a text box on the worksheet
  3. テキストボックスを右クリックし、コンテキストメニューから「プロパティ」を選択します。
    A screenshot of right-clicking on the text box in Excel to open the Properties menu
  4. 「プロパティ」ペインで、テキストボックスをセルに関連付けるために「LinkedCell」フィールドにセル参照を入力します。たとえば、「J2」と入力すると、テキストボックスに入力されたデータがセルJ2に自動的に更新され、その逆も行われます。
    A screenshot of the Properties pane in Excel where the LinkedCell field is entered
  5. 「開発」タブの「デザインモード」をクリックして、「デザインモード」を終了します。
    A screenshot of the Developer tab in Excel with Design Mode selected

これで、テキストボックスにテキストを入力できるようになります。

ステップ2: FILTER関数を適用
  1. FILTER関数を使用する前に、元のヘッダ行を新しいエリアにコピーします。ここでは、ヘッダ行を検索ボックスの下に配置します。
    ヒント: このアプローチにより、ユーザーは元のデータと同じ列見出しの下に結果を明確に確認できます。
    A screenshot showing the header row copied under the search box in Excel to display search results
  2. 最初のヘッダの下のセル(例: この例ではI5)を選択し、次の数式を入力して「Enter」キーを押して結果を得ます。
    =FILTER(Sheet2!$A$5:$G$281,Sheet2!$B$5:$B$281=J2,"No data found")
    A screenshot of the FILTER function formula entered in Excel to filter data based on search input
    上のスクリーンショットに示されているように、現在テキストボックスに何も入力がないため、数式は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の値と等しい行を見つけられない場合、「データが見つかりません」を返します。
  • この方法は大文字小文字を区別しないため、大文字や小文字に関係なくテキストと一致します。
結果: 検索ボックスをテスト

それでは、検索ボックスをテストしましょう。この例では、検索ボックスに顧客名を入力すると、対応する結果がすぐにフィルタリングされ、表示されます。

A screenshot showing the search box in action with results filtered and displayed based on the input


条件付き書式を使用して検索ボックスを作成

条件付き書式を使用して、検索語と一致するデータを目立たせることで、間接的に検索ボックスの効果を作り出すことができます。この方法ではデータがフィルタリングされるわけではありませんが、視覚的に関連するセルに導きます。このセクションでは、Excelで条件付き書式を使用して検索ボックスを作成する方法を説明します。

ステップ1: テキストボックスを挿入し、プロパティを設定
ヒント: 検索ボックスとして目立つテキストボックスが必要なく、セルに入力するだけでコンテンツを検索したい場合は、このステップをスキップして「ステップ2」に進むことができます。
  1. 「開発」タブに移動し、「挿入」>「テキストボックス (ActiveXコントロール)」をクリックします。
    ヒント: 「開発」タブがリボンに表示されていない場合、このチュートリアルの指示に従って有効にすることができます: Excelリボンに開発タブを表示/有効にするにはどうすればよいですか?
    A screenshot showing the text box option selected in Excel's Developer tab for creating a search box
  2. カーソルが十字に変わり、ワークシート内の目的の場所にテキストボックスを描画するためにカーソルをドラッグする必要があります。テキストボックスを描画したら、マウスを離します。
    A screenshot showing the process of drawing a text box in Excel to place for search input
  3. テキストボックスを右クリックし、コンテキストメニューから「プロパティ」を選択します。
    A screenshot showing the Properties menu in Excel where a text box is linked to a cell
  4. 「プロパティ」ペインで、テキストボックスをセルに関連付けるために「LinkedCell」フィールドにセル参照を入力します。たとえば、「J3」と入力すると、テキストボックスに入力されたデータがセルJ3に自動的に更新され、その逆も行われます。
    A screenshot of the Properties pane where a text box is linked to cell J3 in Excel
  5. 「開発」タブの「デザインモード」をクリックして、「デザインモード」を終了します。
    A screenshot of the Excel Developer tab with the Design Mode option highlighted to exit design mode

これで、テキストボックスにテキストを入力できるようになります。

ステップ2: データ検索用の条件付き書式を適用
  1. 検索対象のデータ範囲全体を選択します。ここでは、範囲A3:G279を選択します。
  2. 「ホーム」タブで、「条件付き書式」>「新しいルール」をクリックします。
    A screenshot showing the Conditional Formatting New Rule option selected in Excel's Home tab
  3. 「新しい書式ルール」ダイアログボックスで:
    1. 「ルールの種類を選択」オプションで、「数式を使用して書式設定するセルを決定」を選択します。
    2. 「この数式が真の場合に値を書式設定」ボックスに次の数式を入力します。
      =$B3=$J$3
      ここで、「$B3」は選択範囲内で検索条件と一致させる列の最初のセルを表し、「$J$3」は検索ボックスに関連付けられたセルです。
    3. 「書式」ボタンをクリックして、検索結果の塗りつぶし色を指定します。
    4. 「OK」ボタンをクリックします。スクリーンショットをご覧ください:
      A screenshot showing the New Formatting Rule dialog box with a formula entered for Conditional Formatting in Excel
結果

それでは、検索ボックスをテストしましょう。この例では、検索ボックスに顧客名を入力すると、列Bにその顧客が含まれる対応する行が指定された塗りつぶし色で即座にハイライトされます。

A screenshot showing the search box in action, highlighting matching rows in Excel based on the search input

注意: この方法は大文字小文字を区別しないため、大文字や小文字に関係なくテキストと一致します。

数式の組み合わせで検索ボックスを作成

最新バージョンのExcelを使用していない場合や、単に行をハイライトするだけではなく、このセクションで説明する方法が役立つかもしれません。Excelのどのバージョンでも、数式の組み合わせを使用して機能的な検索ボックスを作成できます。以下の手順に従ってください。

ステップ1: 検索列から一意の値のリストを作成
ヒント: 新しい範囲の一意の値は、最終的な検索ボックスで使用する基準です。
  1. この場合、範囲「B4:B281」を選択して新しいワークシートにコピーします。
  2. 新しいワークシートに範囲を貼り付けたら、貼り付けたデータを選択したまま、「データ」タブに移動して「重複の削除」を選択します。
    A screenshot of the Remove Duplicates option in Excel
  3. 開いた「重複の削除」ダイアログボックスで「OK」ボタンをクリックします。
    A screenshot of the Remove Duplicates dialog box in Excel
  4. 次に「Microsoft Excel」のプロンプトボックスがポップアップして、いくつの重複が削除されたかを示します。「OK」をクリックします。
    A screenshot of the Remove Duplicates confirmation prompt in Excel
  5. 重複を削除した後、ヘッダーを除いてリスト内のすべての一意の値を選択し、「名前」ボックスにそれを入力してこの範囲に名前を割り当てます。ここでは、範囲に「Customer」という名前を付けました。
    A screenshot of the Assign Name dialog box in Excel
ステップ2: コンボボックスを挿入し、プロパティを設定
ヒント: 検索ボックスとして目立つコンボボックスが必要なく、セルに入力するだけでコンテンツを検索したい場合は、このステップをスキップして「ステップ3」に進むことができます。
  1. 検索したいデータセットが含まれているワークシートに戻ります。「開発」タブに移動し、「挿入」>「コンボボックス (ActiveXコントロール)」をクリックします。
    ヒント: 「開発」タブがリボンに表示されていない場合、このチュートリアルの指示に従って有効にすることができます: Excelリボンに開発タブを表示/有効にするにはどうすればよいですか?
    A screenshot of the Combo Box insertion in Excel
  2. カーソルが十字に変わり、ワークシート内の目的の場所にコンボボックスを描画するためにカーソルをドラッグする必要があります。コンボボックスを描画したら、マウスを離します。
    A screenshot of the Combo Box drawn on an Excel worksheet
  3. コンボボックスを右クリックし、コンテキストメニューから「プロパティ」を選択します。
    A screenshot of the Combo Box properties in Excel
  4. 「プロパティ」ペインで:
    1. コンボボックスをセルに関連付けるために「LinkedCell」フィールドにセル参照を入力します。ここでは「M2」と入力します。
      ヒント: このフィールドを指定することで、コンボボックスに入力されたデータがセルM2に自動的に更新され、その逆も行われます。
    2. 「ListFillRange」フィールドに、ステップ1で一意のリストに指定した「範囲名」を入力します。
    3. 「MatchEntry」フィールドを「2 – fmMatchEntryNone」に変更します。
    4. 「プロパティ」ペインを閉じます。
      A screenshot of the Combo Box properties pane in Excel
  5. 「開発」タブの「デザインモード」をクリックして、デザインモードを終了します。
    A screenshot of the exit Design Mode button in Excel

これで、コンボボックスから任意の項目を選択したり、検索するテキストを入力したりできるようになります。

ステップ3: 数式を適用
  1. 元のデータ範囲の隣に3つの補助列を作成します。スクリーンショットをご覧ください:
    A screenshot of the helper columns setup in Excel
  2. 最初の補助列の見出しの下のセル(H5)に次の数式を入力し、「Enter」を押します。
    =ROWS($B$5:B5)
    ここで、「B5」は検索対象の列に含まれる最初の顧客名を持つセルです。
    A screenshot of the first formula entered in Excel for helper columns
  3. 数式セルの右下隅をダブルクリックすると、下のセルに同じ数式が自動的に入力されます。
    A screenshot of the automatic filling of formula cells in Excel
  4. 2番目の補助列の見出しの下のセル(I5)に次の数式を入力し、「Enter」を押します。その後、数式セルの右下隅をダブルクリックして、下のセルに同じ数式を自動的に入力します。
    =IF(ISNUMBER(SEARCH($M$2,B5)),H5,"")
    ここで、「M2」はコンボボックスに関連付けられたセルです。
    A screenshot of the second formula entered for helper columns in Excel
  5. 3番目の補助列の見出しの下のセル(J5)に次の数式を入力し、「Enter」を押します。その後、数式セルの右下隅をダブルクリックして、下のセルに同じ数式を自動的に入力します。
    =IFERROR(SMALL($I$5:$I$281,H5),"") 
    A screenshot of the third formula entered for helper columns in Excel
  6. 元のヘッダ行を新しいエリアにコピーします。ここでは、ヘッダ行を検索ボックスの下に配置します。
    A screenshot of the header row copied in Excel for the result range
  7. 最初のヘッダの下のセル(例: この例ではL5)を選択し、次の数式を入力して「Enter」キーを押します。
    =IFERROR(INDEX($A$5:$G$281,$J5,COLUMNS($L$4:L4)),"")
    ここで、「A5:G281」は結果セルに表示したい全データ範囲です。
    A screenshot of the result formula entered under the header in Excel
  8. この数式セルを選択し、「フィルハンドル」を右にドラッグしてから下にドラッグして、対応する列と行に数式を適用します。
    A screenshot of the formula applied to the result range in Excel
    注意:
    • 検索ボックスに何も入力がないため、数式の結果は生データを表示します。
    • この方法は大文字小文字を区別しないため、大文字や小文字に関係なくテキストと一致します。
結果

それでは、検索ボックスをテストしましょう。この例では、コンボボックスから顧客名を入力または選択すると、列Bにその顧客名が含まれる対応する行が結果範囲にフィルタリングされ、即座に表示されます。

A screenshot of the final search box result in Excel


Excelで検索ボックスを作成すると、データとのやり取りが大幅に改善され、スプレッドシートがより動的で使いやすいものになります。FILTER関数のシンプルさ、条件付き書式の視覚支援、または数式の組み合わせの多様性のいずれを選択しても、それぞれの方法はデータ操作能力を向上させる貴重なツールを提供します。これらの手法を試して、自分のニーズやデータシナリオに最適なものを選んでください。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%向上させ、毎日数百回のマウスクリックを減らします!