Excelでデータ入力フォームを作るとき、「都道府県を選んだら市区町村の選択肢が変わる」「カテゴリを選ぶと商品一覧が変わる」など、選択肢が自動で切り替わわる“連動プルダウン”があると非常に便利です。入力ミスも減り、作業効率が大幅にアップします。しかし、Excel初心者にとって「どうやって連動させるの?」「関数が必要なの?」と疑問が多い部分でもあります。
この記事では、Excelだけで簡単に作れる2段階の連動プルダウンの作り方を、初心者でも確実に理解できるように手順を丁寧に解説します。名前の定義やINDIRECT関数を使う方法、さらに実務で使える応用例までまとめています。この記事を読みながら手順をそのまま真似すれば、誰でもきれいで使いやすい連動プルダウンを作れるようになります。
連動プルダウンとは、
「最初に選んだ項目によって、次のプルダウンの内容が自動的に変わる仕組み」
のことです。
たとえば以下のようなケースで役立ちます。
Excelの標準機能(データの入力規則)とINDIRECT関数を使えば、マクロなしで誰でも作成できます。
特に大量のデータを扱う事務作業では必須と言えるほど便利です。
まずは連動させるためのデータを用意します。
以下のように「親カテゴリ」「子カテゴリ」をグループごとに並べます。
例:都道府県 → 市区町村
A列:都道府県
B列以降:市区町村
例:
ポイントは次のとおりです。
この並べ方をしておくと、あとで名前定義がスムーズになります。
連動プルダウンでは「名前の定義」を使います。
具体的には、都道府県ごとに市区町村リストへ名前を付けます。
同様に、東京都の市区町村にも「東京都」という名前を定義します。
この作業が連動プルダウン成功の一番の鍵になります。
次にユーザーが最初に選ぶ「親プルダウン」を作成します。
=$A$1:$A$2これで、都道府県などの親リストが選択できるようになります。
いよいよ連動部分を作成します。
子プルダウンを入れるセル(例:G2)で以下の設定を行います。
=INDIRECT(F2)
INDIRECT関数は「セルの文字を名前として参照する」関数です。
F2 に「福岡県」が選択されていれば、INDIRECT 関数は名前の定義「福岡県」を参照し、市区町村リストが表示されます。
つまり親の選択によって、子リストが自動で切り替わる仕組みができるわけです。
初心者がつまずきやすいポイントをまとめました。
INDIRECT は空白を参照できません。
先に親セルを選択させる工夫が必要です。
空白セルが混ざるとリストが途切れる場合があります。
整理してから名前を定義しましょう。
親セルの文字が名前として存在していない場合に起こります。
連動プルダウンは多くの業務で応用できます。
どれも入力ミス削減に直結するため、現場で非常に重宝されます。
INDIRECTを使う方法のほかにも、
動的配列(FILTER関数)を使った最新Excel向けの方法
もあります。
=FILTER(市区町村範囲, 都道府県範囲 = F2)
この方法なら名前定義が不要で、大量データにも強いメリットがあります。
最新版Excelを使っている場合はこちらもおすすめです。
連動プルダウンは、Excelのデータ入力を「正確」に「効率的」にする強力な機能です。
マクロ不要で、名前の定義とINDIRECT関数を使うだけで簡単に作れます。
この記事で紹介した流れをもう一度まとめると――
これだけで誰でも連動プルダウンを作成できます。
業務シートの質を高めたい方や、社内の入力フォームを改善したい方にとって、非常に役立つテクニックです。ぜひ、日々のExcel業務に活用してみてください。