ドロップダウンリストについては、基本的な設定の仕方を、
でご紹介しています。
そして、基本的な設定方法以外に、ドロップダウンリストの元となるデータに、名前を定義しておくと扱いやすいよ、ということを
でご紹介しています。
ところが、ドロップダウンリストの[元の値]を、セル番地や、セルに定義した名前で設定していると、選択項目を追加したいときに、追加したいデータを入力する以外の、何かしらの修正操作が必要になります。
例えば、A2からA8番地のデータがドロップダウンリストの選択項目として表示されるよう、
G1番地に設定したい場合。
ドロップダウンリストを設定したいG1番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリック。
[設定]タブの「リスト」の設定で、[元の値]をA2からA8番地にすることで設定できます。
この設定方法がよく分からない方は、まずは焦らず「ドロップダウンリストで入力簡単!」をご覧ください。
ドロップダウンリストを設定することができました。
[▼]をクリックすると、ドロップダウンリストの選択項目は、設定したA2からA8番地のデータになっていることが分かります。
それでは設定したドロップダウンリストの、最後の選択項目「大谷 亮」をクリックで選択しておきます。
さてここで、ドロップダウンリストの元となった一覧表に、データを追加してみましょう。
ドロップダウンリストの元となった一覧表にデータを追加したことで、ドロップダウンリストの選択項目はどうなったでしょうか?
ドロップダウンリストを設定したG1番地を選択して[▼]をクリックしてみると、選択項目は増えていません。
(確認したらもう一度[▼]をクリックするか、キーボードの[Esc]キーを押すと、リストを非表示にできます。)
元となるデータの追加だけでは、リストの選択項目は増えないことが分かりました。
この場合、ドロップダウンリストの設定も変更しなければならないので、ドロップダウンリストを設定したG1番地が選択されている状態で、[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックし、
[設定]タブの「リスト」の設定で、追加した分も範囲に含まれるよう、[元の値]を設定し直す必要があります。
今度は、ドロップダウンリストの元となるデータに、名前を定義した上で、その名前を使ってドロップダウンリストを設定する場合を見てみましょう。
ドロップダウンリストの元となるデータを範囲選択し、名前を定義しておきます。
この設定方法がよく分からない方は、まずは焦らず「名前の定義でセル範囲に名前をつける」をご覧ください。
ではこの名前を使って、G2番地にドロップダウンリストを設定してみます。
ドロップダウンリストを設定したいG2番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリック。
[設定]タブの「リスト」の設定で、[元の値]に定義した名前を指定するだけ。
この時、[元の値]欄に文字カーソルを入れ、[F3]キーを押すと、簡単に名前を指定できます。
ドロップダウンリストを設定することができました。
[▼]をクリックすると、ドロップダウンリストの選択項目は、設定した名前が付いている範囲のデータになっていることが分かります。
それでは設定したドロップダウンリストの、最後の選択項目「成沢 凌」をクリックで選択しておきます。
さてここで、ドロップダウンリストの元となった一覧表に、データを追加してみましょう。
ドロップダウンリストの元となった一覧表にデータを追加したことで、ドロップダウンリストの選択項目はどうなったでしょうか?
ドロップダウンリストを設定したG2番地を選択して[▼]をクリックしてみると、選択項目は増えていません。
(確認したらもう一度[▼]をクリックするか、キーボードの[Esc]キーを押すと、リストを非表示にできます。)
これもまた、元となるデータの追加だけでは、リストの選択項目を増やすことはできません。
そうか、先ほどと同じように、ドロップダウンリストの設定も変更しなければならないのかと、[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックし、
[設定]タブの「リスト」の設定を確認してみると、今回の設定では、「ドロップダウンリストの選択項目には、この名前が付いている範囲を使っていますよ」という設定になっているため、ドロップダウンリストの設定は直しようがありません。
ドロップダウンリストの設定に使われている、定義された名前の範囲を修正しなければならないので、[数式]タブ、[定義された名前]グループの[名前の管理]ボタンをクリックし、
追加したデータも範囲に含まれるよう、定義された名前の範囲を修正します。
このように、どちらの方法でドロップダウンリストを設定していたとしても、元となるデータの追加だけでは、リストの選択項目を増やすことはできません。
元となるデータを追加する以外に、もう1つの手間が必要になってしまいます。
でも、このもう1つの手間をなんとか無くしたい!
そこでご紹介するのが、ドロップダウンリストの元データとしてテーブルを使う方法。
ただし、単にテーブルを元データとして使うのではなく、ある1つのテクニックを加えます!
スポンサーリンク
テーブルになっていることが大前提
練習用データを操作しながらご覧いただいている方は、画面左下のシート見出しをクリックして「Sheet2」に切り替えておきます。
今回も先ほど同様、一覧表内の「氏名」データが、ドロップダウンリストの選択項目として表示されるように設定してみます。
まずはドロップダウンリストの設定うんぬんの前に準備を2連発!
準備の1つ目は、ドロップダウンリストの元データとして使いたいセルが収まっている一覧表を、一覧表丸ごとテーブルに変換します。
一覧表内ならどのセルでもいいので、どれか1つのセルを選択し、
[ホーム]タブ、
[スタイル]グループの[テーブルとして書式設定]ボタンをクリックし、
一覧から好みのものをクリックで選択します。
ちなみに、ここで表示される一覧は、操作中の文書に設定されているテーマによって変わってくるので、色が図と同じじゃなくても、気にする必要はありません。
表示されたダイアログボックスで、テーブルに変換したい範囲が正しいかを確認し、更に[先頭行をテーブルの見出しとして使用する]にチェックが付いていることを確認して、[OK]ボタンをクリックします。
一覧表をテーブルに変換することができました。
今回ご紹介する、元データの追加だけで選択項目も自動で増えるドロップダウンリストでは、そのドロップダウンリストの元データとして使いたいセルが収まっている一覧表が、テーブルになっている、ということが非常に大切なポイントなんです!
準備2つ目は名前の定義
次は準備の2つ目。
これが、テーブルを使うということ以外に加える、もう1つのテクニック。
テーブルに変換した一覧表の中で、ドロップダウンリストの選択肢として使いたいセル範囲に名前を定義します。
いやいや、だって、定義した名前をドロップダウンリストの元データとして使うと、選択肢の追加があった場合に1つ手間があるって、冒頭で言ったばっかりじゃ〜ん!ということになると思うのですが、テーブルにプラスして、そのテーブル内のドロップダウンリストの元データとして使いたい部分に、更に名前を定義するというのが今回のポイントなんです!
というわけで、ドロップダウンリストの元データとして使いたいテーブル内のセルを範囲選択します。
この時、普段どおりドラッグで範囲選択してもいいのですが、テーブルには、テーブルならではの選択方法があるので、それを使って範囲選択することにしましょう。
「氏名」列にある見出しの上端にマウスポインタを合わせ、マウスポインタが図のような黒い矢印に変わったらクリックすると、「氏名」列のデータ部分のみを範囲選択することができました。
テーブルならではの選択方法のおかげで、範囲選択したかった場所を手っ取り早く選択することができるわけです。
名前ボックスに好みの名前を入力後、文字カーソルが消えるまで[Enter]キーで入力を確定します。
名前を定義すると、普段ならその名前がこのボックスに表示されますが、今回のようにテーブルにかぶせて名前を定義した場合には、その名前が消えてしまいます。
でも、ちゃんと名前は設定されていますので、心配する必要はありません。
スポンサーリンク
ドロップダウンリストの設定
準備が終わったので、早速ドロップダウンリストの設定に入ります。
ドロップダウンリストを設定したいG1番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックします。
[設定]タブの[入力値の種類]で[リスト]を選択し、[元の値]欄でクリックして、この欄に文字カーソルを入れます。
この[元の値]欄には、ドロップダウンリストの元となるデータが何なのかを設定します。
元となるデータは、先ほど定義した名前の範囲なので、キーボードの[F3]キーをポンッと押すと、
この文書に定義された名前が一覧表示されます。
ドロップダウンリストの元データとしたい名前をクリックで選択し、[OK]ボタンをクリックすると、
[元の値]欄に選択した名前を設定することができました。
最後にダイアログボックス右下の[OK]ボタンをクリックします。
ドロップダウンリストを設定することができました!
ドロップダウンリストを設定したG1番地を選択した状態で[▼]をクリックすると、定義した名前の範囲のデータが、選択項目として表示されていることが分かります!
それでは設定したドロップダウンリストの、最後の選択項目「大谷 亮」をクリックで選択しておきます。
元となるデータを追加してみよう!
それではここで、テーブルにデータを追加してみたいと思います。
テーブルの終わりの次の行に、
追加したいデータを入力し、入力を確定するだけで、自動的にテーブル範囲が拡張します。
これは、テーブルの特徴の1つです。
テーブルにデータを追加することができました。
さて、ドロップダウンリストの元となった一覧表にデータを追加したことで、ドロップダウンリストの選択項目はどうなったでしょうか?
ドロップダウンリストを設定したG1番地を選択した状態で[▼]をクリックすると、テーブルに元となるデータを追加しただけで、特に何もしなくともドロップダウンリストの選択項目も増えていることが分かります!
スポンサーリンク
なぜテーブル+名前の2段階構造をとっているのか
テーブルには、データを追加すると、自動的にテーブル範囲が拡張する機能が最初から備わっています。
今回はその特徴を活かしてドロップダウンリストの設定に応用したわけですが、じゃぁ何で更に名前の定義も使ったのか?、テーブルを使い慣れた方などは構造化参照も名前みたいなものなんだから、それを使えばいいんじゃない?と思われた方もいらっしゃるかもしれません。
そこで、設定方法の違いでどのような結果になるのかを見ていくことにしましょう。
練習用データを操作しながらご覧いただいている方は、画面左下のシート見出しをクリックして、「Sheet3」に切り替えてください。
「Sheet3」のB列にある各セルには、
先ほどの「Sheet2」にあるテーブルから、同じように氏名がドロップダウンリストで表示されるように設定していきます。
まず、「Sheet3」のB2番地には、「Sheet2」にあるテーブルの「氏名」欄に設定した名前を使わず、セル番地を指定する方法でドロップダウンリストを設定してみます。
ドロップダウンリストを設定したいB2番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックします。
[設定]タブの[入力値の種類]で[リスト]を選択し、[元の値]欄でクリックして、この欄に文字カーソルを入れます。
今回は名前を使わず、セル番地を指定する方法で設定するので、「Sheet2」にあるテーブルの「氏名」欄を、直接 範囲選択して設定しましょう。
「Sheet2」のシート見出しをクリックし、
氏名が入力されているA2からA9番地を、普段どおりドラッグで範囲選択して指定してもいいのですが、テーブルには、テーブルならではの選択方法があるので、それを使って指定していきましょう。
「氏名」列にある見出しの上端にマウスポインタを合わせ、マウスポインタが図のような黒い矢印に変わったらクリックすると、
[元の値]欄に、範囲選択したセル番地を指定することができました。
[OK]ボタンをクリックすると、
「Sheet2」のA2からA9番地のデータが選択項目となったドロップダウンリストを設定することができました!
それでは設定したドロップダウンリストの、最後の選択項目「成沢 凌」をクリックで選択しておきます。
今度は今回のメイン技、前の章でご紹介した、テーブルにかぶせて定義した名前を使ってドロップダウンリストを設定してみます。
前準備の「一覧表をテーブルにする」と「ドロップダウンリストの元データとしたいテーブル内のセル範囲に、名前を定義する」の2つは、すでに前の章で操作が終わっていますので、早速ドロップダウンリストの設定に入ります。
ドロップダウンリストを設定したい「Sheet3」のB3番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックします。
[設定]タブの[入力値の種類]で[リスト]を選択し、[元の値]欄でクリックして、この欄に文字カーソルを入れます。
ドロップダウンリストの元となるデータは、先ほど定義した名前なので、キーボードの[F3]キーをポンッと押すと、
この文書に定義された名前が一覧表示されます。
ドロップダウンリストの元データとしたい名前をクリックで選択し、[OK]ボタンをクリックすると、
[元の値]欄に選択した名前を指定することができました。
最後にダイアログボックス右下の[OK]ボタンをクリックします。
テーブル内の「社員名」という名前の範囲が選択項目となったドロップダウンリストを設定することができました!
それでは設定したドロップダウンリストの、最後の選択項目「成沢 凌」をクリックで選択しておきます。
さてここで、次の設定に入る前に、「Sheet2」のA1からD9番地のテーブルに設定してあるテーブル名を確認してみます。
「Sheet2」に切り替え、A1からD9番地のテーブル内のセルならどれでもいいので、どれか1つのセルを選択し、
[テーブルツール]の[デザイン]タブ、[プロパティ]グループにある[テーブル名]で、このテーブルのテーブル名を確認します。
このテーブルのテーブル名は「テーブル1」であることが分かりました。
(このテーブル名は、Excelさんが自動で付けてくれた名前なので、「テーブル1」の「1」の部分が他の数字になっていることもあります。それでも全く問題ないので、そのテーブル名を覚えておいてください。)
ドロップダウンリストの元データとしたい範囲があるテーブルの、テーブル名が分かったところで、設定の続きをしていくことにしましょう。
「Sheet3」に切り替えます。
お次は、セルを1つ飛ばして、B5番地にドロップダウンリストを設定してみます。
「テーブルが関わる数式に注目!」でご紹介しているとおり、テーブルに関連する数式は、「構造化参照」というテーブルの構造で表現することができます。
今回、ドロップダウンリストの元データとしたい範囲は、「テーブル1」の「氏名」列のデータ部分なので、これを構造化参照で表現すると、
図のようになります。
そこで、この構造化参照の数式を、ドロップダウンリストの設定時に指定してみます。
ドロップダウンリストを設定したいB5番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックします。
[設定]タブの[入力値の種類]で[リスト]を選択し、[元の値]欄でクリックして、この欄に文字カーソルを入れます。
構造化参照はテーブル各部の名前を使った表現だからと、セルに定義された名前を指定するのと同じように、キーボードの[F3]キーをポンッと押しても、
この一覧に表示されるのは、あくまでも定義されている名前のみ。
テーブル各部の名前は表示されません。
というわけで、このダイアログボックスは使えないので[キャンセル]ボタンをクリックしておきます。
そうすると、[元の値]欄に、構造化参照の数式を自分で手入力するしかありません。
早速入力していきましょう。
まずは数式を入力したいので「=(イコール)」を入力し、
続いて「テーブル1」の「氏名」列のデータ部分、ということを表す表現を入力します。
角括弧やテーブル名の数字は半角で入力します。
入力が終わったら[OK]ボタンをクリックすると、
エラーが表示されてしまいます!
実は、この[元の値]欄には、構造化参照の数式をそのまま直接指定することができません。
ただ入力するだけでは、構造化参照というものを認識できないんです。
なので、このようなエラーが表示されてしまうんです。
設定できなければ仕方がないので、エラーメッセージの[OK]ボタンをクリックし、
更に、入力規則のダイアログボックスも[キャンセル]ボタンで閉じておきましょう。
このように、[元の値]欄に、構造化参照の数式をそのまま直接指定しても、この欄では構造化参照自体を認識できないためエラーになってしまうことが分かりました。
指定したものを認識できなければ、「こういう名目の範囲があるんですよ」ということをExcelさんが認識できるようにしてあげればいいことになります。
そこで!
構造化参照の表現を、INDIRECT関数を通すことで、「こういう名目の範囲がありますよ」とExcelさんに認識してもらいつつ、ドロップダウンリストの設定をしていきます。
今度の設定はB4番地に設定していくことにしましょう。
ドロップダウンリストを設定したいB4番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックします。
[設定]タブの[入力値の種類]で[リスト]を選択し、[元の値]欄でクリックして、この欄に文字カーソルを入れます。
そして、この[元の値]欄に、
図のような数式を手入力します。
この数式は、こういう箇所がテーブルにあるから、それをちゃんと範囲として認識してね、という意味になります。
関数名や括弧などの記号、テーブル名の数字は、半角で入力します。
また、数式内の文字はダブルクォーテーションで囲むのがお約束なので、構造化参照の表現をダブルクォーテーションで囲むのもお忘れなく。
もちろん、ダブルクォーテーションは半角です。
入力が終わったら、[OK]ボタンをクリックすると、
テーブルの構造をINDIRECT関数で認識させた範囲が選択項目となったドロップダウンリストを設定することができました!
それでは設定したドロップダウンリストの、最後の選択項目「成沢 凌」をクリックで選択しておきます。
スポンサーリンク
データの追加に合わせて選択肢が増えるのは・・・
さぁ、ひと通り設定が終わりました!
B5番地にドロップダウンリストが設定されていないのは、INDIRECT関数を通さず、構造化参照のみでは設定ができなかったからですね。
さぁここで、ドロップダウンリストの選択肢を増やすべく、「Sheet2」のテーブルにデータを追加してみたいと思います。
「Sheet2」に切り替えます。
テーブルの終わりの次の行に、
追加したいデータを入力し、入力を確定するだけで、自動的にテーブル範囲が拡張します。
これはテーブルの特徴の1つでした。
テーブルにデータを追加することができました。
「Sheet3」に切り替えて、先ほどのドロップダウンリストの選択肢まで自動的に増えたかどうか、確認してみましょう。
まずはB2番地から。
B2番地は、テーブル内のセル範囲を、セル番地を指定する方法で設定したドロップダウンリスト。
B2番地を選択して、[▼]をクリックしてみます。
おっと選択項目は増えていません。
データの追加に連動して選択項目が増えないことが分かったので、[Esc]キーを押してリストを非表示にしておきます。
実はこの、ドロップダウンリストの元データとしてセル番地を指定する設定方法でも、一覧表のテーブルと、ドロップダウンリストを設定したセルが同じシートにあれば、元データを追加するだけで、選択肢も自動的に増えてくれます。
ただ、今回のように一覧表のテーブルと、ドロップダウンリストを設定したセルが別シートの場合は自動的に増えてくれないので、この方法はおすすめできません。
お次はB3番地。
B3番地は、テーブルにかぶせて定義した名前を使って設定したドロップダウンリスト。
B3番地を選択して、[▼]をクリックしてみます。
これは前の方の章で見ていただいたとおり、テーブルに元となるデータを追加しただけで、特に何もしなくともドロップダウンリストの選択項目が増えます!
せっかくなので、自動的に増えた選択項目「賀山 琴子」をクリックで選択しておきます。
最後はB4番地のドロップダウンリスト。
このセルは、INDIRECT関数を通して構造化参照を認識させることで設定したドロップダウンリスト。
B4番地を選択して、[▼]をクリックしてみます。
これも、テーブルに元となるデータを追加しただけで、特に何もしなくともドロップダウンリストの選択項目も増えています!
せっかくなので、自動的に増えた選択項目「賀山 琴子」をクリックで選択しておきます。
この結果から、B3番地に設定した、
テーブルに名前をかぶせた範囲をドロップダウンリストの[元の値]として設定する方法
か、B4番地に設定した、
構造化参照をINDIRECT関数を通してドロップダウンリストの[元の値]に設定する方法
のどちらかを使うことになります。
ですが、B4番地の構造化参照をINDIRECT関数を通してドロップダウンリストの[元の値]に設定する方法は、いちいち数式を手入力しなければならないので、設定の面倒くささが伴ってしまいます。
というわけで、Be Cool Usersでは、テーブル内のセルに名前を定義し、
ドロップダウンリストの[元の値]として設定する方法をおすすめします!
スポンサーリンク
テーブルが小さくても
先ほどまでは、テーブル内の一部をドロップダウンリストの元データとして設定しましたが、
ドロップダウンリストの元データにしたいものだけの列しかない一覧表でも同様に設定します。
練習用データを操作しながらご覧いただいている方は、画面左下のシート見出しをクリックして、「Sheet4」に切り替えてください。
まずは一覧表をテーブルに変換することから。
テーブルに変換したい一覧表内のセルだったらどのセルでもいいので、どれか1つのセルを選択し、
[ホーム]タブ、
[スタイル]グループの[テーブルとして書式設定]ボタンをクリックし、
一覧から好みのものをクリックで選択します。
ちなみに、ここで表示される一覧は、操作中の文書に設定されているテーマによって変わってくるので、色が図と同じじゃなくても、気にする必要はありません。
表示されたダイアログボックスで、テーブルに変換したい範囲が正しいかを確認し、更に[先頭行をテーブルの見出しとして使用する]にチェックが付いていることを確認して、[OK]ボタンをクリックします。
一覧表をテーブルに変換することができました。
今回ご紹介している、元データの追加だけで選択項目も自動で増えるドロップダウンリストでは、ドロップダウンリストの元データとして使いたいセルが収まっている一覧表が、テーブルになっている、ということが非常に大切なポイントでしたね。
続いて、そのテーブルの中でも、具体的にどのセルをドロップダウンリストの元データにしたいのか、その範囲に名前を定義します。
ドロップダウンリストの元データとしたい範囲を選択します。
この時、普段どおりドラッグで範囲選択して指定してもいいのですが、テーブルには、テーブルならではの選択方法があるので、それを使って指定していくことにしましょう。
「氏名」列にある見出しの上端にマウスポインタを合わせ、マウスポインタが図のような黒い矢印に変わったらクリックすると、「氏名」列のデータ部分のみを範囲選択することができました。
テーブルならではの選択方法のおかげで、範囲選択したかった場所を手っ取り早く選択することができました。
名前ボックスに好みの名前を入力後、文字カーソルが消えるまで[Enter]キーで入力を確定します。
名前を定義すると、普段ならその名前がこのボックスに表示されますが、今回のようにテーブルにかぶせて名前を定義した場合には、その名前が消えてしまいます。
でも、ちゃんと名前は設定されていますので、心配する必要はありません。
準備が終わったので、早速ドロップダウンリストの設定に入ります。
ドロップダウンリストを設定したいC2番地を選択し、
[データ]タブ、[データツール]グループの[データの入力規則]ボタン(▼がある方ではなく、絵柄の方のボタン)をクリックします。
[設定]タブの[入力値の種類]で[リスト]を選択し、[元の値]欄でクリックして、この欄に文字カーソルを入れます。
元となるデータは、先ほど定義した名前なので、キーボードの[F3]キーをポンッと押すと、
この文書に定義された名前が一覧表示されます。
ドロップダウンリストの元データとしたいセルの名前をクリックで選択し、[OK]ボタンをクリックすると、
[元の値]欄に選択した名前を設定することができたので、更に[OK]ボタンをクリックします。
ドロップダウンリストを設定することができました!
ドロップダウンリストを設定したC2番地を選択した状態で[▼]をクリックすると、先ほど名前を定義したセル範囲のデータが選択項目として表示されていることが分かります!
ドロップダウンリストの元データにしたいものだけの列しかない一覧表でも、操作方法がまったく同じだということが分かりました。
元データの追加だけで選択項目も自動で増えるドロップダウンリスト まとめ
今回ご紹介した操作手順は、
(1)ドロップダウンリストの選択項目として使いたいデータが収まっている一覧表をテーブルに変換する
(2)変換したテーブルの中で、ドロップダウンリストの選択項目として使いたいセル範囲に名前を定義する
(3)ドロップダウンリストを設定したいセルを選択し、[データの入力規則]ダイアログボックスで、ドロップダウンリストの設定をする
そして、テーブル+名前という2段階設定をした範囲を元データとして、ドロップダウンリストを設定した大きな理由が、元データを追加するだけで、ドロップダウンリストの選択項目も自動的に増えてくれるからです!