IFS Function in Google Sheets
Learn how to use the IFS function in Google Sheets to evaluate multiple conditions and return the value for the first one that is TRUE.
IFS(condition1, value1, [condition2, value2, ...]) The IFS function in Google Sheets checks multiple conditions in order and returns the value paired with the first condition that is TRUE. It replaces the need to nest multiple IF functions inside each other.
You reach for IFS when a value needs to fall into one of several categories. Letter grades, tiered pricing, status labels with more than two options โ IFS handles all of these in a single, readable formula.
Syntax
=IFS(condition1, value1, [condition2, value2, ...])
Parameters
| Parameter | Required | Description |
|---|---|---|
condition1 | Yes | The first condition to evaluate. Must resolve to TRUE or FALSE. |
value1 | Yes | The value returned if condition1 is TRUE. |
condition2, value2, ... | No | Additional condition/value pairs. Google Sheets evaluates them in order and stops at the first TRUE condition. |
IFS evaluates conditions from left to right. Once a condition is TRUE, all remaining pairs are ignored. If no condition is TRUE, IFS returns a #N/A error.
Examples
Letter grade assignment
Assign a letter grade based on a score in B2:
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C", B2>=60, "D", TRUE, "F")
A score of 75 skips the first two conditions, matches B2>=70, and returns โCโ. The TRUE at the end acts as a catch-all for any score below 60.
Tiered pricing
Calculate a per-unit price based on the quantity in A2:
=IFS(A2>=1000, 2.50, A2>=500, 3.00, A2>=100, 4.00, TRUE, 5.00)
An order of 750 units matches the second condition (>= 500) and returns $3.00 per unit. Orders under 100 units fall through to the default price of $5.00.
Status labels
Tag an order based on its fulfillment percentage in C2:
=IFS(C2=1, "Complete", C2>=0.5, "In Progress", C2>0, "Started", TRUE, "Not Started")
A value of 0.75 returns โIn Progressโ. A value of 0 falls through to โNot Startedโ.
Common Errors
#N/A (no condition matched)
IFS returns #N/A when every condition evaluates to FALSE. Unlike IF, there is no built-in default. Always add TRUE as the last condition to act as a catch-all.
{/* Bad: no default */}
=IFS(B2>=90, "A", B2>=80, "B", B2>=70, "C")
A score of 55 matches nothing and returns #N/A. Add TRUE, "F" at the end to handle it.
Conditions in the wrong order
IFS stops at the first TRUE condition. If you put B2>=70 before B2>=90, a score of 95 matches the first condition and returns โCโ. Always order conditions from most restrictive to least restrictive.
Tips
Always end your IFS formula with TRUE, "default_value" as the last pair. This guarantees a result for every input and prevents #N/A errors from reaching your sheet. Think of it as the โelseโ clause that IFS does not have on its own.
When you only have two outcomes (true/false), stick with IF. IFS is worth the switch at three or more conditions.
Want to go deeper?
Check out our full tutorials for step-by-step examples and real-world use cases.
Published February 19, 2026