Ifアクションの使用

条件をテストする最も一般的な方法は、If関数を使用することです。データテーブルの行を反復処理し、For Each Row関数を使って「grade」という列に値を入力するという文脈で、If関数を見てみましょう。実際には、For Each Row関数の文脈で各条件関数を見ていきます。If関数の引数の数は様々ですが、少なくとも2つの引数が必要です。最初の引数は常に条件です。これはブール値の結果として評価され、解釈されます。その条件の結果が真の場合、2番目の引数が評価され、If関数の結果として返されます。しかし、条件の結果が偽の場合、2番目の引数は評価されず、If関数は欠損値を返します。もちろん、If関数を3つの引数で呼び出すこともできます。その場合、最初の引数は評価され、ブール値の結果として解釈されます。条件が真の場合、2番目の引数が評価され、If関数の結果として返されます。そして、条件が真の場合、3番目の引数は評価されません。ただし、最初の引数の結果が偽の場合、2 番目の引数は評価されず、3 番目の引数が評価されて If 関数の結果として返されます。If 関数を 4 つの引数で呼び出すこともできます。JMP は最初の引数を評価し、それをブール値の結果として解釈します。結果が真の場合、2 番目の引数が評価されて If 関数の結果として返され、3 番目と 4 番目の引数は評価されません。結果が偽の場合、2 番目の引数は評価されず、3 番目の引数が評価されてブール値の結果として解釈されます。3 番目の引数の結果が真の場合、4 番目の引数が評価されて If 関数の結果として返されます。ただし、3 番目の引数の結果が偽の場合、4 番目の引数は評価されず、If 関数は欠損値を返します。そして、何だと思いますか?If 関数を 5 つの引数で呼び出すこともできます。最初の引数が評価され、ブール値の結果として解釈されます。結果が真の場合、2 番目の引数が評価されて If 関数の結果として返されます。 3 番目、4 番目、5 番目の引数は評価されません。結果が false の場合、3 番目の引数が評価され、ブール値の結果として解釈されます。3 番目の引数の結果が true の場合、4 番目の引数が評価され、If 関数の結果として返されます。2 番目と 5 番目の引数は評価されません。結果が false の場合、4 番目の引数は評価されず、5 番目の引数が評価され、結果として返されます。実際には、If 関数には任意の数の引数を割り当てることができます。引数の数が偶数の場合、奇数番目の引数は条件であり、偶数番目の引数は条件が true の場合に返される結果です。どの条件も true と評価されない場合、If 関数は欠損値を返します。引数の数が奇数の場合、最後の引数は Else 結果であり、どの条件も true と評価されない場合にこれが返されます。条件が true と評価され、対応する結果引数が評価されるとすぐに、他の引数は評価されないことに注意することが重要です。つまり、If ステートメントには複数の true 条件が含まれる可能性がありますが、最初の true 条件に遭遇すると、他の条件はどれも評価されません。