Excelでセルに値を入力させたいとき、ドロップダウンリストを使うことがありますね。
このドロップダウンリストに選択肢を設定するのですが、この選択肢が自動的に追加・削除できると便利です。
この記事では、リストの選択肢を自動的に変えられる入力規則の設定方法を紹介します。
自動的にリスト追加されてほしいユースケース
例えば、セルA2にデータを入力する場合、リストを使って項目を選択させたいとします。
これはデータの入力規則機能を使えば実現できますね。
このとき、リストの選択肢はメンテナンスしやすいように都道府県マスターという表を作ることにします。
この表を更新することでA2のドロップダウンリストの選択肢も連動して変わってほしいという目論見です。

さて、リストから選択できる都道府県を追加したい場面になりました。
「福岡」の下に「佐賀」を増やすとしましょう。
このとき、あなたはリストの選択肢も自動的に「佐賀」が増えるという期待を持っています。
ところが、実際には都道府県マスターをメンテナンスしても、リストの選択肢には反映されません。

何が悪かったのでしょう?そして、この問題を解決するにはどうしたらいいのでしょうか?
Excelでリスト追加・削除を自動化する方法
結論から言うと、Excelのテーブルと名前の定義を使って解決できます。
- Excelの「テーブル」を使う
- このテーブルを参照できる名前を定義して、リストにその名前を設定する

Excelのテーブル機能を使っている人が意外と少ないという印象があります。うまく使えばとても便利な機能なので、ぜひ積極的に使ってほしいですね。
問題の解決方法の具体的な設定手順を説明していきます。
まずは、手順の全体像を確認しましょう。
- マスターテーブルをExcelの「テーブル」で作る
- 名前を定義する
- 入力規則でドロップダウンリストを設定する
[STEP1]マスターテーブルをExcelの「テーブル」で作る
- 1リストの選択肢となるデータを一覧化しておき、そのデータ範囲を選択する
- 2「挿入」メニューから「テーブル」をクリックする
- 3「先頭行をテーブルの見出しとして使用する」にチェックを入れてOKボタンをクリックする
- 4テーブル名に任意の名前を入力する(この例では「都道府県マスター」と設定した)

マスターテーブルに名前を付けるときは、いつも最後に「マスター」と入れています。上の例の「都道府県マスター」みたいな感じで。新しく付ける名前が何の名前なのかがわかるようなキーワードを入れておくことをオススメします。
[STEP2]名前を定義する
- 1「数式」メニューから「名前の定義」をクリックする
- 2名前の新規作成ダイアログで「参照範囲」にSTEP1で作成したテーブル名を入力してOKボタンをクリックする
「名前」は任意の名称を付ける(この例では「都道府県」とした)
[STEP3]入力規則でドロップダウンリストを設定する
- 1リスト入力にしたいセルを選択し、「データ」メニューから「データの入力規則」をクリックする
- 2入力値の種類は「リスト」を選択し、元の値にSTEP2で作成した名前を設定する
以上で設定は終わりです。
これで下図D列のマスターテーブルに「佐賀」を追加したら、リスト入力項目に自動で反映されるようになります。

まとめ
- Excelでリスト追加・削除を自動化するためには、マスターテーブルを「テーブル」で作る
- そのテーブルを参照する名前も定義しておく
テーブル機能は、上手に使えばExcelの使い勝手がよくなるのですが、あまり使われていないイメージです。
また機会があればテーブルを使った例を紹介したいなと思います。
コメント