The Choose function assigns to every row the value that corresponds to the index position, based on the number of the inputs or on the column.


Choose(index, value1, ...)

The function has the following arguments:

The index number of the returned value
The index must be a number, a formula, or a column that is a Number data type.
If the index is a number argument, the function returns only the value in the corresponding index position. If the argument is a column, the function returns the value that corresponds to each row's index number.Β 
The first of values where to match the index.
The list of values must have at least one element.
When an index number does not have a matching value, the function returns Null.
The value argument(s) can be Number, Logical, Text, or Date data types.
value2 ...
Additional values where to match the index


Choose(1, "value 1", "value 2", "value 3")

Returns value 1.

Choose([Weekday](doc:weekday)(\[Date\]), "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")

Returns the name of the day of the week falling on the date in the [Date] column.

Choose(\[Cohort Bins\], "One Week", "One Month", "Over a Month"

Returns the Time to Sale bucket each customer belongs to based on the Days First to Second Order column, which indicates the number of days between their first and second purchase.

Screenshot of function results

Choose(BinRange(\[Cost\], 50, 100, 200, 500, 1000), "under $50", "$50 +", "$100 +", "$200 +", "$500 +", "over $1,000")

The BinFunction here divides the Category column values into 6 bins, while the wrapping Choose function applies names the bins.

Related resources