CHOOSE Function

CHOOSE Function

CHOOSE Function

Select a value or reference from a list based on an index number. CHOOSE is useful for fixed option lists, scenario switches, and simple mapping formulas.

ExcelClash Team
PUBLISHED

Summary

The Excel CHOOSE function uses an index number to return one value from a list of values. Microsoft describes it as a way to select one of up to 254 values based on position. If the index is 1, CHOOSE returns the first item. If the index is 2, it returns the second, and so on.

That makes CHOOSE useful when the list of possible results is fixed and small. Instead of writing several IF tests, you can map position 1 to one result, position 2 to another, and position 3 to another.

CHOOSE can return either ordinary values or references. That second behavior is important because it means the function can also be used to switch between ranges, not just between text labels or numbers.

Purpose

Pick one item by position

Returns the first, second, third, or later item from a fixed list based on the index number.

Return Value

Selected value or reference

Returns the item at the chosen position. That item can be text, a number, a formula result, or a range reference.

Syntax

=CHOOSE(index_num, value1, [value2], ...)

index_num tells Excel which item to return, and the remaining arguments are the available choices. For example, =CHOOSE(2, "Red", "Blue", "Green") returns "Blue" because it is the second item in the list.

Microsoft notes that index_num must be between 1 and 254. If it is less than 1 or greater than the number of values provided, CHOOSE returns #VALUE!. If the index is a fraction, Excel truncates it to the lower integer before using it.

Arguments

  • index_num - The position of the item to return. It must evaluate to a number from 1 to 254.
  • value1 - The first possible result.
  • value2, ... - Additional possible results. You can supply up to 254 values in total.

The values do not all need to be the same type. A CHOOSE formula can mix text, numbers, cell references, named ranges, and even formulas. What matters is that the index points to the option you want.

CHOOSE vs Other Functions

CHOOSE is best compared with functions that also return one of several possible results, but use different selection logic.

Function Main Logic Use When
CHOOSE Position-based selection You already have a numeric position such as 1, 2, or 3
SWITCH Match one value against listed cases You want to match a specific text or code directly
IFS Evaluate multiple conditions The result depends on true/false tests, not position
INDEX Return an item from a range by row and column You need to retrieve from a worksheet range rather than a short argument list

Use CHOOSE when the workbook already has a position number. If the workbook needs to search for a value in a range, INDEX or XLOOKUP is usually a better fit.

Using CHOOSE

One common use of CHOOSE is scenario switching. If 1 means upside, 2 means base, and 3 means downside, a single CHOOSE formula can return the right rate or assumption without nested IF statements.

Another useful pattern is returning a reference. Because CHOOSE can return ranges, you can pass its result into functions like SUM or AVERAGE and switch the source range dynamically.

Microsoft also notes that CHOOSE can work with array constants. That makes it useful for returning more than one item at once or for rearranging ranges in a new order.

  • Use CHOOSE when the options are fixed and selected by position.
  • Use it for short mapping lists such as status labels, rates, or scenario names.
  • Use it with ranges when another function needs the selected reference as input.

Example 1 - Select One Scenario by Index

This formula uses the number in B1 to return one of three rates. If B1 contains 2, CHOOSE returns the second rate. This is a compact way to let one control cell switch between fixed scenarios.

=CHOOSE(B1, 0.15, 0.10, 0.05)
Check Answer
Challenge #1
Target: Sheet1!F1
Index Selection 1

Choose the first item from the list "Base", "Optimistic", and "Pessimistic". Formula: =CHOOSE(1, "Base", "Optimistic", "Pessimistic").

Example 2 - Use CHOOSE to Switch an Input Rate

This pattern is similar, but the output is intended to feed another calculation. Instead of storing the rate directly in the formula that calculates tax or cost, CHOOSE selects the correct rate first and the outer formula uses it.

=CHOOSE(B1, 0.05, 0.10, 0.20)
Check Answer
Challenge #2
Target: Sheet1!F2
Tax Rate Switch

If B1 is 2, return the second rate from 0.05, 0.10, and 0.20. Formula: =CHOOSE(B1, 0.05, 0.10, 0.20).

Example 3 - Return More Than One Choice

Using {1,2} asks CHOOSE for more than one position at the same time. This is useful when you want to return multiple items together or rearrange the order of columns or ranges.

=CHOOSE({1,2}, B2:B3, A2:A3)
Check Answer
Challenge #3
Target: Sheet1!F3
Day of Week Return

Return the text for the first position in the list "Mon", "Tue", and "Wed". Formula: =CHOOSE(1, "Mon", "Tue", "Wed").

Example 4 - Map a Code to a Label

When a code already represents a position, CHOOSE can translate it directly into a label. This is often simpler than writing nested IF formulas for a short list of possible outputs.

=CHOOSE(B1, "Fail", "Standard", "Elite")
Check Answer
Challenge #4
Target: Sheet1!F4
Vector Array Return

Return both the first and second choices by using an array constant. Formula: =CHOOSE({1,2}, "A", "B").

Conclusion Recap

  • Summary: CHOOSE returns one item from a fixed list based on position.
  • Syntax: =CHOOSE(index_num, value1, [value2], ...).
  • Core setup: The index must point to a valid position in the list.
  • Best use: Scenario switches, small mapping lists, and formulas that need to switch between ranges.
Tactical Arena
Select Scenario:
Share CHOOSE Function!

Tell your friends about this post

Discussion

ExcelClash is an interactive platform designed to level up your Excel skills through real-world exercises and challenges. Sharpen your logic, solve real spreadsheet problems, and learn faster.

© 2026 ExcelClash, Inc. All rights reserved.