Match関数とChoose関数の使用
条件を特定の値に制限することはよくあり、これらの値は数値または文字データである可能性があります。このような状況では Match 関数を使用できます。Match 関数は、3 つ以上の引数を取る特殊な条件関数です。最初の引数は評価され、一致対象の値として使用されます。2 番目の引数は評価され、ブール値として解釈されます。値が true の場合、つまり 2 番目の引数が最初の引数の結果と一致する場合、3 番目の引数が評価され、その結果が Match 関数の結果として返されます。それ以外の場合、3 番目の引数は評価されず、Match 関数は欠損値を返します。If 関数と同様に、値と結果の引数のペアは必要なだけ持つことができ、If 関数と同様に、true の結果が返されると、対応する奇数番目の引数が評価され、残りの引数は評価されません。もちろん、Match 関数に else 結果を含めることもできます。このオプションの最後の引数を使用すると、関数は欠損値を返しません。代わりに、前の偶数引数のいずれも true 結果を返さない場合、関数は else 結果を返します。さらに特殊な状況として、条件がインデックス (つまり、ゼロより大きい整数値) で表される場合があります。この場合、少なくとも 2 つの引数を取る Choose 関数を使用できます。最初の引数は式であり、これを評価し、正しい結果引数のインデックスを判別するために使用されます。その後、対応する結果が Choose 関数の結果として返されます。示されている例では、曜日ごとに整数値を返す Day of Week 関数を使用しています。したがって、式がたとえばと評価された場合、3 番目の結果 (この場合は Tuesday) が返されます。If 関数や Match 関数とは異なり、Choose 関数は欠損値を返すことはありません。代わりに、式の結果が結果引数の数よりも大きいインデックスである場合は、最後の引数が評価され、Choose 関数の結果として返されます。