MATCH
- MATCH(lookup_value, lookup_array, reverse_search=False)[source]
The MATCH function searches for a specified value within an array and returns its 1-based index. If the value is not found, the formula evaluates to an error value. An optional argument reverse_search can be provided; if set to True, the search begins at the end of the array and moves backwards. If the array contains duplicates, MATCH returns the first occurrence. If any argument is blank or in an error state, the formula evaluates to an error.
- Parameters:
lookup_value (
Operand|int|float|str|bool) – The value to search for in lookup_array. Must be compatible with the array elements. If lookup_value is blank or in an error state, or the value is not found, the returned formula will evaluate to an error.lookup_array (
Operand) – The array in which to search for lookup_value. Must be a valid array type and compatible with the data type of lookup_value. If the array is blank or in an error state, the formula will evaluate to an error.reverse_search (
bool|Operand) – Optional. If True, the search starts from the end of the array and moves backward. Defaults to False. Only BOOLEAN values are accepted; otherwise, a ValueError is raised.
- Return type:
- Returns:
The 1-based index of the array where the match is found. If the value is not found, the formula will evaluate to an error.
- Raises:
ValueError – if the data type of lookup_value is not a singular version of the data type of lookup_array.
Examples
Basic usage:
MATCH(5, [1, 3, 5, 7]) # Returns 3
Using reverse search:
MATCH(5, [1, 3, 5, 7], reverse_search=True) # Returns 2
``lookup_value`` — accepted types
BOOLEAN
DATE
DATETIME
DECIMAL
INTEGER
OBJECT
STRING
TIME
``lookup_array`` — accepted types
BOOLEAN_ARRAY
DATETIME_ARRAY
DATE_ARRAY
DECIMAL_ARRAY
INTEGER_ARRAY
OBJECT_ARRAY
STRING_ARRAY
TIME_ARRAY
``reverse_search`` — accepted types
BOOLEAN
Return types
INTEGER