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