【Excel】プルダウンリストに追加した項目を自動反映する方法

  • URLをコピーしました!

プルダウンの参照元のリストをシート上に作成しているとき、通常のセル範囲を指定しているだけでは、元リストの一番下に項目を追記しても、プルダウンリストには反映されません。これは、プルダウンの参照先の範囲が自動的に広がらないためです。

なお、この記事で紹介する「自動反映」とは、プルダウンリストの元リストに新しい項目を追加したとき、プルダウンのリストにも自動で反映される仕組みのことです。

目次

自動的にリストの範囲を変更する仕組みにする

自動的にリストの範囲を変更する仕組みは主に2通りあります。

1つ目は「テーブル」と「INDIRECT関数」を併用する方法で、少し慣れが必要な「INDIRECT関数」を使用します。
INDIRECT関数は、文字列として入力したセルの番地や範囲名を、実際の参照として扱うための関数です。今回は、テーブルの列を表す文字列をINDIRECT関数で参照に変換し、入力規則のリストとして使用します。

2つ目は「テーブル」と「名前の定義」を併用する方法で、Excelに慣れていない方には少しなじみの薄い「名前の定義」を使用します。テーブルの列を名前の定義で指定します。

こだわりがない場合は、「テーブル」と「INDIRECT関数」を併用する方法がおすすめです。

方法1.「テーブル」と「INDIRECT関数」を併用する

「テーブル」と「INDIRECT関数」を使用する方法です。
入力規則の元の値へ、INDIRECT関数の引数に作成したテーブル名とテーブルの列名を指定します。
『=INDIRECT("テーブル名[列名(見出し名)]")』となります。

STEP
参照先のリストの範囲から背景色や罫線を削除する

シート上にあるプルダウンの参照先のリストの背景色や罫線などの装飾を削除します。
※この操作(このSTEP)は必須ではありませんが、行わないと完成後の見栄えが悪くなります。

シート:参照先のリストの背景色などの装飾を削除する
STEP
「テーブル」の範囲を選択する

プルダウンのリストに表示したい参照先の項目を見出し(列名)を含めて、選択します。

シート:参照先のリストを見出しも含めて選択する
STEP
「テーブル」の書式を設定する

[ホーム]タブの[テーブルとして書式設定]をクリックします。
表示されたサンプルから好きな書式のテーブルを選択してください。

リボン:[ホーム]タブにある[テーブルとして書式設定]の場所
STEP
「テーブル」を作成する

「先頭行をテーブルの見出しとして使用する」にチェックを入れて、「OK」ボタンをクリックします。

[テーブルの作成]ダイアログ:操作説明
STEP
テーブル名を確認する

テーブルを作成すると自動的に[テーブルデザイン]タブに移動します。
左上にテーブル名が表示されているので、覚えておきます。
余談ですが、この欄からテーブル名を変更することもできます。

リボン:[テーブルデザイン]タブにある[テーブル名]の場所
STEP
[データの入力規則]ダイアログを表示する

[データ]タブから[データの入力規則]ダイアログを表示します。

リボン:[データ]タブにある[データの入力規則]の場所
STEP
入力値の種類をリストへ変更する

入力値の種類を[すべての値]から[リスト]に変更してください。

[データの入力規則]ダイアログ:[入力値の種類]の操作手順
STEP
データの入力規則に表示する参照元のリストを指定する

元の値に『=INDIRECT("テーブル名[テーブルの列名(見出し)]")』と入力します。
下の画像のサンプルは、テーブル名:テーブル1、テーブルの列名(見出し):商品名 です。
この場合、「=INDIRECT("テーブル1[商品名]")」となります。

[データの入力規則]ダイアログ:[元の値]への入力の操作手順
STEP
プルダウンの設定を確定する

OKボタンをクリックして、プルダウンの設定を確定します。
これで、参照元のリストの末尾に追加しても自動的に範囲が広がります。

[データの入力規則]ダイアログ:[OK]ボタンの場所を示した画像


方法2.「テーブル」と「名前の定義」を併用する

「テーブル」と「名前の定義」を使用する方法です
それぞれ設定するため、手順が多くなります。

STEP
リストの範囲から背景色や罫線を削除する

シート上にあるプルダウンの参照元のリストから背景色や罫線などの装飾を削除します。
※この操作(このSTEP)は必須ではありませんが、行わないと完成後の見栄えが悪くなります。

シート:参照先のリストの背景色などの装飾を削除する
STEP
「テーブル」の範囲を選択する

プルダウンの参照元のリストに表示したい項目のデータを見出しを含めて、選択します。

シート:参照先のリストを見出しも含めて選択する
STEP
「テーブル」の書式を設定する

[ホーム]タブの[テーブルとして書式設定]をクリックします。
表示されたサンプルから好きな書式のテーブルを選択してください。

リボン:[ホーム]タブにある[テーブルとして書式設定]の場所
STEP
「テーブル」を作成する

「先頭行をテーブルの見出しとして使用する」にチェックを入れて、「OK」ボタンをクリックします。

STEP
「名前を定義」の範囲を選択する

プルダウンの参照元のリストに表示したい項目を見出し(列名)を含めず、データ部分のみ選択します。

STEP
「名前を定義」をする

数式バーの左側にある「名前ボックス」に範囲の名前を入力して、Enterキーで確定します。
※ この範囲の名前は、後で使用します。
注意点として、名前の定義で付けた名前は、ブック内で重複して名前を付けることはできません。例えば、セルA2~A5の名前を"商品名"としている場合、セルB2~B5の名前を"商品名"とすることはできません。シートが異なる場合でも重複できません。
このため、入力規則を複数設定する場合は名前が重複しないようにして下さい。

STEP
[データの入力規則]ダイアログを表示する

[データ]タブから[データの入力規則]ダイアログを表示します。

リボン:[データ]タブにある[データの入力規則]の場所
STEP
入力値の種類をリストへ変更する

入力値の種類を[すべての値]から[リスト]に変更してください。

[データの入力規則]ダイアログ:[入力値の種類]の操作手順
STEP
データの入力規則に表示する参照元のリストを指定する

元の値へ「半角イコール + STEP6で設定した名前」を入力します。
例えば、STEP6で「R_商品名」と設定した場合、元の値には『=R_商品名』と入力します。

[データの入力規則]ダイアログ:[元の値]の場所を示した画像
STEP
プルダウンの設定を確定する

OKボタンをクリックして、プルダウンの設定を確定します。
これで、参照元のリストの末尾に追加しても自動的に範囲が広がります。

[データの入力規則]ダイアログ:[OK]ボタンの場所を示した画像

うまく自動反映されない場合は、[数式]タブの[名前の管理]から、名前の参照範囲がテーブルの列を参照しているか確認してください。

まとめ

プルダウンリストに追加した項目を自動反映する方法として、「テーブル」と「名前の定義」を併用する方法と、「テーブル」と「INDIRECT関数」を併用する方法を紹介しました。どちらの方法でも、元リストをテーブル化しておくことがポイントです。

最後に補足ですが、新しい項目を追加するときは、テーブルのすぐ下の行に入力してください。空白行を空けて入力すると、テーブルの範囲に含まれず、プルダウンに反映されない場合があります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

元・エクセル迷子。関数やグラフに頭を抱えつつ、地道に勉強してきました。
今では「むずかしいを、やさしく」にこだわって、初心者さん向けにExcelのコツを発信中。
「なんか分かるかも!」って思える瞬間を一緒に楽しみましょう♪

目次