Excelでデータ入力フォームを作るとき、「都道府県を選んだら市区町村の選択肢が変わる」「カテゴリを選ぶと商品一覧が変わる」など、選択肢が自動で切り替わわる“連動プルダウン”があると非常に便利です。入力ミスも減り、作業効率が大幅にアップします。しかし、Excel初心者にとって「どうやって連動させるの?」「関数が必要なの?」と疑問が多い部分でもあります。
この記事では、Excelだけで簡単に作れる2段階の連動プルダウンの作り方を、初心者でも確実に理解できるように手順を丁寧に解説します。名前の定義やINDIRECT関数を使う方法、さらに実務で使える応用例までまとめています。この記事を読みながら手順をそのまま真似すれば、誰でもきれいで使いやすい連動プルダウンを作れるようになります。
連動プルダウンとは?まず概要を理解しよう
連動プルダウンとは、
「最初に選んだ項目によって、次のプルダウンの内容が自動的に変わる仕組み」
のことです。
たとえば以下のようなケースで役立ちます。
- 「都道府県」を選ぶと「市区町村リスト」が変わる
- 「会社部門」を選ぶと「担当者名」が絞られる
- 「カテゴリー」を選ぶと「商品名」が切り替わる
Excelの標準機能(データの入力規則)とINDIRECT関数を使えば、マクロなしで誰でも作成できます。
特に大量のデータを扱う事務作業では必須と言えるほど便利です。
ステップ1|データ表を整える(準備編)
まずは連動させるためのデータを用意します。
以下のように「親カテゴリ」「子カテゴリ」をグループごとに並べます。
例:都道府県 → 市区町村
A列:都道府県
B列以降:市区町村
例:
- A1:福岡県
- B1:北九州市
- C1:福岡市
- D1:久留米市
- A2:東京都
- B2:千代田区
- C2:新宿区
- D2:渋谷区
ポイントは次のとおりです。
- 1行に1つのカテゴリをまとめる
- 行ごとに関連するデータを横並びにする
- 空白行を作らない
この並べ方をしておくと、あとで名前定義がスムーズになります。
ステップ2|カテゴリごとに名前を定義する
連動プルダウンでは「名前の定義」を使います。
具体的には、都道府県ごとに市区町村リストへ名前を付けます。
<操作手順>
- B1~D1 を選択(例:福岡県の市区町村)
- 上部メニュー「数式」→「名前の定義」をクリック
- 名前に「福岡県」と入力(※セルの文字と同じにする)
- OKを押す
同様に、東京都の市区町村にも「東京都」という名前を定義します。
<重要ポイント>
- 名前はセルの親カテゴリと完全一致させる
- スペースがある場合は「_」で置き換える
(例:「食品 カテゴリ」→「食品_カテゴリ」)
この作業が連動プルダウン成功の一番の鍵になります。
ステップ3|親プルダウン(都道府県など)を作成する
次にユーザーが最初に選ぶ「親プルダウン」を作成します。
<操作手順>
- 親プルダウンを入れたいセル(例:F2)を選択
- 「データ」→「データの入力規則」をクリック
- 設定タブ →「リスト」を選択
- 元の値に、親カテゴリ一覧を指定
例:=$A$1:$A$2 - OK
これで、都道府県などの親リストが選択できるようになります。
ステップ4|子プルダウン(市区町村など)を連動させる
いよいよ連動部分を作成します。
子プルダウンを入れるセル(例:G2)で以下の設定を行います。
<手順>
- G2 を選択
- 「データ」→「データの入力規則」
- リストを選択
- 元の値に以下を入力:
=INDIRECT(F2)
INDIRECT関数は「セルの文字を名前として参照する」関数です。
F2 に「福岡県」が選択されていれば、INDIRECT 関数は名前の定義「福岡県」を参照し、市区町村リストが表示されます。
つまり親の選択によって、子リストが自動で切り替わる仕組みができるわけです。
連動プルダウンがうまく動かないときのチェックポイント
初心者がつまずきやすいポイントをまとめました。
● 名前の定義が間違っている
- セルの値と名前が一致しているか?
- スペースや記号を含んでいないか?
● 親セルが空白のまま
INDIRECT は空白を参照できません。
先に親セルを選択させる工夫が必要です。
● データ範囲に空白がある
空白セルが混ざるとリストが途切れる場合があります。
整理してから名前を定義しましょう。
● 「#REF!」エラーが出る
親セルの文字が名前として存在していない場合に起こります。
実務で使える連動プルダウンの応用例
連動プルダウンは多くの業務で応用できます。
● 商品管理シート
- 親:カテゴリ
- 子:商品名
- 入力後:価格や在庫が自動表示されるようにVLOOKUPと連動
● 顧客管理
- 親:都道府県
- 子:市区町村
- 住所入力の手間とミスを減らせる
● 社内申請フォーム
- 親:部署
- 子:担当者名
● 交通費申請
- 親:出発駅
- 子:到着駅
- 駅リストを鉄道路線ごとに名前定義する
どれも入力ミス削減に直結するため、現場で非常に重宝されます。
より高度な連動プルダウン(柔軟なリスト)を作る方法
INDIRECTを使う方法のほかにも、
動的配列(FILTER関数)を使った最新Excel向けの方法
もあります。
例:FILTER関数
=FILTER(市区町村範囲, 都道府県範囲 = F2)
この方法なら名前定義が不要で、大量データにも強いメリットがあります。
最新版Excelを使っている場合はこちらもおすすめです。
まとめ
連動プルダウンは、Excelのデータ入力を「正確」に「効率的」にする強力な機能です。
マクロ不要で、名前の定義とINDIRECT関数を使うだけで簡単に作れます。
この記事で紹介した流れをもう一度まとめると――
- データ表を整える
- カテゴリごとに名前の定義を作る
- 親プルダウンを作成する
- 子プルダウンに「=INDIRECT(親セル)」を設定する
これだけで誰でも連動プルダウンを作成できます。
業務シートの質を高めたい方や、社内の入力フォームを改善したい方にとって、非常に役立つテクニックです。ぜひ、日々のExcel業務に活用してみてください。
