名前の定義でドロップダウンリストを作る方法

この記事を読むのに必要な時間は約 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はそのままにしてください。

 

何度も名前の定義を変更する手間が省けて効率が良くなると思います。

 

ぜひ試してみてくださいね。

 

最後までお読みいただき、ありがとうございました。

 

「名前の定義」を使わない場合のプルダウンリストを作る方法はこちらの記事で紹介しています。

【Excel】エクセルでプルダウンリストを作る方法