
The SWITCH function returns a given value determined by an expression and a list of values. If the expression matches one of the values in the list the corresponding result value is returned. If no value matches an optional default value is returned by the function.
1. SWITCH Function Syntax
SWITCH(expression, value1, result1, [default or value2, result2],…[default or value3, result3])
Back to top
2. SWITCH Function Arguments
expression |
Required. This argument determines which value to be returned. If it matches the value argument the corresponding value in the result argument is returned. |
value1 |
Required. If this value matches the expression the corresponding result argument is returned. |
result1 |
Required. The value to be returned. |
[value2] |
Optional. Up to 125 additional arguments. |
[result2] |
Optional. Up to 125 additional arguments. |
[default] |
Optional. This is the value to be returned if no other value matches, this must be the last argument in the function. |
This feature is only available for Excel 2019 and later Excel versions.
Back to top
3. SWITCH Function example

This example demonstrates how to use the SWITCH function. The first argument changes when you copy the formula to cells below, ther remaining arguments are "hardcoded" meaning they don't change.
Formula in cell D3:
=SWITCH(C3,"A","Q1","B","Q2","C","Q3","D","Q4","No match")
The last argument lets you specify a value that is returned if no other value is matching.
Back to top
4. SWITCH function - how to use logical operators like larger than and smaller than

