以前にエクセルでプルダウンリスト(ドロップダウンメニュー)を作成する方法を紹介したが、2つ以上のプルダウンを作成し、それらを連動させたいという場合がある。
例えば1つ目のプルダウンでは大きなカテゴリーを表すリストを表示させ、その後さらに細かなカテゴリーを表示させるプルダウンを作成したいという場合などがある。
そういった場合は「INDIRECT」関数を使用すれば簡単に作れてしまう。
ここでは、ExcelのINDIRECT関数を使用してで2つ以上のプルダウンリストを連動させる方法をかんたんに説明する。
- 対象となるExcelのバージョン
- Excel 2016, Excel 2013, Excel 2010, Excel 2007, etc..
前のリストで選択後に次のリストの内容が変化
画像の例は、和食、洋食、中華のジャンルを1つ目のプルダウンから選択すると、2つ目のメニュー側のプルダウンに表示される内容が自動的に変更され、その中から選択することができるというものだ。
このように、大きなカテゴリーの中から1つを選択し、2つ目にはそのカテゴリー内からさらに選択するという場合に便利な連動機能である。もちろんこれを利用して3つ以上のプルダウンとしても利用できる。
この連動させるプルダウンを作成するには、「INDIRECT」関数を使用する。
INDIRECT関数の書式
INDIRECT(参照文字列, [参照形式])
A | B | C | D | E | |
1 | データ | データ | 式 | 結果 | 説明 |
2 | B3 | みかん | =INDIRECT(A2) |
ぶどう | INDIRECTでA2を参照し「B3」が返ってきたためB3セルを参照し「ぶどう」が返ってくる。 |
3 | b4 | ぶどう | =INDIRECT(A3) |
りんご | INDIRECTでA3を参照し「B4」が返ってきたためB3セルを参照し「りんご」が返ってくる。 |
4 | りんご | =INDIRECT(A4) |
#REF! | INDIRECTでA4を参照したが、空白だったためエラー。 |
INDIRECT関数は、指定したセル内にセルを表す文字がある場合に、そのセルを参照するというもの。
E1セルに=INDIRECT(A1)と入力した場合、Aiセルに「C2」と入力してある場合に、C2を参照しその結果をE1セルに返す。
2つのプルダウンを連動させる手順実践
-
グループに名前を付ける
プルダウンに登録しやすいようにするために、ジャンル一覧、和食メニュー、洋食メニュー、中華メニューにそれぞれ名前をつける。
名前をつけるには、複数のセルをまとめて選択し、左上の名前ボックスに直接入力する。今回はA2~A4の名前を「ジャンル一覧」、C2~C9の名前を「和食」、D2~D9の名前を「洋食」、E2~E9の名前を「中華」とした。
名前の定義について詳しくはこちらの記事へ。
出典または引用
- https://support.office.com/ja-jp/article/INDIRECT-関数
- https://support.office.com/ja-jp/article/数式で名前を定義し使用する
- 週間Tweaks:ステータスバーの時刻をダブルタップで日付に切り替え「DateTap」など - 2018/02/12
- 週間Tweaks:iPhoneXでスワイプアップでロック「SwipeUpLockX」やドックをカスタマイズ「Marina」など - 2018/02/05
- 週間Tweaks:iPhoneXのアプリスイッチャーでスワイプでアプリ終了「EasySwitcherX」など - 2018/01/29