【プレッドシート】連動する2段階プルダウンを作成する方法

GoogleスプレッドシートのINDIRECT関数を使えば、1つ目のプルダウンで選択した項目に応じて、2つ目のプルダウンの選択肢を自動的に絞り込むことができます。これにより、選択ミスの防止や入力効率の向上につながります。

スポンサーリンク

完成イメージ

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

1つ目のプルダウンで選んだ項目に応じて、2つ目のプルダウンの選択肢が自動的に絞り込まれます

スポンサーリンク

2段階プルダウンの作成手順

元となるリストを作成する

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

まず、作業列に、プルダウンの元となるリストを作成します。1段階目の項目を縦に入力し、その横に連動させたい2段階目の項目を入力します。

1段階目のプルダウンを設定する

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

1段階目のプルダウン範囲を選択し、「挿入」→「プルダウン」をクリックします。

条件を「プルダウン(範囲内)」にして、「データ範囲」に先ほど作ったリストの1段階目の範囲を設定し、「完了」をクリックします。

2段階目のリストに名前を付ける

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

連動させる2段階目のリストは、項目ごとに名前付き範囲を設定していきます。

1行ずつリストを選択し、数式バーの左側にある「名前ボックス」に、1段階目の項目名と同じ名前を入力します。(例:1行目なら「果物」、2行目なら「野菜」)

INDIRECT関数でリストを呼び出す

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

リストの下のセルに以下の数式を入力し、1段階目のプルダウンから適当な項目を選択します。

例:=INDIRECT(A2)

参照文字列(A2)の部分には、1段階目のプルダウンの先頭のセルを指定します。INDIRECT関数は1段階目で選択した文字列を受け取り、同じ名前の範囲を呼び出します。

このとき、1段階目のプルダウンが未選択だと#REF!エラーになりますが、問題ありません。

INDIRECT関数の引数:(参照文字列, [参照形式])

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

入力した数式を、オートフィルでプルダウンの行数分コピーします。行数が多い場合は「名前ボックス」に範囲を入力し、Ctrl + Enterで一括コピーも可能です。

もし、エラーを非表示にしたい場合、次のように、IFERROR関数を使います。

例:=IFERROR(INDIRECT(A2),"")

IFERROR関数の引数:(値, [エラー値])

2段階目のプルダウンを設定する

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

2段階目のプルダウン範囲から先頭セルのみ選択し、「挿入」→「プルダウン」を開きます。

条件を「プルダウン(範囲内)」にして、「データ範囲」に、INDIRECT関数を入力したセルの1行目のみを指定します。ここで一度「完了」をクリックして、設定を保存します。

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

先頭のセルに挿入したプルダウンを開き、「編集ボタン」をクリックします。

データ範囲に、自動的に$(固定記号)が追加されているので、これを全て削除して「完了」をクリックします。

【Googleスプレッドシート】連動する2段階プルダウンを作成する方法

最後に、先頭セルのプルダウンをオートフィルでコピーすれば、2段階プルダウンの完成です。

作業列は非表示にしておくと、見た目もすっきりと仕上がります。

タイトルとURLをコピーしました