IFS tests conditions in order and returns the result for the first true one — no nested IFs needed. Cleaner, easier to read, easier to maintain.
IFS tests multiple conditions in order and returns the value for the first condition that is true. It replaces long chains of nested IF formulas with a single, readable formula. Read it as "if this, then this; if this other thing, then this; otherwise this".
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ..., [TRUE, default])| Argument | Description |
|---|---|
| =IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ..., [TRUE, default]) | |
| logical_test1 required | The first condition to test. |
| value_if_true1 required | What to return if the first condition is true. |
| TRUE, default optional | Use TRUE as a final catch-all condition — it always matches, acting as an "else" or default. |
=IFS(B2>=70,"First",B2>=60,"2:1",B2>=50,"2:2",TRUE,"Fail")Much cleaner than three nested IFs.
=IFS(B2>=90,"Exceptional",B2>=75,"Strong",B2>=60,"Meets",TRUE,"Below")=IFS(B2>125000,45%,B2>50000,40%,B2>12570,20%,TRUE,0)Returns the tax rate for different income bands.
=IFS(C2<50,"Standard",C2<100,"Express",TRUE,"Priority")=IFS(B2<18,"Minor",B2<65,"Adult",TRUE,"Senior")Nested IF formulas work fine up to two or three levels. =IF(A2>70,"First",IF(A2>60,"2:1","Lower")) is readable. But when you get to four or five nested IFs, the formula becomes very hard to read, debug, and maintain. Counting closing parentheses alone is error-prone.
IFS solves this by listing conditions and results in order, left to right, without nesting. The conditions are evaluated in sequence — the first one that is TRUE returns its result and evaluation stops. This means condition order matters: always put the most specific condition first. =IFS(A2>=70,"First",A2>=60,"2:1",A2>=50,"2:2",TRUE,"Fail") works because 70 is checked before 60.
The TRUE at the end is important — it acts as the catch-all else clause. Without it, if none of the conditions match, IFS returns #N/A. Adding TRUE as the final condition with a default value ensures IFS always returns something.
IFS is not available in Excel 2016 or Google Sheets (though Google Sheets has now added it). For maximum compatibility use nested IF or consider CHOOSE if conditions map to integers.
ExcelPro has exercises covering this formula across multiple tracks. Free to start.
Try exercises →