Excelでシート内の指定の場所からプルダウンで選択できる「リスト機能」。
このリストで表示される項目を、別のセルの入力内容によって変える方法をご紹介します!
Excelのリスト機能とは
Excelの「リスト」機能とは、シート内の指定の場所から選択できるようにする機能で、プルダウンリスト、ドロップダウンリストなどとも呼ばれます。
このリストは、
- マウスで簡単に選べる
- 指定した値以外が入力されないようにできる
という特徴があるので、入力する側にとってもファイルを作る側にとっても利点のある機能です。
多くのExcelファイルで利用されている、人気の機能だと思います。
リストの内容を変更したいことがある
そんな便利なリスト機能なんですが、状況によってリストの内容を変えたい場合があります。
といっても分かりにくいので、「品目を選ぶとVLOOLUPで金額が表示される」という簡単な例を作ってみたのでご覧ください。
このように、大分類の内容によって、小分類の品目名リストの内容が連動して変わっているのが分かると思います。
今回は上の例のような「特定のセルの入力値によって項目が変わるリスト」を作ってみます。
項目が変わるリストを作る方法
それでは、セルの内容に応じてリストを変える方法を、例として上の商品の金額を表示するリストを作りながらご紹介します。
今回使う目玉機能は「リスト」と「名前」の2つ!これらの機能の使い方も織り交ぜながら解説してきます。
下準備を行う
まず、新規ファイルを立ち上げ、空白のシートを用意。
そしたら最初の準備として、リストを作る場所から少し離れた場所(ここではF以降の列にしました)に以下の内容を入力しましょう。
- F列に大分類として、F2に「魚介類」、F3に「野菜」
- G列に小分類として、魚介類5品目と野菜5品目
- H列に金額
実際に入力した例はこんな感じ。
名前をつける
続いて名前機能を使って「名前」を付けます。
名前を付けたい場所、ここでは魚介類5種類を選択した状態でCtrlキーを押しながらF3を押します。
すると「名前の管理」というのが出てくるので、「新規作成」を押して、「名前の編集」を表示します。
そしたら、名前を「魚介類」に変更し、OKを押します。これだけで、セルに名前を付けることができました。
同様に野菜の品目が入ったセルを選択し、こちらも「野菜」と名前を付けます。
これで「魚介類」と「野菜」2つの名前を付けることができました!
大分類部分のリストを作る
では実際のリスト作成を行っていきます。
B2からD3にかけて、2×3の表を作ります。
リストの1つ目は「大分類」。ここでまず魚介類か野菜かを選べるようにします。
B3のセルを選択し、リボンの「データ」タブの「データの入力規則」を選択。
すると設定ウィンドウが開くので、
- 入力値の種類→「リスト」
- 「元の値」→リストにしたいセル範囲
とします。
大分類はF3:F4に入力した項目を選びたいので、「元の値」ではF3~F4を選択します。すると「=$F$3:$F$4」という数式が入力されるはずです。
上図のようになればOKをクリック。これだけで、大分類が「魚介類」と「野菜」のリストができます。
小分類部分のリストを作る
つづいて今回の本題、項目が変わるリストを作っていきます。今回は大分類であるB3セルの内容(大分類)に応じて、C4のセルのリスト(品目名)が変更されるようにします。
C4のセルを選び、大分類と同様にリスト設定。ただし今度は「元の値」を以下の数式にします。
この「INDIRECT関数」(インダイレクト関数)を使うことで、B3に入力された値(「魚介類」か「野菜」)を「名前」として扱うことが出来るようになるわけです。
なので大分類に魚介類と入っていれば、名前「魚介類」の場所をリスト表示するし、野菜なら名前「野菜」の場所をリスト表示してくれます。
値段が表示されるVLOOKUP関数を入力
最後に、小分類に応じて金額が表示される数式「VLOOKUP関数」を入力したら完成です!
これで、大分類で選んだ内容によって小分類のリストが変更されるようになりました!
まとめ
ということで少々複雑な説明になってしまいましたがいかがだったでしょうか。
普段リストやVLOOKUP自体や良く出てきますが、「名前」や「INDIRECT関数」はあまり一般的ではないので少々分かりづらかったかもしれません。
どちらも使いこなせば凄く便利ですが、とりあえず今回は「そういうのがあるんだ」と思ってもらえば良いかと思います。
最後に、セルの内容によって変わるリストを作る要素をまとめると以下の通りです。
- リストに表示したい内容を入力したセルに「名前」を付ける
- 変更したいセルの入力規則で「元の値」にINDIRECT関数を入力
- INDIRECT関数の参照先のセルに「名前」を入力する
ポイントとしては、リストの「元の値」に「INDIRECT関数」を入力すること。こうすることでリストの指定先に名前が使えるようになります。
この方法を使えばリストの機能を一段階高めることが出来るので、ぜひ試してみてください!
以上、この記事がどなたかの参考になれば幸いです!
コメント