条件が true の場合はある値を返し、同じ条件が false の場合は別の値を返します。

説明

If 関数は、true の結果が見つかるまで条件をテストします。 対応する値が結果として返されます。 If を使用すると、比較やその他のテストに基づいて異なる結果を返すことができます。

動作の数式If を使用すると、2 つのアクションに分岐することができます。 最大で 1 つの分岐が実行されます。 条件は順番に評価され、true の結果が見つかると、その後の条件は確認されません。

満たされる条件がなく、奇数個の引数が指定された場合は、最後の引数の値が返されます。 これは、一般的な If( Condition, Value, Else ) の場合です。 偶数個の引数が指定された場合は、"空白" が返されます。

構文

If( Condition, Result [, ElseResult ] )
If( Condition1, Result1 [, Condition2, Result2, ... [ , ElseResult ] ] )

  • Condition(s) – 必須。 true かどうかをテストする数式。 これらの数式には、通常、比較演算子 (<>= など) と、テスト関数 (IsBlankIsEmpty など) が含まれています。
  • Result(s) - 必須。 true に評価される条件について返される、対応する値。
  • ElseResult - 省略可能。 満たされる条件がない場合に返す値。 この引数を指定しない場合は、"空白" が返されます。

数式の値

次の例では、Slider1 という名前のスライダー コントロールに 25 という値が設定されています。

数式 説明 結果
If( Slider1.Value = 25, "Result1" ) 条件は true であり、対応する結果が返されます。 "Result1"
If( Slider1.Value > 1000, "Result1" ) 条件は false であり、ElseResult が指定されていません。 "空白"
If( Slider1.Value = 25, "Result1", "Result2" ) 条件は true であり、対応する結果が返されます。 "Result1"
If( Slider1.Value > 1000, "Result1", "Result2" ) 条件は false であり、ElseResult が指定されているため、それが返されます。 "Result2"
If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) 1 つ目の条件が true であり、対応する結果が返されます。 2 つ目の条件も true ですが、引数リストで最初の条件より後に存在するため、対応する値が返されません。 "Result1"
If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) スライダーの値は 25 で、"空白" ではないため、1 つ目の条件は false になります。 スライダーの値は数値であるため、2 つ目の条件は true になり、対応する結果が返されます。 "Result2"
If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") 1 つ目と 2 つ目の条件は両方とも false であり、ElseResult が指定されているため、それが返されます。 "Result3"

動作の数式での分岐

次の例では、FirstName という名前のテキスト入力コントロールに値 "John" が入力されています。

数式 説明 結果
If( !IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) 条件が true であり、Navigate 関数が実行されます。 IsBlank 関数を使用して、必要なフォーム フィールドが入力済みかどうかをテストすることができます。 テキスト入力ボックスがだった場合、この数式には効果がありません。 true

表示が Screen1 に変更されます。
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) . 演算子がない場合、条件は false であり、Navigate 関数は実行されません。 ElseResult が指定されているため、Back 関数が実行されます。 true

表示は、前に表示されていた画面に戻ります。

ステップ バイ ステップ

  1. 空の画面で、テキスト入力コントロールを追加し、Text1 という名前を付けます (既定でその名前が付いていない場合)。

  2. [Text1] に「15」と入力します。

  3. ラベルを追加し、その Text プロパティを次の数式に設定します。

数式 説明 結果
Text1.Text 条件指定されていないため、戻り値は入力テキスト コントロールの値になります。 "15"
If( Value(Text1.Text) < 40, "Order more!", Text1.Text ) 条件は true であり、対応する値が返されます。 "Order more!"
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text ) 1 つ目の条件は true であり、対応する値が返されます。 "Order MANY more!"