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

Excelでの検索可能なドロップダウンリストの究極ガイド

Author: Siluvia Last Modified: 2025-05-23

Excelでドロップダウンリストを作成すると、データ入力が簡素化され、エラーも最小限に抑えられます。しかし、データセットが大きくなると、長いリストをスクロールするのは煩雑です。タイプして項目をすぐに見つけられると便利ではありませんか?「検索可能なドロップダウンリスト」はそのような利便性を提供します。このガイドでは、Excelでそのようなリストを設定するための4つの方法をご紹介します。

searchable drop-down list



ビデオ:検索可能なドロップダウンリストの作成

 


Excel 365での検索可能なドロップダウンリスト

Excel 365には、データ検証のドロップダウンリストに待望の機能が追加されました。それはリスト内を検索できる機能です。この検索機能により、ユーザーは効率的に項目を見つけて選択できます。通常通りドロップダウンリストを挿入した後、リストのあるセルをクリックして入力を開始するだけです。リストは入力されたテキストに即座にフィルタリングされます。

この場合、Sanという文字をセルに入力すると、ドロップダウンリストはSan FranciscoSan Diegoなど、Sanという検索語で始まる都市のみを表示します。その後、マウスで結果を選択するか、矢印キーを使用してEnterキーを押すことができます。

Searchable drop-down list in Excel 365

注意:
  • 検索は、ドロップダウンリスト内の各単語の最初の文字から開始されます。入力した文字がどの単語の先頭の文字とも一致しない場合、リストには一致する項目が表示されません。
  • この機能は、最新バージョンのExcel 365でのみ利用可能です。
  • お使いのExcelのバージョンがこの機能をサポートしていない場合、ここではKutools for Excelの「検索可能なドロップダウンリスト」機能をお勧めします。Excelのバージョン制限はなく、一度有効にすれば、関連するテキストを入力するだけでドロップダウンリスト内で目的の項目を簡単に検索できます。詳細な手順をご覧ください

検索可能なドロップダウンリストの作成(Excel 2019以降向け)

Excel 2019以降のバージョンを使用している場合、このセクションの方法でもExcelでドロップダウンリストを検索可能にすることができます。

Sheet1の範囲A2:A8のデータを使用して、Sheet2のセルA2にドロップダウンリストを作成済みであると仮定します(右側の画像)。以下の手順に従って、リストを検索可能にします。

 sample data

ステップ1. 検索項目をリストする補助列を作成する

ここでは、ソースデータに一致する項目をリストする補助列が必要です。この場合、補助列をSheet1D列に作成します。

  1. D列の最初のセルD1を選択し、列ヘッダーとして「検索結果」などの名前を入力します。
  2. 次の数式をセルD2に入力し、Enterキーを押します。 Enter.
    =FILTER(A2:A8,ISNUMBER(SEARCH(Sheet2!A2,A2:A8)),"Not Found")
     Create a helper column that lists the search items
注意:
  • この数式では、A2:A8はソースデータの範囲です。Sheet2!A2はドロップダウンリストの位置を示しており、これはドロップダウンリストがSheet2のA2にあることを意味します。自分のデータに応じて変更してください。
  • Sheet2のA2でドロップダウンリストから項目が選択されていない場合、数式はソースデータのすべての項目を表示します(上記の画像参照)。一方、項目が選択されている場合、D2にはその項目が数式の結果として表示されます。
ステップ2: ドロップダウンリストを再構成する
  1. ドロップダウンリストのセル(この場合はSheet2のセルA2)を選択し、次に「データ」>「データの検証」>「データの検証」を選択します。
     click Data > Data Validation > Data Validation
  2. データの検証 」ダイアログボックスで、以下のように設定します。
    1. 設定 」タブで、「 select button 」ボタンをクリックします。「 リンク元 」ボックスで。
       click select button
    2. データの検証」ダイアログボックスはSheet1にリダイレクトされ、Step 1の数式があるセル(例:D2)を選択し、#記号を追加して「閉じる 」ボタンをクリックします。
      select the cell with the formula, add a # symbol
    3. 「エラーメッセージ」タブに移動し、「無効なデータが入力された後にエラーメッセージを表示する」チェックボックスをオフにして、最後に「OK」ボタンをクリックして変更を保存します。
       uncheck the Show error alert after invalid data is entered checkbox
結果

