IFS
Multiple conditions, one clean formula. IFS evaluates conditions in order and returns the value for the first TRUE condition — no more nightmarish nested IF pyramids with unbalanced parentheses.
Tests up to 127 condition/value pairs sequentially. Returns the value paired with the first TRUE condition. Cleaner and more maintainable than nested IF for 3+ tiers.
What IFS does
IFS is Microsoft's official cleanup of the nested-IF problem. Before IFS, categorizing a value across 4+ tiers meant writing =IF(x>90,"A",IF(x>80,"B",IF(x>70,"C",IF(x>60,"D","F")))) — a parenthesis-counting nightmare that anyone maintaining the workbook has to mentally unwind. IFS turns that into a flat sequence of condition-value pairs that reads top-to-bottom like a simple lookup table.
The function evaluates conditions in order and stops at the first TRUE. Order matters — put the most restrictive condition first. If none of the conditions match, IFS returns #N/A, so most real-world uses include a final "catch-all" condition of TRUE paired with the default value.
💡 The catch-all trick
IFS doesn't have a built-in "else" argument like some programming languages. To create a default value when nothing matches, add a final pair: TRUE, "default value". Since TRUE is always TRUE, this pair only fires when every prior condition was false — effectively becoming your else branch.
Syntax breakdown
IFS takes pairs of arguments: a logical test followed by the value to return if that test is TRUE. You can pass up to 127 pairs.
The first condition to evaluate. Can be any comparison, function call, or boolean expression. Evaluated first — order matters.
The value returned if logical_test1 is TRUE. Can be a number, text, date, cell reference, or another formula.
Additional condition/value pairs, evaluated in sequence. IFS stops at the first TRUE. Common pattern: end with TRUE, "default" as the catch-all.
5 real-world examples
Convert a score to a letter grade
Score in A2. Standard bracket: 90+ = A, 80+ = B, 70+ = C, 60+ = D, otherwise F.
Note the final TRUE, "F" catch-all — without it, scores below 60 return #N/A instead of "F".
Calculate salesperson commission by revenue bracket
Revenue in B2. Commission rates: $100K+ = 10%, $50K+ = 7%, $25K+ = 5%, otherwise 3%.
IFS returns just the rate; multiply outside the function to get the dollar amount.
Categorize orders by days-since-order
Days-since-order in C2. Categorize as Overdue, At risk, On track, or Recent.
Read top-to-bottom: over 30 = Overdue; if not, over 14 = At risk; if not, over 7 = On track; otherwise Recent.
Route requests based on two fields
Priority in D2, category in E2. Route to different teams based on combinations.
Each IFS condition can itself use AND, OR, or NOT to combine multiple checks.
Assign age groups for demographic analysis
Age in F2. Groups: Under 18, 18-24, 25-34, 35-54, 55+.
Using < (less than) from smallest bracket up — equivalent logic to >= from largest down.
Common errors and how to fix them
No condition matched and no catch-all
IFS returns #N/A when none of your conditions evaluate to TRUE and you didn't include a final TRUE, "default" pair.
Conditions in wrong order
You wrote =IFS(A2>60,"Pass", A2>90,"Excellent"). Since IFS stops at the first TRUE, every score above 60 returns "Pass" — even 95.
Odd number of arguments
You forgot a value for one of the conditions — IFS needs matched pairs. Every logical_test must have a paired value.
IFS not available in this Excel version
You're on Excel 2016 or earlier, which doesn't have IFS. The formula shows #NAME? because Excel doesn't recognize the function.
See our Formula Errors guide for more.
IFS vs nested IF vs SWITCH
Version compatibility
Related functions
📥 Download the practice workbook
All 5 examples above in a working .xlsx file, plus a nested-IF vs IFS comparison exercise.
Frequently asked questions
Is IFS just syntactic sugar for nested IF?
Functionally yes — anything IFS does, nested IF can do too. The value is readability and maintainability. A 5-tier IFS is easy to read and modify. A 5-level nested IF is a parenthesis-counting exercise.
How many conditions can IFS handle?
Up to 127 condition/value pairs. In practice, if you need more than 5-6 tiers, switch to a lookup table with XLOOKUP or VLOOKUP — the lookup table is easier to maintain than any long IFS.
Does the order of conditions matter?
Yes, critically. IFS stops at the first TRUE condition. If you write =IFS(x>60,"Pass", x>90,"Excellent"), the second condition never fires because scores above 90 already match the first. Order from most restrictive to least.
Can I use IFS without a catch-all?
You can, but IFS returns #N/A when no condition matches. Almost always safer to end with TRUE, "default" as the catch-all.
Should I convert all my nested IFs to IFS?
Not urgently. If a nested IF works and isn't broken, don't rewrite it just for style. Reserve IFS for new work and situations where you're already refactoring. The exception: if a nested IF is causing bugs (missing branches, wrong nesting), rewriting as IFS often reveals the error.
Can IFS return arrays or does it always return one value?
In Excel 365 with dynamic arrays, IFS can return an array if evaluated across a range. Wrap in ARRAYFORMULA in Google Sheets for equivalent behavior. Most business uses return a single value per cell.
How does IFS compare with SWITCH?
SWITCH is better when you're always comparing the same expression to different values (like SWITCH(A1, 1,"One", 2,"Two", 3,"Three")). IFS is better when the comparison itself changes between conditions (greater-than, less-than, contains, etc.).
Multi-tier logic without the headache.
Describe your logic — "if revenue over $100K then 10%, over $50K then 7%..." — and get the exact IFS formula ready to paste.
Get the Add-in →