AppSheetでは、ユーザーが入力するデータの正確性や一貫性を保つために、Valid_Ifを使って入力制御を行うことができます。これにより、特定の条件を満たす場合のみ入力を許可したり、選択肢を絞り込んだりすることが可能になります。この記事では、Valid_Ifの基本的な使い方から、実践的な応用例までをわかりやすく解説します。
基本的な使い方
Valid_Ifの基本的な使い方を解説します。
editを選択します。

Data ValidityからValid_Ifを設定することができます。

Valid_Ifに
LEN([_THIS]) >= 5
と入力すると、5文字以上の入力のみ有効となります。

[_THIS]は、現在の行の現在の列の値です。
LENはテキスト値の文字数を返す関数です。
エラーのメッセージはInvalid value errorから設定することができます。


実践的な応用例
実践的な例をいくつか紹介します。
5文字以上かつ-を含む
AND(LEN([_THIS]) >= 5, CONTAINS([_THIS], "-"))
080で始まる
LEFT([_THIS], 3) = "080"
ハイフンと似た記号の入力を無効にする
NOT(CONTAINS([_THIS], "-"))
-で分割されたものが3つ(すなわち-が2つあるということ)
COUNT(SPLIT([_THIS], "-")) = 3
-で分割されたものの1つ目が3文字、2つ目が4文字、3つ目が4文字
AND(COUNT(SPLIT([_THIS], "-")) = 3, LEN(INDEX(SPLIT([_THIS], "-"), 1)) = 3, LEN(INDEX(SPLIT([_THIS], "-"), 2)) = 4, LEN(INDEX(SPLIT([_THIS], "-"), 3)) = 4)
00000か11111
IN([_THIS], LIST("00000", "11111"))
0より大きい、20000以下
AND([_THIS] <= 20000, [_THIS] > 0)
おわり
Valid_Ifを活用することで、AppSheetの入力フォームはより堅牢なものになります。条件に応じた入力制御はユーザー体験の向上だけでなく、データの品質維持にも大きく貢献します。ぜひ今回ご紹介したテクニックを参考に、あなたのアプリに最適な入力制御を実装してみてください。
コメント