Use this function to test a series of logical conditions, then return the value for the first true condition.
IFS can take the place of multiple nested IF statements.
Syntax
IFS (Logical1, Value1, [Logical2, Value2]...)
You can define up to 127 logical conditions.
Note: The required separator (comma or semi-colon) automatically corresponds to your computer’s location settings.
Data Types of the Arguments
Logical: True/False
Value: Any Data Type, but Data Type and units must be identical for all Values
Data Type of the Result
Same Data type as the Values.
Example 1
Provide the mandatory percentage of glazed area for each Zone depending on its Classification.
Expression
IFS (Archicad Classification - 25 = "Residential Space","25%", Archicad Classification - 25 = "Office Space", "30%”,
Archicad Classification - 25 = "Storage Space", "10%")
Result
Returns the glazed-area percentage required for each Zone depending on its classification. The Values and the Results all have the same data type (here, String).
If None of the Conditions is True
If none of the conditions applies, the function returns “Undefined.”
However, you can also specify a default result value, if none of the logical conditions is met: enter TRUE for your final logical condition, followed by the default value.
Remember that this default result value must be the same data type as the other result values in the function.
IFS (Logical1, Value1, [Logical2, Value2],...[TRUE,DefaultValue])
Example 2
Categorize Beams as Long (longer than 6 m) or Short (shorter than 2m). Any Beam that does not fall into those categories is Medium.
Expression
IFS (Length Left > 600 cm, "Long", Length Left < 200 cm, "Short", TRUE, "Medium" )
Result
Beams longer than 6 m: Long
Beams shorter than 2 m: Short
Beams with lengths in between: Medium