Choose()関数は、引数を整数と比較する場合にMatch()よりも短く記述することができます。構文は次のとおりです。
Choose( expr, result1, result2, result3, ..., resultElse );
データテーブルのgroup列に、1から7までの数値が入っているとします。次のスクリプトは、最初のセルに数字の1があるときにx="低"を戻します。
x = ( Choose( group[1], "低", "中", "高", "不明" ); );
Show( x );
このスクリプトは次のように機能します。
x = |
x変数を作成する。 |
Choose( |
Choose()ループを開始する。 |
group[1], |
groupの一行目にある値を評価する。 |
"低", |
groupの値が1の場合、"低"を戻す。 |
"中", |
groupの値が2の場合、"中"を戻す。 |
"高", |
groupの値が3の場合、"高"を戻す。 |
"不明" |
それ以外の場合は、"不明"を戻す。 |
) |
ループを終了する。 |
); |
x変数を閉じる。 |
Show( x ); |
xの値を戻す。 |
式が範囲外の整数(たとえば、置換用の値が4つしかないのに7が入力されたとき)を評価した場合は、最後の結果が戻されます。前述の例では、"不明"が戻されます。
If()およびMatch()では、Choose関数と同じ結果を得るためにより多くのコードが必要になります。
If(
group[1] == 1, "低",
group[1] == 2, "中",
group[1] == 3, "高",
"不明"
);
Match( group, 1, "低", 2, "中", 3, "高", "不明" );
メモ: 式内のデータタイプが一致しないときは、列のデータタイプが自動的に変更されます。