Formula Guide

The Excel CHOOSE Function
explained simply

CHOOSE selects a value from a list based on a position number. Cleaner than IF chains when mapping numbers to labels or categories.

ExcelPro · 6 min read · Updated June 2026

What does it do?

CHOOSE returns a value from a list based on an index number you provide. CHOOSE(2,"Low","Medium","High") returns "Medium". It is cleaner than chaining IF formulas when you are mapping a number (like a rating or score) to a fixed label.

Syntax

=CHOOSE(index_num, value1, [value2], ...)
ArgumentDescription
=CHOOSE(index_num, value1, [value2], ...)
index_num requiredA number from 1 to 254 that selects which value to return.
value1 ... requiredThe values to choose from. Value1 is returned when index_num is 1, value2 when 2, and so on.

Real examples

Example 1
Map rating to label
=CHOOSE(A2,"Poor","Fair","Good","Great","Excellent")

A2 contains 1-5. Returns the corresponding label.

Example 2
Quarter name from month
=CHOOSE(ROUNDUP(MONTH(A2)/3,0),"Q1","Q2","Q3","Q4")

Converts a date into a quarter label.

Example 3
Day of week name
=CHOOSE(WEEKDAY(A2,2),"Mon","Tue","Wed","Thu","Fri","Sat","Sun")

WEEKDAY returns 1-7; CHOOSE maps to the name.

Example 4
Priority label
=CHOOSE(B2,"Low","Medium","High","Critical")
Example 5
Scenario selector in a model
=CHOOSE($B$1, C2, D2, E2)

B1 = 1, 2 or 3 selects Base, Upside or Downside scenario.

FAQ

What if index_num is 0 or greater than the number of values?
CHOOSE returns a #VALUE! error. Validate the index with MIN/MAX: =CHOOSE(MIN(MAX(A2,1),5), ...).
Can CHOOSE return ranges?
Yes — in modern Excel, CHOOSE can return entire ranges: =CHOOSE(2, A1:A10, B1:B10) returns the second range. Useful in VLOOKUP to rearrange columns.
When should I use IFS instead of CHOOSE?
Use CHOOSE when your index is a simple integer (1, 2, 3). Use IFS when your conditions are more complex — ranges, text comparisons, or multiple criteria.

CHOOSE vs IF vs IFS vs SWITCH — which to use?

CHOOSE, IF, IFS and SWITCH all handle conditional selection but work differently. CHOOSE maps integers to values cleanly — if your index is 1, 2, 3 or 4, CHOOSE is the tidiest solution. IFS tests conditions in order — use it when your conditions are ranges or text comparisons. SWITCH (Excel 2019+) is the most powerful: it matches a value against a list of cases, like a switch statement in programming.

A practical example: if you have a status code (1=Open, 2=Pending, 3=Closed), CHOOSE(status,"Open","Pending","Closed") is cleaner than IFS(status=1,"Open",status=2,"Pending",TRUE,"Closed").

CHOOSE also has a powerful secondary use inside VLOOKUP — you can use CHOOSE to rearrange column order, letting VLOOKUP return values from columns to the LEFT of the lookup column: =VLOOKUP(E2,CHOOSE({1,2},B2:B10,A2:A10),2,0) looks up in column B and returns from column A.

💡 CHOOSE as a column reorder trick

CHOOSE({1,2},B:B,A:A) creates a virtual two-column table with B as column 1 and A as column 2. Wrap this in VLOOKUP to effectively look RIGHT to LEFT — solving VLOOKUP's biggest limitation without switching to XLOOKUP.

Practise this formula live

ExcelPro has exercises covering this formula across multiple tracks. Free to start.

Try exercises →

Related formulas

IF IFS AND VLOOKUP INDEX MATCH