Sheet2のセルA2のドロップダウンリストは、これで検索可能になりました。セルにテキストを入力し、ドロップダウン矢印をクリックしてリストを展開すると、リストが入力されたテキストに即座にフィルタリングされます。

The drop-down list is now searchable

注意:
  • この方法は、Excel 2019以降のバージョンでのみ使用可能です。
  • この方法は一度に1つのドロップダウンリストのセルに対してのみ動作します。Sheet2のセルA3からA8でドロップダウンリストを検索可能にするには、前述の手順を各セルごとに繰り返す必要があります。
  • ドロップダウンリストのセルにテキストを入力しても、リストは自動的には展開されません。ドロップダウン矢印をクリックして手動で展開する必要があります。

すべてのExcelバージョンで簡単に検索可能なドロップダウンリストを作成

上記の方法にはさまざまな制限がありますが、ここで非常に効果的なツールを紹介します - Kutools for Excelの「ドロップダウンリストを検索可能にし、自動ポップアップ」機能です。この機能はすべてのExcelバージョンで利用でき、簡単な設定でドロップダウンリスト内で目的の項目を簡単に検索できます。

Kutools for Excelをダウンロードしてインストールした後、「Kutools」>「ドロップダウンリスト」>「ドロップダウンリストを検索可能にし、自動ポップアップ」を選択してこの機能を有効にします。「ドロップダウンリストを検索可能にする」ダイアログボックスで、次の操作を行います。

  1. 検索可能なドロップダウンリストに設定する必要があるドロップダウンリストを含む範囲を選択します。
  2. OK 」をクリックして設定を完了します。
結果

指定された範囲内のドロップダウンリストのセルをクリックすると、右側にリストボックスが表示されます。テキストを入力してリストを即座にフィルタリングし、項目を選択するか、矢印キーを使用してEnterキーを押してセルに追加します。

注意:
  • この機能は、単語内の任意の位置からの検索をサポートしています。つまり、単語の中間または末尾の文字を入力しても、一致する項目が見つかり、表示されます。これにより、より包括的でユーザーフレンドリーな検索体験が得られます。
  • この機能についてさらに詳しく知りたい場合は、このページをご覧ください
  • この機能を適用するには、まずKutools for Excelをダウンロードしてインストールしてください。
Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

コンボボックスとVBAを使用して検索可能なドロップダウンリストを作成(より複雑)

特定のドロップダウンリストの種類を指定せずに、単に検索可能なドロップダウンリストを作成したい場合、このセクションでは別の方法を提供します。コンボボックスとVBAコードを使用してタスクを実現します。

下のスクリーンショットに示すように、A列に国名のリストがあり、それらを検索可能なドロップダウンリストのソースデータとして使用したいとします。以下の手順に従って実行できます。

sample data

