スプレッドシートでプルダウンで選んだ内容に従って、次のプルダウンが連動するように設定したい人も多いのではないでしょうか。
例えば、A列で「野菜」を選択するとB列のプルダウンは『トマト、ネギ、レタス、キャベツ』、A列で「果物」を選択するとB列のプルダウンは『みかん、りんご、いちご、バナナ』となるように連動させることです。
VLOOKUP関数を使わねばならず、少し面倒ではありますが、その手順を分かりやすくまとめました!
① 最初のプルダウンを設定する
最初に1つ目の分類Aのプルダウンを用意します。
スプレッドシートのメニューから「データ」→「データの入力規則」を開き、「+ルールを追加する」を行います。
「範囲に適用」でプルダウンを設定したいセルあるいは範囲を選択し、条件を「プルダウン」にします。プルダウンで表示する項目を入力していきますが、その際に色付けもするとより見やすくなります。
以上で1つ目のプルダウンの設定は完了です!
>Googleスプレッドシートの基本を身に付けたい人に最適な本を知る
② サブ項目のリストを作成する
続いて、既存のプルダウンに新たなプルダウンを連動させる方法です。
先ほど用意した項目を1列に入力し、各項目に対し分類Bのプルダウンで表示させたいサブ項目を入力していきます。
必ずしもシートを分ける必要はありませんが、見た目が整うので今回は別のシート「項目一覧」に2つ目のプルダウンの元となるサブ項目のリストを作成します。
画像のように先ほど用意した項目を1列に入力し、各項目に対しプルダウンで表示させたいサブ項目を入力していきます。
③ VLOOKUPでサブ項目を抽出する
サブ項目の入力が済んだら、その下にVLOOKUPを用いてプルダウンを連動させていきます。
- 1つ目のプルダウンで選択した項目をA列のセルに反映させる(=でセルを繋ぐだけ)
- VLOOKUPでサブ項目をB列以降に抽出
- サブ項目を2つ目のプルダウンに反映させる
VLOOKUP関数の使い方も簡単に載せておきます。
=VLOOKUP(検索する値、検索する範囲、抽出する列の番号、一致条件)
※抽出する列はA,B…ではなく、左から1,2,3のように数値で入力する
※一致条件は近似値ででも可能な場合はTRUE、完全一致の場合はFALSE
今回の7行目と8行目の関数は以下のようになっています。
A列→「=’プルダウン’!A2」
B列→「=VLOOKUP(A7,$A$2:$E$4,2,FALSE)」
C列→「=VLOOKUP(A7,$A$2:$E$4,3,FALSE)」
D列→「=VLOOKUP(A7,$A$2:$E$4,4,FALSE)」
A列→「=’プルダウン’!A3」
B列→「=VLOOKUP(A8,$A$2:$E$4,2,FALSE)」
C列→「=VLOOKUP(A8,$A$2:$E$4,3,FALSE)」
D列→「=VLOOKUP(A8,$A$2:$E$4,4,FALSE)」
④ 2つ目のプルダウンを設定する
元のシートに戻り、2つ目のプルダウンを設定していきます。1つ目のプルダウン同様、メニューから「データ」→「データの入力規則」を開き、「+ルールを追加する」を行います。
「範囲に適用」でプルダウンを設定したいセルあるいは範囲を選択し、条件を「プルダウン(範囲内)」にします。
データの範囲を先ほど準備したVLOOKUPの範囲に合わせます。今回、B2のセルにはシート「’項目一覧’!B7:E7」になります。
設定後、ドラッグしてセルB3,B4にコピーすれば完了です!(※この時「’項目一覧’!$B$7:$E$7」とならないよう注意が必要です)
上記のように分類Bのプルダウンが分類Aによって選択肢が変わることが確認できます。
Excelでも同様の方法で、プルダウン同士を連動させることができます。