CHOOSE Function

Excel Functions › Lookup & Reference

All Excel versions Lookup & Reference

The Excel CHOOSE function picks a value from a list by position: index 1 returns the first value, index 2 the second, and so on. It turns numbers into labels, dates into quarters, and — its best trick — a single cell into a scenario switch that swaps entire ranges in and out of other formulas.


Quick answer: to turn a rating of 1–4 in cell B2 into a tier name:
=CHOOSE(B2, "Bronze", "Silver", "Gold", "Platinum")
If B2 is 2, the formula returns "Silver" — the 2nd value in the list. An index outside 1–4 returns #VALUE!.

Syntax

=CHOOSE(index_num, value1, [value2], …)
ArgumentDescription
index_numRequiredWhich value to return: 1 picks value1, 2 picks value2, and so on. Must work out to a number between 1 and the count of values; decimals are truncated (2.9 means 2).
value1RequiredThe first value in the list. Can be a number, text, cell reference, range, or even a formula.
value2, …OptionalUp to 254 values in total. Each one is only evaluated if it’s the one picked.

Values can be ranges, not just labels. =SUM(CHOOSE(2, A1:A10, B1:B10)) sums B1:B10 — CHOOSE hands the whole range to SUM. This is what makes CHOOSE a scenario switch, not just a label picker.

Turn numbers into labels

The classic use: a rating of 1–4 becomes a tier name. The table below maps James Chen’s rating of 2 to its label:

ABDE
1EmployeeRatingRatingTier
2James Chen22Silver
3Maria Lopez4
4Devon Smith1
5Priya Patel3
=CHOOSE(D2, "Bronze", "Silver", "Gold", "Platinum") // returns Silver

CHOOSE shines whenever a calculation already produces a small integer. Two favorites — the fiscal quarter of a date, and the weekday name:

=CHOOSE(ROUNDUP(MONTH(A2)/3, 0), "Q1", "Q2", "Q3", "Q4") // month 1-12 -> quarter
=CHOOSE(WEEKDAY(A2), "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")

Try it: interactive CHOOSE demo

Live demo

Slide index_num and watch CHOOSE walk the list — including what happens when the index runs past the end.

Result:

The power move: switch entire ranges

Because each value can be a range, one cell can flip a whole model between scenarios. With Best/Expected/Worst forecasts in columns B, C, and D, a single selector cell drives every downstream formula:

=SUM(CHOOSE($G$1, B2:B13, C2:C13, D2:D13)) // G1: 1=Best, 2=Expected, 3=Worst

The old-school trick of feeding CHOOSE an array constant lets VLOOKUP look left by rebuilding the table with columns swapped:

=VLOOKUP(E2, CHOOSE({1,2}, B2:B10, A2:A10), 2, FALSE) // left lookup in old Excel

How does CHOOSE compare to its siblings?

FunctionPicks byBest when
CHOOSEPosition (1, 2, 3, …)The selector is already a small integer; values may be ranges. All Excel versions.
SWITCHMatching a value ("East", "West", …)The selector is text or arbitrary values, with a default fallback. Excel 2019+.
INDEXPosition within a rangeThe list lives on the worksheet instead of inside the formula — easier to maintain.

Errors & common pitfalls

#VALUE! — index out of range. index_num is less than 1 or greater than the number of values you listed. A rating of 5 against a 4-item list returns #VALUE!, not a blank.

#NAME? — unquoted text values. =CHOOSE(2, Bronze, Silver) fails because Excel reads the words as names. Text values need quotes.

Pitfall: decimals are truncated, not rounded. An index of 2.9 picks value 2, not value 3. If your selector comes from a division, wrap it in ROUND or ROUNDUP deliberately.

Pitfall: the list is buried in the formula. Twenty CHOOSE formulas with the same hard-coded labels means twenty edits when a label changes. For long or changing lists, put the values in a range and use INDEX instead.

Practice workbook

📊
Download the free CHOOSE practice workbook
Every example on this page, ready to open in Excel — plus practice challenges with answers on a separate tab. No sign-up required.

Frequently asked questions

What's the difference between CHOOSE and SWITCH?
CHOOSE picks by position — the selector must be a number from 1 to the count of values. SWITCH picks by matching a value ("East" returns one thing, "West" another) and supports a default. If your selector is already 1, 2, 3…, CHOOSE is simpler; otherwise SWITCH reads better.
Can CHOOSE return a range instead of a single value?
Yes — that’s its best feature. =SUM(CHOOSE(2, A1:A10, B1:B10)) hands the entire range B1:B10 to SUM. One selector cell can switch a whole model between scenario columns.
What happens if index_num is a decimal?
It's truncated to the integer below: 2.9 picks value 2. If the selector comes from a calculation, control the rounding yourself with ROUND or ROUNDUP.
How many values can CHOOSE hold?
Up to 254 values after the index. In practice, long lists belong in a worksheet range read with INDEX — formulas with dozens of hard-coded values are painful to maintain.
How do I pick a random item from a list?
Combine CHOOSE with RANDBETWEEN: =CHOOSE(RANDBETWEEN(1,4), "North", "South", "East", "West") returns a random region on every recalculation.

Master functions like this in one day

This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related functions: INDEX · CHOOSECOLS · CHOOSEROWS · VLOOKUP · XLOOKUP