The SWITCH function is made for exact matches, however, there is a workaround to use larger than and smaller than characters.
The value1 argument lets you also create a test expression, if it matches the expression argument the result1 argument is returned. The following formula demonstrates this technique.
Keep in mind that the order of arguments is important in some cases.
Formula in cell C3:
=SWITCH(TRUE,B3<5,"Less than 5",B3=5,"Equal to 5",B3>5,"Larger than 5")
This example covers every possible number, the last argument is not necessary.
Explaining formula
SWITCH(expression, value1, result1, [default or value2, result2],…[default or value3, result3])
Step 1 - Expression argument in cell C3
If any of the value arguments match the expression argument the corresponding result argument is returned.
TRUE is a boolean value that is often used in Excel formula, every logical test returns TRUE or FALSE or their numerical equivalents.
TRUE - 1
FALSE - 0 (zero)
Step 2 - First logical test (value1 argument)
The less than character lets you check if a number is smaller than another number, the result is a boolean value TRUE or FALSE.
B3<5
becomes
10<5
and returns FALSE. 10 is not smaller than 5.
Step 3 - Second logical test (value2 argument)
The equal sign lets you compare value to value, the result is either TRUE of FALSE, this is not a case sensitive comparison. Use the EXACT function for case-sensitive comparisons.
B3=5
becomes
10 = 5
and returns FALSE. 10 is not equal to 5.
Step 4 - Third logical test (value3 argument)
The larger than character is also a logical operator, the result is TRUE or FALSE like the other two described above.
B3>5
becomes
10>5
and returns TRUE. TRUE matches the first argument expression, the formula will now evaluate the corresponding result argument.
Step 5 - Third result3 argument
SWITCH(TRUE,B3<5,"Less than 5",B3=5,"Equal to 5",B3>5,"Larger than 5")
becomes
SWITCH(TRUE, FALSE, "Less than 5", FALSE, "Equal to 5", TRUE, "Larger than 5")
and returns "Larger than 5" in cell C3.
Back to top
Get Excel *.xlsx file
How to use the SWITCH function
Back to top
The SWITCH function function is one of many functions in the 'Logical' category.
Perform a logical test in each argument and if all arguments return TRUE the AND function returns TRUE.
Passes all values in a column based on an array to a LAMBDA function, the LAMBDA function calculates new values based on a formula you specify. It then continues with the next column until all columns in the array have been processed.
Puts values from an array into a LAMBDA function row-wise.
Returns the logical (boolean) value FALSE.
Returns one value if the logical test is TRUE and another value if the logical test is FALSE.
If the value argument returns an error, the value_if_error argument is used. If the value argument does NOT return an error, the IFERROR function returns the value argument.
Handles #N/A errors only, it returns a specific value if the formula returns a #N/A error.
Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition.
Build custom functions without VBA, macros or javascript.
Passes all values in an array to a LAMBDA function, the LAMBDA function calculates new values based on a formula you specify. It then returns an array with the same size as the original array.
Returns the boolean opposite to the given argument.
Evaluates a logical expression in each argument and if at least one argument returns TRUE the OR function returns TRUE. If all arguments return FALSE the OR function also returns FALSE.
Shrinks an array to an accumulated value, a LAMBDA function is needed to properly accumulate each value in order to return a total.
Passes values in an array to a LAMBDA function, the LAMBDA function calculates new values based on a formula you specify. It then returns an array with the same size as the original array using an accumulator parameter.
Returns a given value determined by an expression and a list of values.
Returns the logical (boolean) value TRUE.
Calculates the logical exclusive OR meaning if at least one of the arguments evaluates to TRUE then the XOR returns TRUE. All arguments must be evaluated to FALSE for the XOR function to return FALSE.
Excel functions that let you resize, combine, and shape arrays.
Functions for backward compatibility with earlier Excel versions. Compatibility functions are replaced with newer functions with improved accuracy. Use the new functions if compatibility isn't required.
Perform basic operations to a database-like structure.
Functions that let you perform calculations to Excel date and time values.
Let's you manipulate binary numbers, convert values between different numeral systems, and calculate imaginary numbers.
Calculate present value, interest, accumulated interest, principal, accumulated principal, depreciation, payment, price, growth, yield for securities, and other financial calculations.
Functions that let you get information from a cell, formatting, formula, worksheet, workbook, filepath, and other entitites.
Functions that let you return and manipulate logical values, and also control formula calculations based on logical expressions.
These functions let you sort, lookup, get external data like stock quotes, filter values based a condition or criteria, and get the relative position of a given value in a specific cell range. They also let you calculate row, column, and other properties of cell references.
You will find functions in this category that calculates random values, round numerical values, create sequential numbers, trigonometry, and more.
Calculate distributions, binomial distributions, exponential distribution, probabilities, variance, covariance, confidence interval, frequency, geometric mean, standard deviation, average, median, and other statistical metrics.
Functions that let you manipulate text values, substitute strings, find string in value, extract a substring in a string, convert characters to ANSI code among other functions.
Get data from the internet, extract data from an XML string and more.
Latest updated articles.
More than 300 Excel functions with detailed information including syntax, arguments, return values, and examples for most of the functions used in Excel formulas.
More than 1300 formulas organized in subcategories.
Excel Tables simplifies your work with data, adding or removing data, filtering, totals, sorting, enhance readability using cell formatting, cell references, formulas, and more.
Allows you to filter data based on selected value , a given text, or other criteria. It also lets you filter existing data or move filtered values to a new location.
Lets you control what a user can type into a cell. It allows you to specifiy conditions and show a custom message if entered data is not valid.
Lets the user work more efficiently by showing a list that the user can select a value from. This lets you control what is shown in the list and is faster than typing into a cell.
Lets you name one or more cells, this makes it easier to find cells using the Name box, read and understand formulas containing names instead of cell references.
The Excel Solver is a free add-in that uses objective cells, constraints based on formulas on a worksheet to perform what-if analysis and other decision problems like permutations and combinations.
An Excel feature that lets you visualize data in a graph.
Format cells or cell values based a condition or criteria, there a multiple built-in Conditional Formatting tools you can use or use a custom-made conditional formatting formula.
Lets you quickly summarize vast amounts of data in a very user-friendly way. This powerful Excel feature lets you then analyze, organize and categorize important data efficiently.
VBA stands for Visual Basic for Applications and is a computer programming language developed by Microsoft, it allows you to automate time-consuming tasks and create custom functions.
A program or subroutine built in VBA that anyone can create. Use the macro-recorder to quickly create your own VBA macros.
UDF stands for User Defined Functions and is custom built functions anyone can create.
A list of all published articles.
How to comment
How to add a formula to your comment
<code>Insert your formula here.</code>
Convert less than and larger than signs
Use html character entities instead of less than and larger than signs.
< becomes < and > becomes >
How to add VBA code to your comment
[vb 1="vbnet" language=","]
Put your VBA code here.
[/vb]
How to add a picture to your comment:
Upload picture to postimage.org or imgur
Paste image link to your comment.
Contact Oscar
You can contact me through this contact form