階層型のドロップダウンリストの作成
次にINDIRECT関数を使って階層型のドロップダウンリストを作成する方法です。たとえば、都道府県と市区町村をリストから選択して入力する場合を考えます。都道府県に東京都を選択すれば、市区町村には東京都の区から、神奈川県を選択すれば、神奈川県の市から選択できるようにします。

準備として、以下のように都道府県と市区町村のリストを作成します。

まず、都道府県のリストを設定します。都道府県のセルA2にカーソルを合わせ、「データ」タブの「データの入力規則」をクリックしします。

入力値の種類にリストを設定します。元の値には、都道府県が記載されたセルG1~I1を選択します。

これでOKを押せば、都道府県のリストを設定できます。

次に市区町村のリストを設定します。ここでは、各都道府県に連動してリストが変わるように設定していきます。まず、各市区町村に名前を付けていきます。都道府県と市区町村が書かれた表を選択し、「数式」タブの「選択範囲から作成」をクリックします。

ここで、上端行にチェックを入れた状態で「OK」を押します。

これで各列に各都道府県の名前を付けることができました。

定義された名前は「名前の管理」から確認できます。ここで、名前の範囲を修正したり、削除したりすることもできます。

次にINDIRECT関数を使って市区町村のリストを作成していきます。先ほど名前を定義したので、セルB3にINDIRECT関数で東京都と書かれたセルを参照すると、東京都の区が表示されます。
=INDIRECT(A2)

これを利用して、リストを設定します。この数式をコピーし、データの入力規則のリストで元の値に貼り付けます。

これでOKを押せば、リストを設定できます。東京都が入力されていると、東京都の区が表示されます。

都道府県を変えれば、各都道府県の市区町村が表示されるようになります。

コメント