Differences between `=IF()` and `=SWITCH()` Functions
Learn when you should use =IF() function in a formula and when you should use =SWITCH() function instead.
The section explains the difference through two examples.
The Differences¶
Here is an explanation of the differences between =IF() and =SWITCH().
- The
=IF()function accepts multiple nested condition as first parameter. This enables to chain sets of conditions. Also, you can nest further conditions as second and third parameter. - The
=SWITCH()function takes a field's value and compare it with a series of cases. According to each case, the function yields a different value as result.
When to Use =IF() or =SWITCH()¶
If you have two or more conditions to be verified as first parameter and the result is another formula to be executed, use =IF().
If you have only one value to be compared with a series of values as conditions, use =SWITCH()
Example for =SWITCH()¶
Consider a case when you have a Lookup drop-down list and a Multiselection-type field.
The following formula fills the Multiselection field's cell with a set of values according to the option's Id chosen from the drop-down list.
You don't need the =IF() in this scenario: the =SWITCH() function is shorter and easier to employ.
Example
1 2 3 4 5 6 7 8 | |
In this case, you compare one value ($CURRENTSTORAGE.lookupDropdownlist) with the values in the =CASE() or =CASES() conditions. The formula yields the value in =DEFAULT() if the first parameter's value doesn't match any =CASE() or =CASES() conditions.
You could do the same thing using the =IF() function and it would work, but you must write a longer formula with nested conditions:
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
=SWITCH() expresses the same conditions of the formula above in a more concise and efficient way.
Example for =IF()¶
Consider a case when the formula fills a String-type calculated field's value. In the example, the formula updates a cell in an HR application managing new employees.
The formula checks if all the following conditions are satisfied:
- The Lookup drop-down list has recorded an status different from the option with the Id
5. - The user belongs to the User Group "HR"
- The Boolean field "IsRegistered" value is
true.
According to the first parameter's result:
- If all the first parameter's conditions are satisfied, the formula records in the cell who checked the row and when.
- If the first parameter's conditions aren't satisfied, the formula records in the cell that no one has checked the row yet.
You need the =IF() since there are multiple conditions to be checked for different values.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
You can't do that with the =SWITCH(). The =SWITCH() is useful when the formula compares a single field's value. If there are two or more conditions checking two or more values, you need the =IF().