リストを編集したら自動的にリストボックスの項目が修正されるリストボックス(Excel)

ホーム>リストを編集したら自動的にリストボックスの項目が修正されるリストボックス(Excel)

この情報はお役に立ちましたか?よろしければ皆様にもお知らせください。

  このエントリーをはてなブックマークに追加 mixiチェック  

Excelでセルに、プルダウンのリストボックスを設定して入力できるようにした場合、後からリストの項目を追加・削除すると、再度セルに設定しなおさなければならないのは非常に不便です。

そこで、リスト項目を追加・削除したら、それが即座にプルダウンリストに反映されるようにする方法を調べました。

リスト項目をつくる

プルダウンリストボックスに表示させるリストを作ります。

これはわかりやすいように、別のシートに作ります。

まず、Excelにリストを入力するためのシートを用意します。ここでは、仮にSheet2をリスト用に使います。

Sheet2に、リスト用の項目を縦に一列に入力していきます。

リスト用の項目を縦に入力

▲リスト用の項目を縦に入力

次に、入力したリスト項目の一番上のセルを選択した状態で、[挿入]->[名前]->[定義]をクリックして、「名前の定義」ダイアログボックスを開きます。

名前の定義を開く

「名前の定義」ダイアログボックスで、[名前]を「選択肢」と入力します。

[参照範囲]は、以下のように入力します。

=OFFSET( Sheet2!$B$1 ,,, COUNTA( Sheet2!$B:$B ), 1)

Sheet2はリスト用に使っているシート名です。
$B$1は、リストの一番上の項目のあるセル番号です。
$B:$Bは、リストの入力されている列番号です。

名前の定義にコードを設定

なお、上の例ではリストの先頭が一番上(行番号1)のセルですが、一番上にリスト名を入力して、リストの項目を2行目から入力する場合には、以下のように参照範囲のコードを修正してください。

=OFFSET( Sheet2!$B$1 ,,, COUNTA( Sheet2!$B:$B ) -1, 1)

COUNTA( Sheet2!B$:$B )の後に「-1」を追加しています。
この数は、リストの項目に含まれない、空白以外のセルの数になります。例えば、1~2行目に文字列や数値が入力されていて、3行目からリスト項目が始まる場合には「-2」となります。また、1行目~2行目は空白のセルで、3行目からリスト項目が始まる場合には、「0」です。

名前の定義(2行目からリスト項目をはじめる場合)

セルにリストを指定する

リストボックスを設定したいシート(ここではSheet1)を開きます。

[データ]->[入力規則]を開きます。

入力規則を開く

「データの入力規則」ダイアログボックスでは、「入力値の種類」を[リスト]に指定します。また、「元の値」に「=選択肢」と入力します。
ここで指定した「選択肢」とは、先ほど設定した名前の定義の「選択肢」です。[OK]をクリックします。

データの入力規則の設定

設定したセルに▼マークが表示され、プルダウンリストから選択できるようになります。

また、Sheet2のリスト項目を追加・削除すると、それが即座にプルダウンリストに反映されるようになります。

関連リンク

よく読まれている記事

UpDate:2011-9-30