Exceljet

Quick, clean, and to the point

Excel CHOOSE Function

Excel CHOOSE function
Summary 

The Excel CHOOSE function returns a value from a list using a given position or index. For example, =CHOOSE(2,"red","blue","green") returns "blue", since blue is the 2nd value listed after the index number. The values provided to CHOOSE can include references.

Purpose 
Get a value from a list based on position
Return value 
The value at the given position.
Syntax 
=CHOOSE (index_num, value1, [value2], ...)
Arguments 
  • index_num - The value to choose. A number between 1 and 254.
  • value1 - The first value from which to choose.
  • value2 - [optional] The second value from which to choose.
Version 
Usage notes 

The CHOOSE function returns a value from a list using a given position or index. The values provided to CHOOSE can be hard-coded constants or cell references. The first argument for the CHOOSE function is index_num. This is a number that refers to subsequent values by index or position. The next arguments, value1, value2, value3, etc. are the values from which to choose from. Choose can handle up to 254 values. However, CHOOSE will not retrieve an item from inside range or array constant provided as a value.  For larger sets of data in a table or range,  INDEX and MATCH is a better way to retrieve a value based on position.

Examples

The formulas below use CHOOSE to return the 2nd and 3rd values from a list:

CHOOSE(2,"red","blue","green") // returns "blue"
CHOOSE(3,"red","blue","green") // returns "green"

Above, "blue" is the second value, and "green" is the third value. In the example shown in the screenshot, the formula in cell C5 is:

CHOOSE(B5,"red","blue","green") // returns "red"

CHOOSE will not retrieve values from a range or array constant. For example, the formula below will return a #VALUE error:

=CHOOSE(2,A1:A3)  // returns #VALUE

This happens because the index number is out of range. In this case, the required syntax is:

=CHOOSE(2,A1,A2,A3)

To retrieve the nth item from a range, use INDEX and MATCH. CHOOSE can be used to provide a variable table to a function like VLOOKUP:

=VLOOKUP(value,CHOOSE(index_num,rng1,rng2),2,0) // variable table

Notes

  • If index_num is out of range, CHOOSE will return #VALUE
  • Values can also be references. For example, the address A1, or the ranges A1:10 or B2:B15 can be supplied as values.
  • CHOOSE will not retrieve values from a range or array constant.

Download 100+ Important Excel Functions

Get over 100 Excel Functions you should know in one handy PDF.