【サンプルあり】エクセルの入力規則でリストの数を自動で追加する方法

Excel

エクセルのドロップダウンリストはとっても便利だけど、選択項目を増やしたいときには設定し直さなきゃいけないので不便だなぁ。項目を増やしたら自動でドロップダウンリストにも追加する方法って無いの?できればあまり難しいことはしたくないからサンプルファイルもダウンロードできたら嬉しいな

エクセルでドロップダウンリストにリスト項目を追加するときには、リストの選択範囲を設定し直す必要があります。正直言ってかなり効率が悪いです。

この記事の方法を使えば、リスト項目を増やしてもドロップダウンリストの選択範囲を自動で拡張できるので、お仕事の効率がアップします。

手っ取り早く動作を確認したい方のために、サンプルファイルをご用意しました。
※googleドライブが開きます

この記事の内容

  • ドロップダウンリストの選択範囲をOFFSET関数で指定する
  • 列だけ指定しても一応できる
  • 名前の定義でも使える

ドロップダウンリストの選択範囲をOFFSET関数で指定する

さっそくやり方を解説していきます。

まずはドロップダウンリストの設定を開きます。ここはいつも通りですね。
[データ]タブ ― [データの入力規則]

表示されたメニューの中の[データの入力規則]ボタンをクリックします。

[入力値の種類]で「リスト」を選択します。

ここがポイントです。

[元の値]には、リストの項目名 or 項目名が入力されたセル範囲を入れますが、セル範囲を後から自動で拡張するには、以下の関数をコピペします。
=OFFSET(C1,0,0,COUNTA(C:C),1)

普段見慣れない関数かと思いますが、とりあえず[元の値]にコピペしましょう。

環境に合わせて、以下の2箇所を書き換えましょう。

=OFFSET(C1,0,0,COUNTA(C:C),1)

①リスト項目が入力されているセル範囲の開始セル
図の場合、C1からリスト項目がスタートしています。

②リスト項目が入力されている列
図の場合は、C列にリスト項目が入力されています。
:コロン記号を使って[列:列]のように入力すると、列を指定できます

これで準備は整いました。実際に動作をチェックしてみましょう。

リストに項目が自動で追加されるかチェック

初期状態では3つの項目があるので、リストには3つ表示されています。

ここに2つ項目を追加してみます。

もう一度リストを開いてみると、追加した2つの項目が自動でリストに追加されているのが分かると思います。

ドロップダウンリストの設定で、項目のセル範囲は変えていません。

よって、あとから追加した2つの項目分だけ、リスト範囲が自動で広がったことになります。

列だけ指定しても一応できる

ちなみに関数を使わずに、シンプルに列だけ指定しても、同じようなことはできます。ただこの場合は、列全体がリスト項目の対象になるので、あまりスマートではありません。

できるだけ関数を使う方が、あとでトラブルが起きにくくなります。

名前の定義でも使える

このテクニックは、[名前の定義]でも使えます。
項目数が可変の場合にも、楽に対応できるかと思います。

[名前の定義]とは、特定のセル範囲に名前をつけて管理できる機能です。
気になる方は、[エクセル 名前の定義]でググってみてください。

まとめ

OFFSET関数を使うと、ドロップダウンリストや名前の定義の選択範囲をカンタンに拡張できます。
リストの項目を削除した場合には、ドロップダウンリストに空白が表示されることがあります。この場合は、上書き保存をすれば大丈夫です。

エクセルの入力規則で、ドロップダウンリストを使うときには、ぜひ活用してみてください。