How to Filter Multiple Columns in Excel Using OR Logic

📅 Sep 11, 2026 📝 Sarah Miller

Managing complex datasets often becomes frustrating when you need to isolate rows meeting diverse conditions across multiple columns. While traditional Excel features, like standard Autofilters or manual helper columns, offer basic sorting, they lack the scalability required for sophisticated multi-column "OR" logic.

Leveraging the dynamic FILTER function combined with addition (+) operator logic grants users real-time, automated data extraction. As an educational stipulation, please note this advanced approach requires Excel 365 or Excel 2021 to support dynamic array behavior.

For example, you can seamlessly retrieve records where the Region is "West" OR Sales exceed $10,000. Below, we will break down the exact formula syntax to streamline your reporting.

How to Filter Multiple Columns in Excel Using OR Logic

Excel's introduction of dynamic arrays revolutionized how we manipulate and analyze data. At the forefront of this revolution is the FILTER function. While filtering a dataset based on a single criterion is straightforward, business scenarios often require complex, multi-layered criteria. Specifically, you may need to filter data across multiple columns where at least one of several conditions is met-a logic widely known as the OR operator.

In standard Excel logical functions, you would use the OR function. However, when working with array formulas like FILTER, the standard OR function fails because it aggregates the entire array into a single TRUE or FALSE value. To bypass this, we must use boolean arithmetic. This comprehensive guide will explain how to construct Excel formulas to filter multiple columns using OR logic, step-by-step.

Understanding the Core Concept: Boolean Arithmetic

To master advanced filtering in Excel, you must understand how Excel evaluates logic in array formulas:

  • TRUE is treated mathematically as 1.
  • FALSE is treated mathematically as 0.

When you want to apply AND logic (where all conditions must be true), you use multiplication (*). If any condition is FALSE (0), the product is 0.

When you want to apply OR logic (where any condition can be true), you use addition (+). Let's look at how this works mathematically when evaluating two conditions for a specific row:

Condition 1 (A) Condition 2 (B) Boolean Value (A + B) Excel Evaluation
FALSE (0) FALSE (0) 0 + 0 = 0 FALSE (Excluded)
TRUE (1) FALSE (0) 1 + 0 = 1 TRUE (Included)
FALSE (0) TRUE (1) 0 + 1 = 1 TRUE (Included)
TRUE (1) TRUE (1) 1 + 1 = 2 TRUE (Included)

Because Excel treats any non-zero number (such as 1 or 2) as TRUE, the addition operator perfectly mimics the logical OR behavior. Let's look at the standard syntax of the FILTER function with OR logic:

=FILTER(array, (condition1) + (condition2), [if_empty])

Note that each condition must be wrapped in its own set of parentheses. This ensures Excel evaluates the logical comparisons before performing the addition.

Example 1: Filtering Across Different Columns (OR Logic)

Imagine you have a sales dataset with columns for Product (Column A), Region (Column B), and Sales Amount (Column C). You want to extract all rows where the Region is "East" OR the Sales Amount is greater than $5,000.

Here is how you would write that formula:

=FILTER(A2:C15, (B2:B15="East") + (C2:C15>5000), "No matches found")

How this formula works:

  1. A2:C15 is the range of data we want to filter and return.
  2. (B2:B15="East") returns an array of TRUE/FALSE values based on the region.
  3. (C2:C15>5000) returns another array of TRUE/FALSE values based on sales.
  4. The + operator adds the corresponding elements of both arrays. If a row has "East" as the region or a sales figure over 5000, it results in a value of 1 or 2, both of which are treated as TRUE by the FILTER function.

Example 2: Filtering the Same Column for Multiple Values

Another common scenario is filtering a single column for multiple acceptable values. For example, you want to retrieve records where the Region is either "North" OR "West".

The syntax follows the exact same pattern:

=FILTER(A2:C15, (B2:B15="North") + (B2:B15="West"), "No matches found")

This works wonderfully for two or three criteria. However, if you have a long list of criteria (e.g., matching five different regions), writing repeated addition terms becomes tedious. In such cases, combining FILTER with the MATCH function is a cleaner approach:

=FILTER(A2:C15, ISNUMBER(MATCH(B2:B15, {"North", "West", "South"}, 0)), "No matches")

In this alternative, the MATCH function acts as an implicit OR operation, checking if each cell in B2:B15 exists within the array of allowed values.

Example 3: Combining AND and OR Logic

Real-world datasets often require you to combine both AND and OR logics. For example, suppose you want to filter your sales data to show records where the Sales Amount is greater than $3,000, AND the Region is either "East" OR "West".

To build this, we combine multiplication (AND) with addition (OR). Grouping with parentheses is vital here to establish correct operator precedence:

=FILTER(A2:C15, (C2:C15>3000) * ((B2:B15="East") + (B2:B15="West")), "No matches")

Dissecting the formula:

  • ((B2:B15="East") + (B2:B15="West")) is evaluated first. This returns a 1 if the region matches either value, and a 0 if it doesn't.
  • (C2:C15>3000) returns a 1 if sales exceed $3,000, and a 0 if they don't.
  • The multiplication operator (*) acts as the AND join. A row will only be returned if it scores a 1 in both the OR segment and the sales criteria segment (i.e., 1 * 1 = 1).

Handling Partial Matches with OR Logic

What if your filter conditions are not exact matches? Suppose you want to find rows where the Product name contains the word "Pro" OR "Max". You cannot use simple equivalence (=). Instead, you should use the ISNUMBER and SEARCH functions.

=FILTER(A2:C15, ISNUMBER(SEARCH("Pro", A2:A15)) + ISNUMBER(SEARCH("Max", A2:A15)), "No matches")

Here, the SEARCH function looks for the text string. If found, it returns the character position (a number); if not, it returns an error. The ISNUMBER function converts these positions to TRUE (1) and errors to FALSE (0). The + sign then acts as our OR operator to return rows matching either partial string.

Important Considerations When Using OR Logic in FILTER

  • Parentheses are Non-Negotiable: Always enclose each individual logical condition inside its own set of parentheses. Forgetting them will cause Excel to apply standard mathematical operator precedence (multiplication before addition), yielding incorrect and unpredictable results.
  • Array Size Matches: All ranges used as criteria must have the exact same number of rows as your source array. If your dataset range is A2:C15, your condition ranges must also span from row 2 to row 15 (e.g., B2:B15). Otherwise, Excel will return a #VALUE! error.
  • Handling Empty Results: Always leverage the third argument of the FILTER function (the [if_empty] parameter). If your criteria return no matches, this prevents unsightly #CALC! errors and allows you to display a user-friendly message like "No results".

Conclusion

The FILTER function is one of Excel's most powerful tools for dynamic reporting. By using boolean addition (+) instead of the standard OR function, you can build highly flexible and complex filters across multiple columns. Whether you are creating interactive dashboards or simply streamlining your daily data analysis, mastering OR logic inside Excel's dynamic arrays will save you hours of manual work and complex VBA scripting.

Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.