【Googleスプレッドシート】エリア選択に連動して都道府県を動的に表示する方法

Googleスプレッドシートで、エリアを選ぶとそのエリアに属する都道府県だけが選べるようになる「連動プルダウン」を作りたい。そんなときに役立つのが、FILTER関数とUNIQUE関数を活用した設定方法です。

エリアと都道府県の関係をマスタシートに整理

まずはマスタとなるシートを準備しましょう。ここでは「都道府県」という名前のシートに以下のような構成でエリアと都道府県の一覧を作成します。

A列(エリア)B列(都道府県)
北海道・東北北海道
北海道・東北青森県
北海道・東北岩手県
関東東京都
関東神奈川県
関西大阪府
九州・沖縄沖縄県

このように、「エリア」と「都道府県」のペアをすべてリスト化しておくことで、連動が可能になります。

エリア選択のプルダウンを作成(例:C2セル)

まず、A列にエリア一覧を表示します。

=UNIQUE(都道府県!A2:A)

次に、エリア選択用のセル(ここではC2)に入力規則(プルダウン)を設定します。

C2セルを選択

メニュー「データ」→「データの入力規則」を開く

条件に以下の式を入力

=A2:A

「プルダウンの表示」にチェックを入れて「完了」

これで、マスタシートから重複のないエリア名だけが一覧で表示されるようになります。

選択したエリアに応じた都道府県リストを補助列に生成(例:F2セル)

次に、ユーザーが選んだエリアに対応する都道府県を表示する補助列を作ります。

B2セルに以下の関数を入力

=UNIQUE(FILTER(都道府県!B2:B, 都道府県!A2:A = C2))

このD列には、C2で選ばれたエリアに対応する都道府県だけがリスト表示されます

この列を非表示にしておくと、見た目もスッキリします。

都道府県選択のプルダウンを設定(例:D2セル)

最後に、実際に都道府県を選ぶD2セルにプルダウンを設定します。

D2セルを選択

「データ」→「データの入力規則」

条件を「範囲から選択」にし、以下のように設定

B2:B

「完了」をクリック

これで、C2で選んだエリアに応じて、D2に表示される都道府県が動的に切り替わるようになります。


まとめ

セル設定内容関数や範囲
C2エリアの選択=UNIQUE(都道府県!A2:A)
B2都道府県の絞り込み=UNIQUE(FILTER(...))
D2都道府県の選択B列にある候補を参照して設定

複雑なスクリプトを使わずに、関数と入力規則だけで連動プルダウンが実現できます。さらに、市区町村までの3段階連動も同じように応用できます。