Lookup & Reference

CHOOSE Function in Excel

Returns a value from a list of values based on an index number.

Syntax

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

Arguments

  • index_num (required): The position number (1 to 254)
  • value1 (required): First value to choose from
  • value2 (optional): Additional values (up to 254)

Examples

  • =CHOOSE(2, "Red", "Green", "Blue") - Return 2nd item from list - Result: Green
  • =CHOOSE(MONTH(A1), "Jan", "Feb", "Mar") - Get month name from date - Result: Month name
  • =SUM(CHOOSE(A1, B1:B10, C1:C10, D1:D10)) - Sum different ranges based on selection - Result: Sum of selected range

When to use CHOOSE

  • Use CHOOSE when you need to retrieve values from a table or range based on a key.
  • Confirm data types match (text vs number) and trim spaces before lookups.
  • Pair with [IFERROR](/functions/iferror/) or [IFNA](/functions/ifna/) for cleaner reports.
  • See the [lookup functions guide](/guides/excel-lookup-functions-guide/) for VLOOKUP, XLOOKUP, and INDEX MATCH paths.

Common CHOOSE mistakes

  • #N/A often means the key is missing or exact match is wrong — see [#N/A error](/errors/na/).
  • Lock table references with $ when copying formulas down a column.
  • Compare legacy vs modern lookups in [XLOOKUP vs VLOOKUP](/compare/xlookup-vs-vlookup/).

Common errors

  • #VALUE! when index is less than 1 or greater than number of values

Use cases

  • Menu selections
  • Dynamic calculations
  • Conditional range selection

Frequently asked questions

  • What is CHOOSE function used for? CHOOSE returns a value from a list based on a position number. It's useful for converting numbers to text (like month numbers to names), creating menu-driven calculations, and selecting between different ranges or values based on user input.
  • What is the difference between CHOOSE and SWITCH? CHOOSE uses position numbers (1, 2, 3...) to select values. SWITCH matches specific values to results. Use CHOOSE when you have sequential options; use SWITCH when matching specific values like codes or categories.
  • Can CHOOSE return a range for use in other functions? Yes! CHOOSE can return ranges: =SUM(CHOOSE(A1, B1:B10, C1:C10)) sums either B1:B10 or C1:C10 based on A1's value. This is powerful for dynamic calculations.
  • What is the maximum number of values in CHOOSE? CHOOSE supports up to 254 values (value1 through value254). For more options, consider using INDEX with a range or SWITCH function.
  • How do I handle errors when index is out of range? Wrap CHOOSE in IFERROR: =IFERROR(CHOOSE(A1, "a", "b", "c"), "Invalid"). Or validate first: =IF(OR(A1<1, A1>3), "Invalid", CHOOSE(A1, "a", "b", "c")).

Editorial review

  • Reviewed by Excel.Directory Editorial Team. Updated May 2026.