AND returns TRUE when every supplied condition is true. It returns FALSE if a condition is false. Use it to require two passing scores, check both bounds or combine conditions inside IF.
AND function syntax
=AND(logical_expression1, [logical_expression2, ...])
- logical_expression1: a comparison, logical value or reference to test.
- Additional expressions: optional conditions that must also be true.
- A range produces one combined result. Zero is logically false; nonzero numbers, including negatives, are logically true.
Set up the example data
Enter this dataset starting in A1. The first row contains headings. Keep the result area separate from the source table.
| Student | Math | English |
|---|---|---|
| Maya | 45 | 60 |
| Leo | 30 | 55 |
| Ana | 80 | 35 |
| Omar | 40 | 40 |
Require passing scores in both subjects
Enter this formula in A8. Maya has 45 in Math and 60 in English, so both comparisons are true. Copy the relative-reference formula down beside other students for separate row checks.
=AND(B2>=40,C2>=40)
Result: TRUE.

Check both ends of a numeric range
This checks whether the Math score in B2 is between 10 and 50, including both endpoints. The score 45 meets both bounds, so the result is TRUE.
=AND(B2>=10,B2<=50)
Result: TRUE.
Return a readable label with IF
Enter the orders table at A20. IF returns Complete for order 1001 because payment is Paid and delivery is Shipped. If either condition fails, it returns Pending.
| Order | Payment | Delivery |
|---|---|---|
| 1001 | Paid | Shipped |
| 1002 | Paid | Pending |
| 1003 | Unpaid | Shipped |
=IF(AND(B21="Paid",C21="Shipped"),"Complete","Pending")
Result: Complete.
Combine an entire range into one answer
This self-contained range contains one FALSE value, so AND returns FALSE. Use a worksheet range of actual checks in the same way when you want one overall pass/fail result.
=AND({TRUE;TRUE;FALSE;TRUE})
Result: FALSE.
Return one answer per student with BYROW
BYROW passes each pair of scores to a LAMBDA. Inside it, ARRAYFORMULA evaluates the row comparisons, and AND combines them. The four results are TRUE, FALSE, FALSE and TRUE.
=BYROW(B2:C5,LAMBDA(r,AND(ARRAYFORMULA(r>=40))))
Result: TRUE; FALSE; FALSE; TRUE.
Check numeric logical values
Both 1 and -2 are nonzero, so AND treats both as TRUE. For score thresholds, use explicit comparisons instead of relying on numeric logical conversion.
=AND(1,-2)
Result: TRUE.
Other Google Sheets articles you may also like