Excel。入力規則のリストのアイテム数が多いのでカテゴリー分けしたリストにするには?
<入力規則リスト&名前の定義&INDIRECT関数>
入力を簡単にする、あるいは、入力ミスを抑制するなどよく使用する機能に、入力規則のリストというのがあります。
VLOOKUPとペアで使うこともありますよね。
しかし、この入力規則のリストですが、件数が多くなってしまうと、
当然リストが大きくなってしまって、
使い勝手が悪くなってしまう欠点があります。
例えば次のような、都道府県を選択するような場合ですね。
47都道府県ありますから、その中から選ぶぐらいなら、
入力したほうが早いですよね。
ただ、都道府県のように、知っているものならば、
まだいいのですが、商品の型番だと、
入力すること自体が難しいことも想定されます。
そこで、カテゴリーを一度選んだら、
そのカテゴリーに所属しているアイテムだけがリストで表示してくれるようになると、
これらの問題から少しは解放されるわけですね。
作りたいのは、次のようなものです。
最初は、地域というカテゴリーを選びます。例えば「甲信越」を選びます。
次に、都道府県を選ぶと、甲信越に所属している、
都道府県のみがリストに表示されるようになっています。
カテゴリー式入力リストというか、2段式入力リストという感じでしょうか。
こうすることで、長いリストであっても、
細分化されるので、使い勝手が改善されます。
では、どのようにしているのでしょうか?
【範囲に名前の定義を設定】
甲信越を地域で選択したら、山梨・長野・新潟がリストに表示したいわけですね。東北を地域で選択したら、
青森・秋田・岩手・山形・宮城・福島とリストに表示したいわけです。
なので、それぞれの地域(カテゴリー)に該当する都道府県に
名前を定義してあげる必要があります。
それぞれの地域に該当するものに名前を定義しておきます。
名前の定義は、一番簡単な方法で設定するには、
範囲選択して、名前ボックスに、名前を入力すれば設定することが出来ますね。
【入力規則のリストは、INDIRCT関数を使う】
そして、入力規則のリストを設定していくのですが、A2をセル参照させても、連動することが出来ません。一応確認しておきましょう。
B2をクリックして、データタブの入力規則をクリックして、
データの入力規則ダイアログボックスを表示しましょう。
入力値の種類を「リスト」にして、元の値を、
A2に設定してOKボタンをクリックしましょう。
このように、先ほど設定している、名前の定義と連動していません。
そこで連動するために登場するのが、INDIRECT関数です。
入力規則のリスト+INDIRECT関数の組み合わせで解決することができます。
では、先ほど設定した、入力規則を、一度クリアしておきましょう。
先ほどの入力規則のリストにある、元の値には、
=INDIRECT($A$2)
と入力します。
そして、OKボタンをクリックしましょう。それでは、確認してみましょう。
このように、A2の地域名に合わせた、
都道府県のみがリストに表示されているのが確認できますね。
入力規則のリストを使いたいけど、リストに含めたい項目が多い場合は、
2段階式リストみたいにすることで、利便性を向上することができますよ。