この記事を読むのに必要な時間は約 6 分です。
名前の定義でドロップダウンリスト作るとき、困ったことは無いでしょうか?
選択肢が増えたり減ったりすると、リストに空白が出来てしまうんですよね・・・。
そんな空白に悩まされない、ドロップダウンリストの作り方を紹介します!!
目次(リンク)
「名前の定義」の使い方
まずは「名前の定義」の使い方から。
そんなのもう知ってるよと言う方は、読み飛ばして後半をご覧ください。
今回は、「一覧」シートのデータを名前の定義に登録して、一覧からおすすめのモノを選択できるようにしたいと思います。
ドロップダウンリストに表示する候補を用意しておきます。
候補をすべて選択して、数式タブの「選択範囲から作成」または「名前の定義」をクリックします。
「上端行」を選択すれば、最初の行がこのリストの名前になります。
上端行の値(「@」など禁則文字は「_」に置換される)で名前が登録されました。
登録された名前は「名前の管理」で確認できます。
この名前をドロップダウンリストで使うため、「名前の管理」⇒「編集」から、値をコピーしておいてください。
名前の定義を使ってドロップダウンリストを作る
ドロップダウンリストを適用したい範囲を選択し、「データ」タブの「データの入力規則」を選択です。
「すべての値」から「リスト」に変更します。
「元の値」という入力項目が現れたのが分かりますでしょうか。
この項目へ、「=」に続けて、先ほどコピーしておいた名前を貼り付けます。
先ほどまでは無かった、リストの「▼」マークが表示されました。
「▼」をクリックするとリストが表示されます。
ちなみに、ショートカットキーはAlt + 矢印キーの下です。
とりあえず、個人的なおすすめを5つ選んでみました。
作成した名前の定義に、選択肢を追加する
リストの選択肢を後から追加したくなることってありますよね。
こんな風に追加したいわけです。
一番簡単な方法は、参照範囲を変更することです。
最初から範囲を広く取っておけばいいんじゃないか!?
と思うかもしれませんが、そんなことをすると空白の選択肢が出来てしまいます。
ドロップダウンリストの最後に空白を入れない方法
そこで、ドロップダウンリストの最後に空白を入れないために、数式を使用します。
新規作成から、列Cにコピペした一覧を名前にして、参照範囲に次の数式を入れます。
=一覧!$C$3:INDEX(一覧!$C$1:$C$50,MAX((一覧!$C$1:$C$50<>””)*ROW(一覧!$C$1:$C$50)))
注意点:
- 全体的に、$Cは任意の列でOKです。
- 「$C$1:$C$50」のところ、50は任意に変更OKです。
- 1はそのままにしてください。
新しく名前が登録されました。
新たに範囲を指定して、データの入力規則を使います。
「元の値」のところには、先ほどの名前を入れます。
選択肢を追加していない状態で、最終行まで表示され、空白無しです。
では選択肢を追加してみます。
追加した選択肢も、ちゃんと表示されました!!
逆に、選択肢を削ったらどうなるか・・・。
データが残っている最終行まで表示され、これも空白無しです。
まとめ:名前の定義を使った、空白が無いリストの作り方
名前の定義を使った、空白無しのリストを作る方法でした。
参照範囲に下記のような数式を使えば、選択肢を動的に切り替えてくれます。
参照範囲に入力する数式の例:
- =一覧!$C$3:INDEX(一覧!$C$1:$C$50,MAX((一覧!$C$1:$C$50<>””)*ROW(一覧!$C$1:$C$50)))
- 全体的に、$Cは任意の列でOKです。
- 「C$1:$C$50」のところ、50は任意に変更OKです。
- 1はそのままにしてください。
何度も名前の定義を変更する手間が省けて効率が良くなると思います。
ぜひ試してみてくださいね。
最後までお読みいただき、ありがとうございました。
「名前の定義」を使わない場合のプルダウンリストを作る方法はこちらの記事で紹介しています。