ドロップダウン リストの項目数が多くなってきたり、項目をいくつかのカテゴリーに分類できたりするときは、セルに格納されている文字列によって表示項目を切り替えられるようにするとよいでしょう。

下図では、セル B1 に「Excel」と格納されているときと、「Word」と格納されているときで、セル B2 のドロップダウン リストに表示される項目に違いがあります。このように切り替えられるように設定してみます。

準備 1:テーブルの作成

ドロップダウン リストに表示する項目をまとめたテーブルを用意します。テーブルに変換せずにセル範囲のままでもかまいませんが、ドロップダウン リストの項目が増えることが想定されるのならテーブルにしておいたほうがよいでしょう。

ここでは、Excel のドロップダウン リストに表示する項目と [No] 列を用意した「Excel_Table」という名前のテーブルと、Word の項目をまとめた「Word_Table」という名前のテーブルを用意しています。今回は [No] 列も用意していますが、ドロップダウン リストに表示する項目を列挙した 1 列だけのテーブルでもよいです。

なお、今回はドロップダウン リストを作成するセルと同じワークシートにテーブルを配置していますが、これは画像をコンパクトにするため。実務では、テーブルはほかのワークシートに配置することのほうが多いでしょう。どちらでも構いません。

準備 2:名前の定義

ここでは、セル B1 に「Excel」または「Word」が格納され、これをキーワードとしてリストを切り替えます。

たとえば、セル B1 が「Excel」のときは「Excel_Table」の [項目] 列 (見出しは含まない) の内容をドロップダウン リストに表示したいです。よって、セル B1 に格納されている「どちらのリストを使うか」の文字列と一致するように、Excel / Word それぞれの項目のセル範囲に名前を付けます。

セル範囲への名前の定義 (名前をつける操作) は、セル範囲を選択して名前ボックスに定義したい名前 (「Excel」 または「Word」) を入力して [Enter] キーで確定して行えます。もちろん [名前の定義] ダイアログ ボックスから定義してもよいです。

ここまでの準備で、テーブルやセル範囲に名前が定義されています。

ドロップダウン リストの設定

データの入力規則を使ってドロップダウン リストを設定します。

切り替えのキーワードとなる文字列 (ここでは 「Excel」) はいれておいたほうが動作確認をしやすいです。

  1. ドロップダウン リストを設定するセルを選択して、リボンの [データ] タブの [データ ツール] グループの [データの入力規則] をクリックします。
  1. [データの入力規則] ダイアログ ボックスの [入力値の種類] で「リスト」を選択し、[元の値] に「=INDIRECT(キーワードのセル)」となるように数式を入力して [OK] をクリックします。
     
     ここではキーワードが入っているのがセル B1 なので「=INDIRECT(B1)」としています。
     INDIRECT 関数を使って、「セル B1 の文字列を "名前" として使って、その名前の範囲を参照してね」と訳してもらっていると考えるといいでしょう。
  1. ドロップダウン リストが設定されます。キーワードを変更するとリストに表示される項目が切り替わることが確認できます。
     
     そのとき指定されている名前の範囲をドロップダウン リストに表示している、ということです。

おまけ

キーワードのセルもドロップダウン リストにしておくと入力ミスも減らせるし、2 つのリストを連動させているような仕組みにできます。

ドロップダウン リストに表示する項目の数が少なく、ここでしか使わない、項目数は増えることがあまりない、という場合は、セル範囲を参照せずに、直接キーワードを指定してしまってもよいでしょう。カンマで区切って指定してください。


 ドロップダウン リストの項目を絞り込みたい、という質問をいただいたのです。そういえばこちらに書いていなかったなぁ、と思い載せました。ドロップダウン リストに関しては こちら で項目の増加対応などもご紹介しているのでご覧になってみてください。

 

石田 かのこ