IFS Function

Excel Functions › Logical

Excel 2019+ Excel 365

The Excel IFS function replaces towers of nested IF statements with a flat list: test, value, test, value. Excel walks the list top to bottom and returns the value for the first test that comes up TRUE. Grading scales, commission tiers, shipping bands — anything you’d once write as IF(IF(IF… reads twice as clearly with IF’s plural sibling.


Quick answer: to grade a score in B2 into four tiers:
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", TRUE, "F")
Conditions run top to bottom and the first TRUE wins — so put the highest tier first. The final pair, TRUE, "F", is the catch-all “else”: without it, an unmatched score returns #N/A.

Syntax

=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)
ArgumentDescription
logical_test1RequiredThe first condition to evaluate, e.g. B2>=90.
value_if_true1RequiredWhat to return when that test is TRUE.
logical_test2, value_if_true2, …OptionalUp to 127 test/value pairs in total. Excel checks them in order and stops at the first TRUE.

Available in: Excel 2019 and later, Excel for Microsoft 365, and Excel for the web. Excel 2016 and earlier show #NAME? — there, fall back to nested IF.

There is no built-in “else” branch. The idiom every IFS user should memorize: end the list with TRUE, fallback. TRUE always matches, so it catches everything the earlier tests missed.

Tiered grading in one formula

Scores in B2:B5, grades in C2 copied down. Order matters — the 93 matches B2>=90 first and never reaches the later tests:

ABC
1NameScoreGrade
2Avery93A
3Blake81B
4Casey74C
5Drew58F
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", TRUE, "F") // first TRUE test wins

Compare the nested-IF version of the same logic and the appeal is obvious:

=IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", "F"))) // same result, three closing brackets to balance

Values can be calculations too — a tiered commission, for instance:

=IFS(B2>=10000, B2*0.08, B2>=5000, B2*0.05, TRUE, B2*0.02)

Try it: interactive IFS demo

Live demo

Drag the score and watch IFS walk its tests top to bottom — the first TRUE row lights up and supplies the grade.

The TRUE catch-all — and when IFS is the wrong tool

What happens when no test is TRUE? IFS returns #N/A. The fix is the catch-all pair — and because tests run in order, it must come last:

=IFS(A2="Rush", 25, A2="Express", 12, TRUE, 5) // TRUE = "everything else"

If you’d rather detect the unmatched case than swallow it, leave the catch-all off and wrap with IFNA:

=IFNA(IFS(A2="Rush", 25, A2="Express", 12), "Unknown service")

Picking the right tool: IFS shines when each branch tests something different (>=, <, different cells). If every branch just compares one expression against an exact value — A2=1, A2=2, A2=3SWITCH says it with less repetition. And if the tier table lives on a sheet, an approximate-match XLOOKUP beats hard-coding tiers into a formula.

Errors & common pitfalls

#N/A — no test matched. Every condition came up FALSE and there’s no catch-all. End the argument list with TRUE, "fallback", or wrap the IFS in IFNA.

#NAME? — older Excel. IFS needs Excel 2019 or later (or Microsoft 365). In Excel 2016 and earlier, rewrite as nested IF.

#VALUE! — a test isn’t logical. Every odd-numbered argument must evaluate to TRUE or FALSE. A stray text value or an unpaired argument list (test without a value) raises this error.

Pitfall: tiers in the wrong order. The first TRUE wins, so =IFS(B2>=70,"C", B2>=90,"A", …) grades a 95 as “C” — the >=70 test fires first. Always order range tests from most restrictive to least.

Pitfall: putting the catch-all first. TRUE matches everything, so a leading TRUE, "F" grades the whole class F. Catch-all goes last, always.

Practice workbook

📊
Download the free IFS practice workbook
Every example on this page, ready to open in Excel — plus practice challenges with answers on a separate tab. No sign-up required.

Frequently asked questions

How do I add an "else" to IFS?
End the argument list with a pair whose test is simply TRUE: =IFS(B2>=90,"A", B2>=80,"B", TRUE,"F"). TRUE always matches, so it behaves exactly like an else branch — as long as it comes last.
Why does IFS return #N/A?
None of your tests evaluated to TRUE. Either add a TRUE catch-all pair at the end, or wrap the formula in IFNA to supply a friendly fallback while still distinguishing real matches from misses.
Which Excel versions have IFS?
Excel 2019, Excel 2021, Excel for Microsoft 365, and Excel for the web. Excel 2016 and earlier don't recognize the name and show #NAME? - use nested IF there instead.
What's the difference between IFS and SWITCH?
IFS evaluates a list of independent logical tests, so each branch can use any operator (>=, <>, different cells). SWITCH compares one expression against a list of exact values — less typing when every branch is an equality check, but it can’t do greater-than or less-than.
Does IFS evaluate all the tests or stop at the first TRUE?
It stops at the first TRUE, reading left to right - later tests are never reached. That's why ordering matters: put the most restrictive conditions first and the catch-all last.

Master functions like this in one day

This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related functions: IF · SWITCH · IFNA · AND · OR · XLOOKUP