Logical
IFS Function in Excel
Checks multiple conditions and returns a value corresponding to the first TRUE condition.
Syntax
- =IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)
Arguments
- logical_test1 (required): First condition to evaluate
- value_if_true1 (required): Value to return if first condition is TRUE
- logical_test2 (optional): Second condition to evaluate
- value_if_true2 (optional): Value to return if second condition is TRUE
Examples
- =IFS(A1>=90, "A", A1>=80, "B", A1>=70, "C", TRUE, "F") - Grade assignment - Result: Letter grade
- =IFS(B1="Gold", 0.2, B1="Silver", 0.1, TRUE, 0) - Discount by membership - Result: Discount rate
Excel IFS function documentation
- IFS is a Logical function in Excel 2016+ that checks multiple conditions and returns the value for the first TRUE condition.
- Syntax: =IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], …).
- Cleaner replacement for deeply nested [IF](/functions/if/) formulas with three or more outcomes.
- Related: [SWITCH](/functions/switch/) for exact-value matching, [IF](/functions/if/) for single tests.
IFS syntax and catch-all pattern
- Each pair is condition then result — IFS evaluates top to bottom and stops at the first TRUE.
- No final "else" argument exists; add TRUE as the last condition for a default: …, TRUE, "Other").
- All conditions must be logical tests returning TRUE/FALSE — not values to match like SWITCH.
- Example: =IFS(A2>=90,"A", A2>=80,"B", A2>=70,"C", TRUE,"F").
Step-by-step: migrate nested IF to IFS
- Step 1 — List each branch: condition → result on paper or in a comment column.
- Step 2 — Order from most specific or highest threshold to lowest.
- Step 3 — Rewrite =IF(A2>=90,"A",IF(A2>=80,"B","C")) as IFS pairs.
- Step 4 — Add TRUE catch-all if every row must get a label.
- Step 5 — Compare old vs new columns with =EXACT(old,new) to verify parity.
IFS vs IF vs SWITCH
- IF — one test, two outcomes; fine for simple pass/fail.
- IFS — multiple ordered conditions; best for tiers, grades, and status bands.
- SWITCH — one expression matched against exact values — cleaner for region codes (East, West).
- Compare: [IF vs IFS](/compare/if-vs-ifs/) · [IF function guide](/functions/if/).
Worked examples to copy
- Grade bands: =IFS(score>=90,"A", score>=80,"B", score>=70,"C", TRUE,"F").
- Shipping tier: =IFS(weight<=1,"Standard", weight<=5,"Express", TRUE,"Freight").
- Status flag: =IFS(days_late>30,"Critical", days_late>7,"Warning", TRUE,"OK").
- With cell refs: =IFS(A2>=$F$1,"Pass", TRUE,"Fail") when threshold lives in F1.
People also ask
- IFS #N/A error? — No condition matched and no TRUE catch-all was provided.
- IFS vs nested IF limit? — IFS supports up to 127 condition pairs; easier to read than deep IF.
- Can IFS return numbers and text? — Yes. Each value_if_true can be any type.
- IFS with AND inside? — Yes: =IFS(AND(A2>0,B2="Open"),"Yes", TRUE,"No").
Common errors
- #N/A when no condition is TRUE (use TRUE as last condition)
- #VALUE! with invalid logical test
Use cases
- Multiple condition testing
- Grade calculations
- Tiered pricing
- Status assignments
Frequently asked questions
- What is IFS and how is it different from IF? IFS tests multiple conditions without nesting. Instead of =IF(A1>90,"A",IF(A1>80,"B",IF(A1>70,"C","F"))), use =IFS(A1>90,"A",A1>80,"B",A1>70,"C",TRUE,"F"). IFS is cleaner and easier to read for multiple conditions.
- How do I add a default value in IFS? Use TRUE as the last condition: =IFS(condition1, value1, condition2, value2, TRUE, default_value). TRUE always evaluates as true, so it acts as an 'else' clause. Without this, IFS returns #N/A if no condition matches.
- Is IFS available in all Excel versions? IFS is available in Excel 2019, Excel 365, and Excel for Mac 2019+. For older versions, use nested IF statements or consider upgrading. Google Sheets also supports IFS.
- What is the maximum number of conditions in IFS? IFS supports up to 127 condition/value pairs (254 arguments total). However, if you need that many conditions, consider using VLOOKUP, INDEX/MATCH, or a lookup table instead for better maintainability.
- Why is IFS returning #N/A? IFS returns #N/A when none of the conditions evaluate to TRUE. Always include TRUE as your last condition to provide a default value: =IFS(..., TRUE, "Default"). This ensures you always get a result.
Editorial review
- Reviewed by Excel.Directory Editorial Team. Updated May 2026.
When to use IFS
- Multiple condition testing — common Logical scenario for IFS.
- Grade calculations — common Logical scenario for IFS.
- Tiered pricing — common Logical scenario for IFS.
- Status assignments — common Logical scenario for IFS.
IFS in the Logical category
- Browse all Logical functions at /categories/logical/ for related formulas.
- IFS syntax: =IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)
- logical_test1 (required): First condition to evaluate
- value_if_true1 (required): Value to return if first condition is TRUE
- logical_test2 (optional): Second condition to evaluate
- value_if_true2 (optional): Value to return if second condition is TRUE
- Confirm IFS arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
Formula checklist before you copy down
- Confirm IFS arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
- If results look wrong, check for text stored as numbers and invisible spaces with TRIM.
- Spot-check three known input rows manually against expected output.
Related Excel functions
- IF (/functions/if/): Returns one value if a condition is TRUE and another value if it's FALSE.
- SWITCH (/functions/switch/): Evaluates an expression against a list of values and returns the result corresponding to the first matching value.
- CHOOSE (/functions/choose/): Returns a value from a list of values based on an index number.
- AND (/functions/and/): Returns TRUE if all arguments are TRUE; returns FALSE if any argument is FALSE.
- OR (/functions/or/): Returns TRUE if any argument is TRUE; returns FALSE only if all arguments are FALSE.
Comparisons involving this function
- IF vs IFS (/compare/if-vs-ifs/): Use IF for one condition with two outcomes. Use IFS when you need three or more ordered conditions without building a hard-to-read nested IF chain.
Errors to watch for
- #N/A when no condition is TRUE (use TRUE as last condition) — review causes on linked error pages in the directory.
- #VALUE! with invalid logical test — review causes on linked error pages in the directory.
Copy-paste audit workflow
- Enter IFS on three test rows with known expected output documented on a QA tab.
- Fill down only after absolute references are locked on lookup tables and rate tables.
- Compare against manual calculation or a calculator for financial and statistical functions.
- Search this directory for comparison guides when choosing between similar functions in the same category.
IFS worked examples to copy
- =IFS(A1>=90, "A", A1>=80, "B", A1>=70, "C", TRUE, "F") — Grade assignment. Expected result: Letter grade.
- =IFS(B1="Gold", 0.2, B1="Silver", 0.1, TRUE, 0) — Discount by membership. Expected result: Discount rate.
IFS reference summary for crawlers and offline review
- IFS belongs to the Logical category in Excel. Checks multiple conditions and returns a value corresponding to the first TRUE condition.
- Full syntax: =IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...). Open /functions/ifs/ for parameters, FAQs, and related pages.
- Common mistakes: #N/A when no condition is TRUE (use TRUE as last condition); #VALUE! with invalid logical test
- Pair this function with comparison guides when another Excel formula might fit the same task better.
- Review fix-excel-formula-errors when unexpected errors appear after upgrading Excel or sharing across locales.