How to use the SWITCH function
What is the SWITCH function?
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.
Table of Contents
1. Introduction
When to use the SWITCH function?
The SWITCH function is particularly useful in several scenarios:
- Multiple condition mapping: When you need to map multiple input values to specific output values, especially when there are several conditions to check. It's often cleaner and more efficient than nested IF statements for such cases.
- Categorization tasks: When you need to categorize data based on specific criteria or values. For example, assigning departments based on employee codes, or product categories based on SKUs.
- Lookup operations: While VLOOKUP or INDEX-MATCH are often used for lookups, SWITCH can be more straightforward for simple, exact-match lookups with a limited number of conditions.
- Simplifying complex IF-THEN logic: If you find yourself writing nested IF statements with many conditions, SWITCH can often simplify the formula and make it more readable.
- Performance optimization: For multiple condition checking, SWITCH is generally faster and more efficient than nested IF statements, especially when dealing with large datasets.
- Default value handling: When you need a specific output for any input that doesn't match your defined conditions, SWITCH allows you to easily specify a default value.
- Text-based conditions: SWITCH works well with text-based conditions, making it useful for tasks like converting full month names to abbreviations, or mapping codes to full descriptions.
- Numerical range mapping: The SWITCH uses exact matching, I demonstrate a workaround in section 4 below. You can also use the MATCH and INDEX function. How to return a value if lookup value is in a range
SWITCH is most beneficial when you have a clear, finite set of input values to check against, each corresponding to a specific output. If you need more complex logic, partial matching, or have a very large number of conditions, other functions or combinations of functions might be more appropriate.
What is the greatest disadvantage using the SWITCH function?
You need to use hard-coded values in the formula, other techniques allow you to use a table that maps values to corresponding values based on a lookup value. This is not possible with the SWITCH function.
2. Syntax
SWITCH(expression, value1, result1, [default or value2, result2],…[default or value3, result3])
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.
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:
The last argument lets you specify a value that is returned if no other value is matching.
This SWITCH function works as follows:
- It evaluates the value in column B (B3 through B8) for each row.
- It then compares this value to a series of specified options:
- If the value is "A", it returns "Q1"
- If the value is "B", it returns "Q2"
- If the value is "C", it returns "Q3"
- If the value is "D", it returns "Q4"
If none of these conditions are met, it returns the default value "No match".
Let's explain the results we see in the image above:
- Row 3: "A" matches, so it returns "Q1"
- Row 4: "F" doesn't match any condition, so it returns "No match"
- Row 5: "C" matches, so it returns "Q3"
- Row 6: "D" matches, so it returns "Q4"
- Row 7: "J" doesn't match any condition, so it returns "No match"
- Row 8: "B" matches, so it returns "Q2"
This SWITCH function is essentially mapping letters to quarters, with "A" representing Q1, "B" representing Q2, and so on. Any letter not in the A-D range results in "No match".
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:
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.
Get Excel *.xlsx file
How to use the SWITCH function
'SWITCH' function examples
This article demonstrates Excel formulas that calculate complete weeks between two given dates and weeks and days between two given […]
Table of Contents Functions How to use the ARRAY function How to use the FIX function How to use the […]
Functions in 'Logical' category
The SWITCH function function is one of 16 functions in the 'Logical' category.
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