関数 その他小技 EXCEL&VBA

エクセルのドロップダウンリストの項目追加|リスト範囲を可変型に!

今回は ドロップダウンリスト のメンテナンスに関するトピックです。

リストに選択肢として表示される項目を エクセルのシート上に登録している場合、項目を追加するとその行数分だけ「リストの範囲」を広げる必要があります。

その二度手間を回避するには、あらかじめリスト範囲を「可変型」(自動拡張型) にしておくと便利です。



リストの項目を追加する

下のサンプルはアンケートで「好きな科目」を回答者にリストから選択してもらうケースです。


▲リストの項目は、わかりやすくD列に配置
※実際には解答欄に近い場所には設置しないと思いますが (笑)

入力規則

この記事をご覧のかたは、どこでリストを設定するかはすでにご存知だと思います。

メニューの「データ」タブの「データツール」セクションにある「入力規則」を開き、[入力値の種類(A)] を「リスト」に、[元の値(S)] にリストのセル範囲を指定します。

リストの範囲は通常は下のように「セル範囲」を指定しています。


▲セルD2からD4の範囲が設定されている

ところが このようなリストの範囲指定だと、リストの項目を追加するたびに「範囲の書き替え」作業が発生してしまいます。
これではNGなのです。

OFFSET関数とCOUNTA関数を利用する

リスト範囲を「可変型」にして、項目がD列に追加されるとリスト範囲を自動で拡張されるように設定します。

ここで便利なのが、当サイトではお馴染みの OFFSET関数 です。

以前は 印刷範囲を可変型にする ために OFFSET関数 の使い方を紹介 しましたが、要領は同じです。

リストの範囲を指定する欄に、以下の OFFSET関数COUNTA関数 を組み合わせた数式を入力します。

OFFSET ( $D$2, 0, 0, COUNTA(D:D)-1, 1 )

OFFSET関数の書式は;

OFFSET ( 参照, 行数, 列数, [高さ], [幅] )

で「高さ」の部分に COUNTA関数 を使うことで、D列に項目が追加されるとその分だけリスト範囲(高さ)が自動的に広がります。

設定が完了した状態で、項目追加の前後の動きを確認します。

【追加前】

▲リストには3教科が表示

D列に 理科と社会 を追加する

【追加後】

▲リストにも理科と社会が自動で追加されている!

以上で『エクセルのドロップダウンリストの項目追加|リスト範囲を可変型にする』は終了。

その他の関連記事とあわせて仕事や趣味に役立ててください。

関連記事・広告

 






-関数, その他小技, EXCEL&VBA
-, ,