The Excel CHOOSE function allows you to select a value from a larger set of options by adding an index of the value you want to retrieve.
For example, the =CHOOSE(3,”apple”,”melon”,”banana”) will return “banana”, since banana is the 3rd value listed based on the index number. There are two restrictions: You can use only positive integer values as a first argument. Furthermore, the CHOOSE function supports selecting values (index numbers) between 1 and 254.
Syntax
=CHOOSE (index_num, value1, [value2], ...)
Arguments
The function uses at least two required and optional arguments:
- index_num – The selected value, index_num, should be between 1 and 254.
- value1 – The first variable in the list you can choose.
- value2 – [optional] The second value to select.
CHOOSE function examples
Use the following formulas to return the first, second, and third values from a predefined list:
=CHOOSE(1, “apple”, “melon”, “banana”, “lemon”) //returns “apple”
=CHOOSE(2, “apple”, “melon”, “banana”, “lemon”) //returns “melon”
=CHOOSE(3, “apple”, “melon”, “banana”, “lemon”) //returns “lemon”

The function is not able to manage ranges. If you add a range as a second parameter, Excel will return a #VALUE error.
=CHOOSE(3,B1:B3) = #VALUE
The formula returns error, because the proper syntax is =CHOOSE(3,B1, B2, B3)
CHOOSE work great if the list is short. However, if you have a large data set, we recommend using the much faster and more versatile XLOOKUP function to get the selected value based on a position.
=XLOOKUP(300,A1:A300,B1:B300) will return the 300. record from column B.
Don’t forget the most important disadvantages of using the CHOOSE function: You have to use hardcoded values, like {“apple”, ”banana”, ”melon”}. You can fill the array manually using text values so that the formula can be long.
Workaround with CHOOSEROWS user-defined function
The CHOOSEROWS function handle ranges without any trouble. The first argument is an array, where you find the nth value.
=CHOOSEROWS(C3:C5,3) //returns "banana"

The result is the same, but the formula is simple. Alternatively, you can use an OFFSET-based formula.