• 公開日:
  • 更新日:

エクセルのプルダウンで絞り込み検索を行う方法

この記事では、エクセルのプルダウンで絞り込み検索を行う方法をご紹介します。

例えば1つ目のプルダウンで支部を選択すると、2つ目のプルダウンの選択肢を支部に該当する支店名のみに絞り込むといったような使い方ができます。

プルダウンの選択肢のリストが多すぎて項目を探すのが大変な場合等にお役立て下さい。

エクセルのプルダウンで絞り込み検索を行う方法

今回はエクセルで会員申込書を作成した場合を例にあげて、1つ目のプルダウンで東日本か西日本のどちらかを選択することによって、2つ目のプルダウンの選択肢が東日本/西日本それぞれの支店名のみに絞り込まれるように設定します。

上の画像のような表を作成します。これからG3セルのプルダウンで東日本/西日本のどちらかを選択すると、H3セルのプルダウンの選択肢として対応する支店名のみが表示されるように設定します。J列とK列には支店リストを入力し、M列とN列は作業列として確保しておきましょう。

まずは支店リストをテーブル化します。支店リストのセル範囲(例:J2セルからK10セル)、挿入タブ、「テーブル」の順に選択します。

「テーブルの作成」ダイアログボックスが表示されます。「先頭行をテーブルの見出しとして使用する」にチェックマークを入れてOKボタンを押します。

これで支店リストのセル範囲をテーブル化できました。次に名前の定義を行います。テーブル化した支店リスト、数式タブ、「選択範囲から作成」の順に選択します。

「選択範囲から名前を作成」ダイアログボックスが表示されます。今回は支店リストの上端行が見出しになるため「上端行」にチェックマークを入れてOKボタンを押します。

するとテーブル化した支店リストのJ3セルからJ10セルまでに「支店」、K3セルからK10セルまでに「支店名」という名前が定義されます。次に、作業列に関数を入力します。M3セルを選択し、「=UNIQUE(支部)」と入力してEnterを押します。UNIQUE関数はリストの中から重複するものを除いた項目を抽出する関数です。今回はJ列の支部から重複しない値を抽出するように設定しています。引数の中の「支部」はJ3セルからJ10セルを選択すれば自動的に入力されます。

これでM列にJ列のリストから重複しないものを除いた項目(例:東日本と西日本)を抽出することができました。次にN3セルを選択し「=UNIQUE(FILTER(支店名,支部=G3))」と入力してEnterを押します。FILTER関数は指定した条件にあったデータを抽出する関数で、今回はK列の中でG3セルで選択した支部に対応する支店名を抽出するように設定しています。

これでデータを抽出する準備が完了しました。次にG3セルとH3セルにプルダウンを設定します。まずはG3セルに設定します。G3セル、データタブ、「データの入力規則」の順に選択します。

「データの入力規則」ダイアログボックスが表示されます。「入力値の種類」でリストを選択し、「元の値」に=$M$3#と入力してOKボタンを押します。M列で抽出した項目すべてを表示するという意味です。#(ハッシュ記号)を末尾につけることでUNIQUE関数で抽出したM列の項目をすべてを指定できます。

これでG3セルにプルダウンが設定できました。G3セルの三角ボタンを押すと東日本と西日本の選択肢が表示されました。一旦「東日本」を選択しておきます。

次にH3セルにプルダウンを設定します。H3セル、データタブ、「データの入力規則」の順に選択します。

「データの入力規則」ダイアログボックスが表示されます。「入力値の種類」でリストを選択し、「元の値」に=$N$3#と入力してOKボタンを押します。N列で抽出した項目すべてを表示するという意味です。#(ハッシュ記号)を末尾につけることでUNIQUE関数とFILTER関数で抽出したN列の項目をすべてを指定できます。

これでG3セルのプルダウンに対応してH3セルのプルダウンの選択肢が変化するように設定できました。H3セルの三角ボタンを押すとG3セルで選択した「東日本」に対応する支店名のみが表示されています。

試しに、G3セルで西日本を選択してみましょう。

H3セルの三角ボタンを押すと、G3セルで選択した西日本に対応する選択肢のみに変わっています。これでプルダウンで絞り込み検索を行う設定が完了しました。