EXCEL基礎

【Excelの裏技】「名前の定義」+「データの入力規則」+INDIRECT関数で「プルダウンリスト」を可変させる

一定の値を一つ一つ入力するのは時間の無駄です。
特に日々同じことを繰り返すのであればなおさら無駄な時間を費やすことになります。

ちょっとエクセルを使い慣れた方なら『データの入力規則』でリスト選択を設定して『プルダウンリスト』からの選択をする様にしていると思います。

でも、その『プルダウンリスト』を複数のリストに切替え出来るとしたらどうでしょう。

上の様に『地域』を変えたら『都道府県』欄にその地域の都道府県がプルダウンで選択出来たら、更に『プルダウンリスト』の使い勝手が増して、更に効率的な作業が可能になるとおもいませんか。

まずは仕込み

よく「料理は仕込みが9割」なんて言いますが、効率的な作業をしたいと思ったら仕込みにある程度の時間を費やしましょう。

ここを面倒がる方が多いのですが、そういう方はその時点で『負け』ですので面倒がらずにとりあえずやってみましょう。

名前の定義

名前の定義?』「何それ?」「どういう事?」という方が殆どだと思います。

名前の定義』というのは任意の文字列にセル範囲などを定義付けすることです。

上表の赤枠の部分を『名前の定義』してみます。

この場合とりあえず名前を『地域』にします。

メニュータブの『数式』を選択し『名前の定義』をクリックします。

こんなポップアップウィンドウが開くので『名前(N)』の入力欄に『地域』と入力しました。

その下の『範囲(S)』は定義した名前をどの範囲で使用するかですので、通常は『ブック』のままでOKです。もし、今のシートだけで使用したいのであれば『シート』を選択して下さい。

コメント(O)』欄は空白でもかまいません。

参照範囲(R)』に定義したい範囲を入力します。

入力欄の右端の↑をクリックするとマウスドラッグで選択できます。

参照範囲を選択する特には最初か最後に空白欄を入れるのをお勧めします。ちなみに上の表のA3セルをアクティブにしておくことをお忘れなく。

入力が終了したら『OK』ボタンをクリックします。

これで『地域』という名前に『LIST!$B$3:$K$3』の範囲が定義されました。

ちなみにこの『名前の定義』は関数の引数としても使えるので試してみて下さい。

プルダウンを設定

データの入力規則を設定

次にプルダウンを設定します。

プルダウンを設定するにはまず設定するセルを決めます。

上の表の様に地域を選択する様にF3セルに『データの入力規則』を設定します。尚、同じBOOK内であれば『名前の定義』で『範囲』をブックにした場合は別のシートでも構いません。

データ』タブのデータツールに『データの入力規則』を設定するアイコンがあるので、クリックして下さい。

上記のウィンドウが開くので『入力値の種類』を『リスト』に変更します。

元の値』の欄に[=地域]もしくは[=INDIRECT($F$2)]と入力して『OK』ボタンをクリックします。

『空白を無視する』と『ドロップダウン リストから選択する』のチェックは付けたままにして下さい。それと『元の値』欄に入力した=INDIRECTは関数の一つです。ちょっと変わった関数で使い方は『INDIRECT関数の使い方』で解説します。

指定したセルにプルダウンボタンが設定されていてボタンをクリックし下記のリストが出てくればOKです。

更にレベルアップ

ここまでだと「別に『名前の定義』って必要?」「『データの入力規則』だけで良いのでは」と思う方もいるでしょう。

では次に前の表にある『都道府県』をプルダウンで表示できる様にしてみましょう。

やり方は三種類の方法があります。
1.全ての都道府県を『データの入力規則』の『元の値』欄に範囲設定する。
2.『データの入力規則』の『元の値』欄に全ての都道府県をカンマで区切って入力する。
3.『名前の定義』を使い地域別の都道府県がリスト表示される様にする。

1.と2.の場合、リストを表示した時に全都道府県が表示されるので、その中から必要な都道府県を選択すること自体が無駄です。

しかも2.の場合は『データの入力規則』の設定自体が余りにも面倒ではないですか。

地域別に『名前の定義』

地域名『東北』を『名前の定義』してみます。

上表の東北のセルにカーソルを置き『名前の定義』を開きます。

名前』欄には東北が自動入力されていますので、『参照範囲』を青森県』の一つ上のセルから最後『福島県』までを設定します。

次に元のシートに戻り『都道府県』欄に『データの入力規則』を設定します。

元の値』には上記の様に=INDIRECT($F$3)とし『OK』をクリックします(F3セルは地域名を表示するセル)

地域欄のプルダウンから『東北』を選択し『都道府県』欄のプルダウンボタンをクリックした時に青森県から福島県のリストが表示されればOKです。

もうお分かりだと思いますが、後はそれぞれの地域で『名前の定義』を設定することで地域が変わるとそれぞれの地域毎の都道府県がリスト表示される様になります。

最終形がこれで『地域』『都道府県』を選択してその都道府県の人口が表示される表です。

人口を表示する為の関数計算式はちょっと複雑になりますが、一度設定すれば毎日の様に使う様な場合には圧倒的に効率が良くなるのではないでしょうか(VLOOUP関数でもOKです)

空白を設定するのと『空白を無視する』チェックの理由

名前の定義』で『参照範囲』を設定する時に空白のセルを入れることをお勧めしました。そして、『データの入力規則』で『空白を無視する』のチェックを付けたままに」と解説しました。

その理由はまず『プルダウンリスト』に空白を表示させたかったからで、空白が無いと常に入力欄に値が表示されたままになってしまいます。

また『空白を無視する』のチェックを外してしまうと、[BackSpace]でデータを消した時にエラー表示が出てしまうからです。