AppSheet で、Valid_If の制約があるフィールドに、その制約を満たす値の一覧からなるプルダウンを表示できます。
Valid_If の式は以下のいずれかになります:
1. 定数値のリスト
例: {100, 200, 300}
許可される値のリストを指定する場合、これは、IN() 関数を使用する式を短縮した表現になります。たとえば、{100, 200, 300} は IN([_THIS], {100, 200, 300}) と同じです。
2. 他のテーブルの列の値のリスト
例: LookupTable[ColumnC]
ここで、LookupTable は、プルダウンの値を含むテーブルの名前です。ColumnC は、プルダウンの値を含む列の名前です。
これは、アプリが使用されていくに従い、許可される値のリストが変化する可能性がある場合に特に便利です。
3. 行がフィルタリングされている他のテーブルの列の値のリスト
例: SELECT(LookupTable[ColumnC], [ReportDate] > Today() - 7)
ここで、LookupTable は、プルダウンの値を含むテーブルの名前です。ColumnC は、プルダウンの値を含む列の名前です。[ReportDate] > Today() - 7 は、テーブル内の行をフィルタリングして、ReportDate が過去 1 週間以内のもののみを表示するようにするための式です。LookupTable の ColumnC の結果の値が、許可された有効な値のリストになります。
4. 他のテーブルの列の値を並べ替えて表示したリスト
例: SORT(LookupTable[ColumnC])
ここで、LookupTable は、プルダウンの値を含むテーブルの名前です。ColumnC は、プルダウンの値を含む列の名前です。
値のリストは昇順で並べ替えられます。昇順ではなく降順にする場合は、SORT(LookupTable[ColumnC], true) を使用します。
Ref 列の Valid_If プルダウン
Valid_If を使用して、Ref 列のプルダウンを変更することもできます(たとえば、利用できるオプションをフィルタリングできます)。ただし、考慮すべき追加の検討事項がいくつかあります。