Excelで、入力規則を設定してドロップダウンリストからデータを入力できるようにするのは、とても便利な機能です。
このドロップダウンリストから入力させる機能を、2つのリストを連動させてできないのか?というご質問も時々いただきます。
例えば一つ目のリストに「総務部」「営業部」「開発部」と表示されるようにし、この中から「総務部」を選んだときに二つ目のリストに総務部に所属する課だけが表示され、「営業部」を選んだときには営業部に所属する課、「開発部」を選べば開発部の課だけが表示されるようにすることはできないのかという質問です。
名前の定義とINDIRECT関数を利用すれば2つのドロップダウンリストを連動させることができます。
※Sheet1にドロップダウンリストに表示されるデータを入力し、Sheet2のA1セルのドロップダウンリストから「総務部」を選択したらA2セルのドロップダウンリストに総務部に所属する課の名称が表示されるようにする例 Sheet1のA1セルからA3セルに「総務部」「営業部」「開発部」と入力し
セル範囲A1:A3に「部署名」と名前を定義
↓
Sheet1のB1セルからD1セルに、
「総務部」に所属する課の名称「総務課」「経理課」「人事課」と入力し
セル範囲B1:D1に「総務部」と名前を定義
↓
Sheet2のA1セルを選択し、メニュー[データ]−[入力規則]をクリック
↓
[データの入力規則]ダイアログ−[設定]タブをクリック
↓
[入力値の種類]欄から「リスト」を選択し、
[元の値]欄に「=部署名」と入力
↓
[データの入力規則]ダイアログ−[OK]ボタンをクリック
↓
Sheet2のA2セルを選択し、メニュー[データ]−[入力規則]をクリック
↓
[データの入力規則]ダイアログ−[設定]タブをクリック
↓
[入力値の種類]欄から「リスト」を選択し、
[元の値]欄に「=INDIRECT(A1)」と入力
↓
[データの入力規則]ダイアログ−[OK]ボタンをクリック
INDIRECT関数は、引数に指定されたセルに入力されている文字を使ってセルを参照してくれる関数です。
上記の設定を行なってから、A1セルで「総務部」を選択すると、A2セルでは[データの入力規則]ダイアログの[元の値]欄に「=総務部」と入力されたのと同じ状態になり、A2セルのドロップダウンリストに総務部に所属するの課の名称だけが表示されるわけです。
B2セルからE2セルに「営業1課」「営業2課」「営業3課」「営業4課」と入力し、セル範囲B2:E2に「営業部」と名前を定義すれば、Sheet2のA1セルで「営業部」を選択したときにA2セルのドロップダウンリストには「営業1課」「営業2課」「営業3課」「営業4課」が表示されるようになります。
勿論、一つめのドロップダウンリストで選択される値と、定義されている名前は完全に一致しなければなりません。
名前ボックスや[名前の定義]ダイアログを使って名前を定義しても構いませんがどうしてもタイプミスなどで間違った名前にしてしまいがちです。またこの設定を行なうときには実際にはもっとたくさんの名前を定義することが多いでしょうから、先日の「名前定義を簡単に」というネタでご紹介した方法を使っていただくと便利ではないかと考えています。
▼サンプルファイル(000822.xls 14KByte)ダウンロード
操作手順が長いので、この説明を読んでいるだけではなかなか実際の操作をイメージしづらいでしょうから、興味のある方は是非ご自分で試してみてください。
- Newer:マクロを簡単に作成
- Older:Wordの脚注と本文の境界線を変更したい
Home » Excel(エクセル)の使い方 » データの入力規則 » 連動したドロップダウンリスト−INDIRECT関数