Compareフィールドは演算子(> < >= <= <> =
)で値を検証し、結果がTrueなら1、Falseなら0を返します。IFフィールドと組み合わせて真・偽で値を返せます。
{ Compare
値★ 演算子
値★
} →
Trueなら1、Falseなら0
★Compareフィールドで検証できる値には、文字・値・数字・ブックマーク名・フィールド・数式があります
。
文字
{Compare aiueo = aiueo } 結果1
数式
{Compare {= 2+2} = 4 } 結果1
フィールド
{Compare {MERGERFIELD 年齢 } >= 20 }
ブックマーク名
{Compare age >= 20 }
例1
{MERGEFIELD 点数} が80の時…
{Compare {MERGEFIELD 点数} >= 60}
結果は1
例2
{MERGEFIELD 点数} が80で、80点以上は「合格」
{ if {Compare {MERGEFIELD 点数}
>= 80 } =1 "合格" "不合格" }
結果は合格
↑の場合、Compareの利点が分かりづらいですが、複雑なAND条件・OR条件では活躍します。(例3)
例3
Compareフィールドの結果(Trueなら1、Falseなら0)の合計数
で条件を作成できます。AND条件なら合計が○なら…(全て合致)、OR条件なら合計が1以上なら…(いずれか合致)
とできます。
例:「英語」
も「数学」も「国語」も80点以上なら【合格】そうでなければ【不合格】と表示
{ IF {= {Compare {MERGEFIELD
英語 }
>= 80}
+ {Compare
{MERGEFIELD
数学}
>= 80}
+
{Compare {MERGEFIELD
国語}
>= 80}}
=3
"合格"
"不合格"
}
例:「英語」「数学」
「国語」のいづれかが80点以上なら【合格】そうでなければ【不合格】と表示
{ IF {= {Compare {MERGEFIELD
英語 }
>= 80}
+ {Compare
{MERGEFIELD
数学}
>= 80}
+
{Compare {MERGEFIELD
国語}
>= 80}}
>=1
"合格"
"不合格"
}
★
補足:条件が2つまでなら式フィールドでAND関数・OR関数も使えます。(AND/OR関数の引数は2つまで)
■ AND関数
{=AND(x,y)} ■
例:「
英語」も「数学」も80点以上なら【合格】そうでなければ【不合格】と表示
{ IF
{=and({ MERGEFIELD
英語 }
>=
80, { MERGEFIELD
数学
}
>=
80)} = 1 "合格"
"不合格"
}
And関数は2つの条件がTrueの場合に1を返すため、Ifフィールドで=1なら…の条件式を作成できます。
■ OR関数 {=OR(x,y)}
■
例:「英語」か「数学」が80点以上なら【合格】そうでなければ【不合格】と表示したい
{ IF
{=or({ MERGEFIELD
英語 }
>=
80, { MERGEFIELD
数学
}
>=
80)} = 1 "合格"
"不合格"
}
Or関数はどちらか1つの条件がTrueの場合に1を返すため、Ifフィールドで=1なら…の条件式を作成できます。
【応用】AND条件とOR条件が混ざった場合も対応できます。
例:6歳以下または65歳以上で(←OR条件)区内在住なら(← AND条件)無料
( OR関数でTrueなら1、区内在住でTrueなら1、合計2なら無料)
{
IF { =
{=OR(
{Compare {MERGEFIELD
年齢}
<= 6}
, {Compare {MERGEFIELD
年齢}
>= 65} )} + {Compare {MERGEFIELD
在住}
= "区内"
}} =
2 "無料"
"有料"
}
または…
{IF{={Compare
{MERGEFIELD 年齢}<=6}+{Compare{MERGEFIELD
年齢} >= 65}
+
{Compare {MERGEFIELD 在住}="区内"}}
= 2 "無料" "有料"}
|
|