ワークシートにデータ検証のドロップダウンリストではなく、コンボボックスを挿入する必要があります。

  1. もし「 開発 」タブがリボンに表示されていない場合、「 開発 」タブを以下のように有効にできます。
    1. Excel 2010以降のバージョンでは、「ファイル」>「オプション」をクリックします。「Excelのオプション」ダイアログボックスで、左ペインの「リボンのユーザー設定」をクリックします。「リボンのユーザー設定」リストボックスで、「開発」ボックスをチェックし、「OK」ボタンをクリックします。スクリーンショットをご覧ください:
      steps to enable the Developer tab
    2. Excel 2007では、「Office」ボタン>「Excelのオプション」をクリックします。 「Excelのオプション」ダイアログボックスで、左ペインの「全般」をクリックし、「リボンに開発タブを表示する」ボックスをチェックし、最後に「OK」ボタンをクリックします。
      steps to enable the Developer tab in Excel 2007
  2. 「開発」タブが表示されたら、「開発」「挿入」「コンボボックス」をクリックします。
     click Developer > Insert > Combo box
  3. ワークシートにコンボボックスを描画し、右クリックして右クリックメニューから「プロパティ」を選択します。
    Draw a Combo box, right click it and then select Properties
  4. プロパティ 」ダイアログボックスで、次の操作を行う必要があります。
    1. AutoWordSelectフィールドで「False」を選択します;
    2. LinkedCellフィールドでセルを指定します。この場合、A12を入力します;
    3. MatchEntryフィールドで「2-fmMatchEntryNone」を選択します;
    4. ListFillRangeフィールドに「DropDownList」と入力します;
    5. 「プロパティ」ダイアログボックスを閉じます。スクリーンショットをご覧ください:
      set options in the Properties dialog box
  5. 「開発」「デザインモード」をクリックしてデザインモードをオフにします。
  6. 空白のセル(例:C2)を選択し、以下の数式を入力してEnterキーを押します。 Enterその後、オートフィルハンドルをC9までドラッグして、同じ数式でセルを自動入力します。スクリーンショットをご覧ください:
    =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
    apply a formula
    注意:
    1. $A$12は、ステップ4でLinkedCellとして指定したセルです;
    2. 上記の手順を終了すると、テストが可能です:コンボボックスに文字「C」を入力すると、文字「C」を含むセルを参照する数式セルが数字1で埋められていることが確認できます。
  7. セルD2を選択し、以下の数式を入力してEnterキーを押します。 Enterその後、オートフィルハンドルをD9までドラッグします。
    =IF(C2=1,COUNTIF($C$2:C2,1),"")
    apply another formula
  8. セルE2を選択し、以下の数式を入力してEnterキーを押します。 Enterその後、オートフィルハンドルをE9までドラッグして同じ数式を適用します。
    =IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")
    apply the third formula
  9. 次に名前範囲を作成する必要があります。「数式」>「名前の定義」をクリックします。
    click Formula > Define Name
  10. 新しい名前 」ダイアログボックスで、「 DropDownList 」を「 名前 」ボックスに入力し、以下の数式を「 参照先 」ボックスに入力して、「 OK 」ボタンをクリックします。
    =$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)
    
    specify options in the New Name dialog box
  11. 次に、「開発」>「デザインモード」をクリックしてデザインモードをオンにします。その後、コンボボックスをダブルクリックしてMicrosoft Visual Basic for Applicationsウィンドウを開きます。
  12. 以下のVBAコードをコピーしてコードエディターに貼り付けます。
    Copy and paste the VBA code below into the Code editor
    VBAコード:ドロップダウンリストを検索可能にする
    Private Sub ComboBox1_GotFocus()
    	ComboBox1.ListFillRange = "DropDownList"
    	Me.ComboBox1.DropDown
    End Sub
  13. Alt + Qキーを押してMicrosoft Visual Basic for Applicationsウィンドウを閉じます。

これで、コンボボックスに文字を入力すると、あいまい検索を行い、関連する値をリストに表示します。

drop down list can search

注意:今後の使用のためにVBAコードを保持するには、このワークブックをExcelマクロ有効ブックファイルとして保存する必要があります。

最高のOffice生産性ツール

Kutools for Excel - あなたを群衆から際立たせるツール

🤖 Kutools AI アシスタント: 次の要素に基づいてデータ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データの分析とチャートの生成  |  Kutools 拡張機能の呼び出し
人気の機能重複の検索、ハイライト、または識別  |  空白行の削除  |  データを失うことなく列やセルを結合  |  数式なしで丸める ...
スーパーフィルター複数条件  |  複数値  |  複数シート間  |  ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト  |  依存するドロップダウンリスト  |  複数選択可能なドロップダウンリスト...
列マネージャー特定の数の列を追加  |  列の移動  |  非表示列の可視性ステータスの切り替え  列を比較して同じおよび異なるセルを選択 ...
注目機能グリッドフォーカス  |  デザインビュー  |  強化された数式バー  |  ワークブックとシートの管理 | オートテキスト ライブラリ (Auto Text)  |  日付ピッカー  |  データの統合  |  セルの暗号化/復号化  |  リストによるメール送信  |  スーパーフィルター  |  特殊フィルタ(太字/斜体/取り消し線のフィルタリング...) ...
トップ15のツールセット12 のテキストツールテキストの追加特定の文字を削除 ...)  |  50 以上 のグラフタイプガントチャート ...)  |  40 以上の実用的な数式誕生日に基づいて年齢を計算 ...)  |  19 の挿入ツールQRコードの挿入パスからの画像挿入 ...)  |  12 の変換ツール単語に変換する通貨変換 ...)  |  7 つの結合と分割ツール高度な行のマージExcelセルの分割 ...)  |  ... さらに

Kutools for Excelは300以上の機能を誇り、必要なものがワンクリックで手に入ります...


Office Tab - Microsoft Office(Excel含む)でのタブ形式の閲覧と編集を有効にする

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス手にさよならを告げる。
  • 複数の文書を閲覧・編集する際に、生産性が50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。