本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。
本ブログでは新UI画面で内容をまとめています。
新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)
まずはじめに
- Valid ifの基礎を勉強したい人
- アプリを利用する人によって入力する値に制限を付けたい人
- Valid ifに入力する関数の例を勉強したい人
- Valid ifに関数を入力することで、アプリ開発者が欲しいデータを収集できる
- Yes/NoとList の関数が理解できる
今回の記事内容は、アプリに入力される値に制限を付ける設定です。
アプリ開発者にとって想定外のデータが入力されるとそれを検知し、自動的に入力を弾くことが出来ます。
内容的には中級者以上の話になります。
この記事の読者の方は、ここに気づけるくらいアプリ開発に余裕が出てきた証拠(^^)
私がよく使うValid ifに送る関数や設定を記事にまとめましたので、参考にしてください。
それでは勉強していきましょう!
Valid ifとは?
Valid ifは、DataペインのColumnタブのカラム値を編集する画面にあります。
Data ValidityにValid ifとInvalid value errorがあります。
Valid if:入力制限を判定する関数を入力する
Invalid value error:入力された値がエラーの時に画面に表示させるメッセージ
次に、Valid ifに入力が求められる関数を確認してみましょう。
Valid ifに入力できる関数は2パターンあります。
- はい か いいえ で答えることが出来るYes/No関数
- 入力値を指定するリストを送るList関数
まずはこの基本をしっかりと抑えてください(^^)
AppSheetがどんなタイプの関数を求めているかを理解することが上達への近道です!
それぞれの関数で代表的なものをまとめました
Yes/Noを返す条件式が求められる箇所や関数についてまとめました(^^)
【永久保存版】AppSheetで覚えておくべきYes/No関数
リスト関数の入力が求められる箇所や代表的なものをまとめました(^^)
【永久保存版】AppSheetで覚えておくべきList関数
オススメの入力制限
続いて、私がValid ifでよく使う設定をまとめました。
今回検証に用いたテーブルの関係性はこちら(^^)
カラムは以下としました。
- 入力者:ユーザーテーブルとref関係を結びつけるカラム
- 所属:[入力者].[所属]の関数で値を引っ張り出すためのカラム
- 日付:データタイプDateのカラム
- 入力制限の判定:Valid if の効果を確認するためのカラム
- 名前:Label値として表示させるカラム
- email:Key値として設定するカラム
- 所属:[入力者].[所属]の関数で情報を紐つけるためのカラム
それでは検証していきましょう(^^)
登録されているデータをリストとして表示させる
まず、設定が一番簡単な入力して欲しい値をリストとして送る設定を説明します。
設定方法は非常に簡単です。
テーブル名[カラム名]
これをValid ifに入力するだけです。試しにVaild ifにユーザー[名前]を入力してみると・・
入力制限の判定カラムは、任意の値を入力することが可能です。
ユーザー[名前]の関数をValid ifに入力すると、入力値はボタンの選択肢になります。
日付カラムの入力値によって対象カラムの入力を制限させる
続いて、データが入力される日付で入力制限を持たせる設定を作成してみましょう。
用いる関数はEOWEEK()関数です!
EOWEEK()関数について深く勉強したい方は、こちらの記事を参考にしてください(^^)
【これで解決!】EOWEEK()関数とEOMONTH()関数の使い方
今回は入力週の翌週水曜日以降をターゲットにしてみました(^^)
Valid ifに入力する関数は、以下を用いました。
来週の月曜日が良ければ4を2に、来週の金曜日が良ければ4を6にすればOK!!
2022/07/20 以降の日付を入力しない場合、入力値が弾かれますが・・
関数の条件を満たす日付(来週の水曜日以降)だと入力を受け付けます(^^)
文字数と特定の文字が含まれているかどうかを判定する
続いて、入力された値が取得したい文字列であるかを検証する関数を検討してみましょう。
こういった時に役立つ関数は、以下の関数です(^^)
- LEN()関数:文字数を数える関数
- CONTAINS()関数:文字列の中に対象の文字があるかを判定する関数
- RIGHT()関数とLEFT()関数:文字列の◯番目に対象の文字があるかを判定する関数
別の記事でこれらの記事についてまとめています
知っていると便利なText関数を厳選してまとめました(^^)
【永久保存版】AppSheetで覚えておくべきText関数
それでは関数を入力して検証してみましょう!
文字列の始めが9でも、文字列が5文字以上であるためNG
文字列が5文字でも、最初が9ではないためNG
文字数が5、かつ文字列の始めが9である場合は、入力を受け付けてくれます(^^)
もう1つ試しに入力してみました。
携帯番号をハイフンありで入力すると弾かれますが
ハイフン無しで携帯番号を入力すると受け付けてくれます(^^)
〇〇以上、〇〇以下を満たしているかを判定する
続いて、入力された数字が指定された範囲に入っているかを判定する関数を検証してみましょう。
入力値が5未満でないため入力が弾かれますが
1だと入力値が0以上5未満であるため、入力値として受け付けてくれます(^^)
アプリユーザーによって入力値を変更させる
最後に、アプリのユーザーによって表示される項目を動的に変更する設定をしてみます(^^)
こういった時に役立つ関数は以下の関数です(^^)
- SELECT()関数:対象となるユーザーのリストを返す関数
- LIST()関数:リストを生成する関数
- IF()関数:条件分岐を2つ作ることが出来る関数
- IFS()関数:条件分岐を2つ以上作ることが出来る関数
これらの関数については、参考記事で解説しています
AppSheetで最重要関数です(^^)
【これで解決!】SELECT()関数の使い方
リスト関数の入力が求められる箇所や代表的なものをまとめました(^^)
【永久保存版】AppSheetで覚えておくべきList関数
条件分岐をしたい場合に使う関数をまとめました(^^)
【永久保存版】AppSheetで覚えておくべきConditional関数
それでは関数を入力して検証してみましょう!
今回の記事では、所属カラムに着目して選択肢を作成してみました。
所属が開発部のAさんは、選択肢がA型、B型、O型になります。
所属が営業部のBさんは、選択肢が天秤座、山羊座、魚座になります。
所属が経理部のCさんは、選択肢が読書、ドライブ、キャンプになります。
まとめ
以上、入力制限についてまとめた記事でした(^^)
入力制限をしたければValid ifに関数を入力すればいい
まずはこれを覚えておいてください。あとはそこに関数を送るだけ・・
この記事では汎用性が高い設定をまとめたつもりですが、他にもこんなのがあった!とか見つけたら記事を更新していきます。
応用を学びたい人はこちらの記事を参考にしてください
全角英数字や半角英数字などカラムに登録する値を制限する方法が学べます(^^)
【これで解決!】半角英数字のみ入力を許す方法
記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。
わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!
勉強お疲れさまでした(^^)