Ragicは 条件式をサポートしています。条件式は 大文字と小文字を区別し、 フィールド入力タイプ によって計算方法が変わる場合があることに注意してください。
例えば、文字列を含む自由入力や選択フィールドで使用する場合、参照するフィールド名に「.RAW」を付加する必要がありますが(下記「IF関数による文字列条件」を参照)、数値フィールドの参照に使用する場合は不要になります。 日付フィールドは日数として計算されます。
条件式は入れ子にすることが可能です。
IF関数
IF関数は、指定した条件がTRUEと判定された場合に1つの値を返し、FALSEと判定された場合にもう1つの値を返します。
関数 | 構文 |
---|---|
IF | IF(value==condition,[value_if_true],[value_if_false]) |
例
簡単な例:if(a2==10,10,0)
参照フィールドA2の値が10に等しい場合、このフィールドの値は10となる。 A2の値がそれ以外の場合、このフィールドの値は0となる。
結果として文字列値を出力: IF(A1==1,'true','false')
参照フィールドA1の値が1に等しい場合、このフィールド値は "true "となる。それ以外のA1の値の場合、このフィールド値は "false "となる。
実用例: IF(A2>=60,'yes','no')
年齢フィールドが60以上の場合、このフィールド "qualifies for senior discount?" の値は "yes" となり、それ以外の場合、値は "no" となる。
備考
RagicでIF関数を使用する古い構文もまだサポートされています。
Value=='condition'?'[value_if_true]':'[value_if_false]'
基本例: A1=='open'?'O':'C'
A1が"open"ならOを、"open"でないならCを出す。
IF関数による文字列条件の参照
数値フィールドや選択肢フィールドで文字列値を参照したい場合は、参照するフィールドの後ろに .RAW を付けてください。
構文 |
---|
IF(value.RAW='string condition',[value_if_true],[value_if_false]) |
例
基本例: IF(A1.RAW=='Active',1,0)
参照フィールドA1の値が "Active "であれば、このフィールドの値は1になる。A1の値がそれ以外の場合は、このフィールドの値は0となる。
結果として文字列の値を持つこと: IF(A1.RAW=='Pending','Open','Closed')
参照フィールドA1の値が "Pending "であれば、このフィールドの値は "Open "となる。A1の値がそれ以外の場合、このフィールドの値は "Closed "となる。
LOOKUP関数
数式での条件処理は、LOOKUP関数でも可能であり、条件処理と同じ効果が得られます。
数式 | 構文 |
---|---|
LOOKUP | LOOKUP(value,lookup_list,[result_list]) |
lookup_list 内の値を検索し、result_list 内の同じ位置の値を返す。
value はlookup_rangeで検索する値である。
lookup_list は、例えば [0,100,500] のような配列で、LOOKUP 関数はこの中から値を探します。
result_list はオプションで、lookup_list と同じで、例えば ['Small', 'Medium', 'Large'] のようになります。 result_list のパラメータが省略された場合、LOOKUP 関数は lookup_list の値を返します。LOOKUP関数が完全に一致する値を見つけられなかった場合、result_listの中でその値以下の最大の値を選択して返します。 もし、この値がresult_listのすべての値より小さければ、LOOKUP関数は空の条件を返します。
例
簡単の例: LOOKUP(A1,[0,45,65],['Small','Medium','Large'])
フィールドA1の値が0~44の場合はsmall、45~64の場合はMedium、65以上の場合はLargeになります。
複数フィールドの例: LOOKUP(A1,[0,45,65],[A3+A4,B5,B6])
A1が0~44の場合はA3+A4、45~64の場合はB5、65以上の場合はB6になります。
AND関数
すべての条件を満たす場合に TRUE を、1つ以上の条件を満たさない場合に FALSE を返す。
関数 | 構文 |
---|---|
AND | AND(logical1, [logical2], ...) |
AND関数には、以下のパラメータが必要です:
logical1 は、戻り値が TRUE か FALSE かを決定する最初の条件として必要です。
logical2, ... が非必須で、他の条件も判定時に TRUE または FALSE の返り値に影響する。
OR関数
いずれかの条件を満たしたときに TRUE を、いずれの条件も満たさなかったときに FALSE を返す。
関数 | 構文 |
---|---|
OR | OR(logical1, [logical2], ...) |
OR関数には、以下のパラメータが必要です:
logical1 が必要で、 logical2, ... などの他の論理条件は非必須。
テストしたい追加の条件は、TRUE または FALSE として評価することができます。引数は、TRUE や FALSE のような論理値、あるいは論理値を含む配列や参照で評価する必要があります。