AppSheetで選択式の入力欄を作る時は、TYPEにEnumやEnumList、もしくは、Refを指定します。
Enum、EnumListは選択肢をあらかじめ決めておいて手で入力、Refはテーブルの列を指定して選択肢にする・・・という使い方が基本になります。
なお、EnumまたはRefにした場合、利用者は値を1つだけ選択でき、EnumListにした場合は、利用者は値を複数選択することができます。
今回、テーブルの列を選択肢に指定したいけど、複数選択できるようにしたいという要件があったため、試してみました。
EnumListで選択肢にテーブルの値を指定する
Data > Columns > 該当項目の鉛筆マークより設定します。
![Data > Columns > 該当項目の鉛筆マークで設定画面を開く](https://web-breeze.net/wp-content/uploads/2021/08/image-15-725x367.png)
下図のように設定しました。
TypeをEnumListに、Base TypeをRefに、Referenced table nameに選択肢となる列を指定しました。
![EnumListの選択肢をテーブルから設定する方法](https://web-breeze.net/wp-content/uploads/2021/08/image-16-496x600.png)
これだけで設定は完了です。
下図のように、複数の選択肢をチェックできるようになっています。
![EnumListとRefを組み合わせた結果](https://web-breeze.net/wp-content/uploads/2021/08/image-17-573x600.png)
複数選択後はこんな感じになります。
![EnumList + Refで複数選択した場合](https://web-breeze.net/wp-content/uploads/2021/08/image-18.png)
複数の選択肢を選ぶことができました。
補足ですが、Data ValidityのValid IfにFilter関数を設定することで、リストに表示する値を制限することができます。
たとえば、備品テーブルのうち、備品状態が「正常」の備品だけをEnumListの選択肢にする場合は下記のようになります。
FILTER(備品,[備品状態]="正常")
コメント