
Bedingungen sind häufig auf bestimmte Werte beschränkt, die sowohl numerische als auch Zeichendaten sein können. In diesem Fall können Sie die Match-Funktion verwenden. Die Match-Funktion ist eine spezielle Bedingungsfunktion mit drei oder mehr Argumenten. Das erste Argument wird ausgewertet und als abzugleichender Wert verwendet. Das zweite Argument wird ausgewertet und als Boolescher Wert interpretiert. Wenn der Wert „true“ ist, d. h. das zweite Argument mit dem Ergebnis des ersten Arguments übereinstimmt, wird das dritte Argument ausgewertet und dieses Ergebnis als Ergebnis der Match-Funktion zurückgegeben. Andernfalls wird das dritte Argument nicht ausgewertet, und die Match-Funktion gibt einen fehlenden Wert zurück. Wie bei der If-Funktion können Sie beliebig viele Werte- und Ergebnisargumentpaare verwenden. Sobald ein „true“-Ergebnis zurückgegeben wird, wird das entsprechende ungerade Argument ausgewertet, und keines der verbleibenden Argumente. Natürlich ist es auch möglich, ein „else“-Ergebnis in die Match-Funktion einzufügen. Die Verwendung dieses optionalen letzten Arguments bedeutet, dass die Funktion niemals einen fehlenden Wert zurückgibt. Wenn keines der vorherigen geraden Argumente ein wahres Ergebnis zurückgibt, gibt die Funktion stattdessen das sonstige Ergebnis zurück. Eine noch speziellere Situation liegt vor, wenn die Bedingungen durch einen Index dargestellt werden (d. h. einen ganzzahligen Wert größer als null). In diesem Fall können Sie die Funktion „Choose“ verwenden, die mindestens zwei Argumente benötigt. Das erste Argument ist ein Ausdruck, der ausgewertet und verwendet wird, um den Index des richtigen Ergebnisarguments zu bestimmen. Anschließend wird das entsprechende Ergebnis als Ergebnis der Funktion „Choose“ zurückgegeben. Im gezeigten Beispiel verwenden wir die Funktion „Day of Week“, die für jeden Wochentag einen ganzzahligen Wert zurückgibt. Wenn der Ausdruck also beispielsweise ausgewertet wird, wird das dritte Ergebnis (in diesem Fall Dienstag) zurückgegeben. Anders als die Funktionen „If“ und „Match“ gibt die Funktion „Choose“ niemals einen fehlenden Wert zurück. Wenn das Ergebnis des Ausdrucks stattdessen ein Index ist, der höher ist als die Anzahl der Ergebnisargumente, wird das letzte Argument ausgewertet und als Ergebnis der Funktion „Choose“ zurückgegeben.