AppSheetを使っていると、ユーザーが選択した内容によって、次の入力項目を遷移させたい場合があります。
ここでは実例を用いてその方法を解説しています。また、同時によく耳にする「Show_if」についても解説しています。
ビューの項目の表示・非表示の切り替えとは?
ここで言っているビューの項目の表示・非表示の切り替えとは次のようなものを指します。
例えば「判定」といった項目を設けて、「貸出」と「返却」のどちらかを選択できる状態にしておきます。
「貸出」を選択すると、その下に「貸出日」という入力項目が表示されます。
一方、「返却」を選択すると「返却日」という入力項目が表示されます。
ここではこういった入力された内容を用いて条件分岐することで、表示・非表示を出しわける方法についてまとめています。
結論
結論から言うと、この設定は表示または非表示の切り分けを行いたいカラムの「Show?」というところで行います。
以下で実際の細かい設定手順を記述します。
設定方法
設定をするには、対象のカラムの左端にある鉛筆アイコンをクリックします。
上の方にShow?という項目があります。デフォルトではチェックマークがついている状態になっています。
テーブルの表示では「SHOW?」の列が該当します。
数式を入力して、指定した条件が「true」の場合のみ表示する設定にするには、右側のフラスコマークをクリックします。
すると、数式を入力できるようになります。
ここに入力する数式は様々なものがありますが、一番多いのはおそらく「IF」です。
「IF」の構文は次のようになっています。
IF(logical-expression, value-if-true, value-if-false)
英語だとわかりにくいですね。日本語にすると次のようになります。
IF(条件式, trueの場合の値, falseの場合の値)
例えば、現在のテーブルの「判定」カラムの値が「貸出」なら「true」を、それ以外なら「false」とする記述は以下のようになります。
IF([判定]="貸出",true,false)
ビューの表示はデフォルトでは「判定」の下に何も表示されていません。
このときに「貸出」を選択すると、「貸出日」という入力項目が表示されます。
初めから表示させておきたい場合
上記の実例は選択した内容によって表示するものです。
これを、デフォルト状態では初めから表示しておき、選択内容によって表示・非表示を切り替えたい場合はShow?の数式を以下のようにします。
IF(OR([判定]="貸出",[判定]=""),true,false)
Show_ifとは何か?(Show_if expressionとは何か?)
Show?の説明の中に「Show_if」とうい単語が出てきます。見た目が関数っぽいですが、これは関数ではありません。
これは「Show_if expression」といって、Show_ifという構文です。つまりAppSheetに設けられた構文の1つということです。
このShow_if構文では、設定した値や条件式の結果がtrueになる場合はその項目を表示します。falseになる場合は非表示とします。
(参考)AppSheet Help: Conditionally show or hide a column value (Show_If)