スプレッドシートのプルダウンは、入力する値をあらかじめ用意しておけるため、意図しないデータの入力などを止めることができ非常に便利です。
しかし、以下のようにプルダウンの選択肢が多いと入力したい値を探すのが大変なため、そのような場合はプルダウンを連動させて選択肢を減らしてあげるとよいでしょう。
完成イメージ
プルダウンの連動は「参照元データテーブル」と「可変データテーブル」を用意することで実現できます。
プルダウンの基本的な使い方やカスタマイズ方法については「【スプレッドシート】最新プルダウンの作成|カスタマイズ方法も解説」で解説しています。
連動したプルダウンを作成する方法
今回は各クライアントに1人の担当者がついているという前提で、担当者を選択すれば担当しているクライアントだけがプルダウンに表示されるように作成していきます。
複数のプルダウンを連動させるには「参照元のデータテーブル」と「可変データテーブル」の2つが必要です。
順番に作成していきましょう。
参照元のデータテーブルの作成
まずは参照元のデータテーブルを作成します。
新しいワークシートを作成し、シート名を「参照元データテーブル」とします。
「参照元データテーブル」シートは、A列に担当者の名前をB列以降に担当しているクライアントの名前を入力していきます。
大項目のプルダウンの作成
参照元のデータテーブルができたら、次に大項目のプルダウンを作成していきます。
今回はB列の担当者が大項目になるので、この列を先ほど作成した「参照元データテーブル」のA列を参照するようにプルダウンを作成します。
='参照元データテーブル'!$A$1:$A$5
大項目の値によって変更する可変データテーブルの作成
次に可変データテーブルを作成します。可変データテーブルとは、大項目の選択肢に応じて値が変化するデータテーブルです。
新しいワークシートを作成し名前を「可変データテーブル」としてください。それでは作成していきます。
可変データテーブルのA2セルに、大項目の担当者を表示するために以下の関数を入力します。
=ArrayFormula('連動後'!B2:B)
これで、大項目で選択した担当者が可変データテーブルのA列にも表示されるようになります。
次に、表示した担当者に紐づいたクライアントを抽出する関数をB2セルに入力します。
=iferror(XLOOKUP($A2,'参照元データテーブル'!$A$1:$A,'参照元データテーブル'!$B$1:$G$5),"担当者を選んでください")
B2セルに関数を入力したら、B11セルまでコピーします。
これで可変データテーブルの完成です。
可変データテーブルを参照するプルダウンを作成
可変データテーブルが作成できたら、これらを参照するプルダウンを「連動後」シートの大項目の横に作成します。
条件範囲は可変データテーブルを指定します。
='可変データテーブル'!$B2:$G2
以上でプルダウンの連動は完了です。
「連動後」シートのクライアント名のプルダウンは、担当者に紐づいたものしか表示されないようになりました。
担当者を選択していない状態でクライアント名を選択しようとすると何も表示されず不親切なため、可変データテーブルのB列に入力した関数内で「担当者を選んでください」と表示されるようにしています。