The Excel OR function tests several conditions and returns TRUE when at least one of them is TRUE — only a clean sweep of FALSE produces FALSE. It’s the lenient counterpart to AND: where AND demands everything, OR is satisfied with anything. Inside IF, it builds rules like “free shipping if the order tops $100 or the customer is a member”.
Syntax
| Argument | Description | |
|---|---|---|
logical1 | Required | The first condition — anything that evaluates to TRUE or FALSE, like B2>=100. |
logical2, … | Optional | Up to 255 conditions in total. OR returns TRUE if any one of them is TRUE. |
Available in: every version of Excel, desktop and web. Text and empty cells among the arguments are ignored; if nothing evaluates to a logical value, OR returns #VALUE!.
Any one condition is enough
Free shipping goes to orders of $100+ or to members. OR in D2, copied down, flags each order:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Total | Member? | Free ship? |
| 2 | 1001 | 86 | Yes | TRUE |
| 3 | 1002 | 42 | No | FALSE |
| 4 | 1003 | 120 | No | TRUE |
| 5 | 1004 | 35 | Yes | TRUE |
Wrapped in IF for friendlier output:
A favorite use: testing one cell against several acceptable values — far cleaner than three nested IFs:
Try it: interactive OR demo
Toggle the conditions and watch how little OR needs — a single checked box carries the day.
OR vs (a)+(b): why FILTER uses addition instead
Like AND, the OR function collapses everything it’s handed into a single TRUE/FALSE — so it can’t supply FILTER with one verdict per row. Array formulas express OR as addition:
Adding coerces TRUE/FALSE to 1/0, so (a)+(b) is nonzero — treated as TRUE — when either condition holds. The multiplication twin (a)*(b) gives row-by-row AND. On a single row inside IF, stick with the readable OR function.
Need exactly-one-of-two? That’s exclusive or — the XOR function. Plain OR is inclusive: it’s happy when both conditions are TRUE.
Errors & common pitfalls
#VALUE! — no logical values found. Every argument was text or empty, so OR had nothing to test. Make each argument a real comparison: OR(A2="Mon", A2="Wed"), not OR(A2, B2) on text cells.
Pitfall: =IF(A2="Mon" OR "Wed", …). Excel has no infix OR keyword, and OR(A2="Mon","Wed") is wrong too — the bare text "Wed" isn’t a condition. Each alternative needs its own full comparison: OR(A2="Mon", A2="Wed").
Pitfall: using OR inside FILTER. It aggregates all rows into a single TRUE/FALSE, so the filter returns everything or nothing. Use (condition1)+(condition2) for a per-row OR — see the section above.
Pitfall: OR when you meant AND. “Flag orders from the West region over $500” is an AND (both must hold). OR fires when either holds and quietly over-flags. Translate the business rule carefully: and = all, or = any.
Practice workbook
Frequently asked questions
How do I use OR inside an IF formula?
=IF(OR(B2>=100, C2="Yes"), "Free shipping", "Standard rate"). OR condenses its conditions to one TRUE/FALSE and IF picks the outcome. Use AND instead when every condition must hold.How do I test one cell against several values?
=OR(A2="Mon", A2="Wed", A2="Fri"). The shorthand OR(A2="Mon","Wed") doesn’t work — bare text isn’t a condition. For long lists, =COUNTIF(list, A2)>0 scales better.What's the difference between OR and XOR?
Why doesn't OR work inside FILTER?
=FILTER(data, (B2:B50>=100)+(C2:C50="Yes")). Addition acts as a row-by-row OR.Can I combine AND and OR in one formula?
=IF(AND(A2="West", OR(B2>=100, C2="Yes")), "Flag", "") requires the region and at least one of the other two conditions.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