How to Use XLOOKUP with Multiple Criteria in Excel

📅 May 14, 2026 📝 Sarah Miller

Locating specific data in Excel across multiple criteria often leads to frustratingly complex formulas. While standard lookup methods-like basic XLOOKUP or traditional VLOOKUP-efficiently handle single-variable searches, they quickly fail when datasets require multi-layered filtering.

Leveraging boolean logic within XLOOKUP grants users streamlined data retrieval without the need for cumbersome helper columns. The main stipulation, however, is that all referenced criteria arrays must maintain identical dimensions to avoid #N/A errors. For instance, pairing "Region" and "Product ID" requires precise array alignment.

Below, we outline the exact formula structure to implement this advanced lookup technique in your spreadsheets.

How to Use XLOOKUP with Multiple Criteria in Excel

Excel's lookup functions have evolved significantly over the years. For decades, users relied on VLOOKUP, HLOOKUP, and the powerful INDEX and MATCH combination to retrieve data from tables. However, Microsoft revolutionized data retrieval with the introduction of XLOOKUP. Designed to be simpler, safer, and more flexible, XLOOKUP addresses almost all the limitations of its predecessors.

But what happens when you need to retrieve a value based on more than one condition? For example, how do you find the price of an item that must match a specific Product Name, Size, and Color simultaneously? While standard lookups are designed for a single criterion, XLOOKUP can easily handle multiple criteria using two highly effective methods: Boolean Logic (Array Multiplication) and Concatenation. In this comprehensive guide, we will explore both techniques, analyze their mechanics, and look at step-by-step practical examples.

The Syntax of XLOOKUP

Before diving into multiple criteria, let us quickly review the standard syntax of the XLOOKUP function:

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
  • lookup_value: The value you want to search for.
  • lookup_array: The range or array where Excel searches for the lookup value.
  • return_array: The range or array containing the data you want to retrieve.
  • if_not_found (Optional): The value to return if no match is found (e.g., "No Match Found").
  • match_mode (Optional): Allows exact match (0), exact match or next smaller (-1), exact match or next larger (1), or wildcard match (2).
  • search_mode (Optional): Defines search direction (first-to-last, last-to-first, or binary search).

Method 1: Using Boolean Logic (The Best Practice)

The most elegant, flexible, and robust way to perform an XLOOKUP with multiple criteria is by using Boolean logic. This approach does not require changing your source data structure and handles complex calculations flawlessly.

The Formula Template

=XLOOKUP(1, (Criteria_Range1 = Criteria1) * (Criteria_Range2 = Criteria2) * (Criteria_Range3 = Criteria3), Return_Range)

How It Works Behind the Scenes

This formula may look counterintuitive at first glance. Why are we searching for the number 1 as our lookup_value? Let's break down the mechanics:

  1. Evaluation of Conditions: Excel evaluates each logical test individually. For each cell in the range, it checks if the condition is met. This results in an array of TRUE and FALSE values.
    • Criteria_Range1 = Criteria1 might evaluate to: {TRUE; FALSE; TRUE; FALSE}
    • Criteria_Range2 = Criteria2 might evaluate to: {TRUE; TRUE; FALSE; FALSE}
  2. Array Multiplication: The asterisk (*) acts as an AND operator in array mathematics. It forces Excel to convert the logical TRUE and FALSE values into numeric 1s and 0s (where TRUE = 1 and FALSE = 0).
  3. The Math: Excel multiplies the arrays element-by-element:
    • Row 1: TRUE * TRUE1 * 1 = 1
    • Row 2: FALSE * TRUE0 * 1 = 0
    • Row 3: TRUE * FALSE1 * 0 = 0
    • Row 4: FALSE * FALSE0 * 0 = 0
    The resulting consolidated lookup array is: {1; 0; 0; 0}.
  4. The Lookup: XLOOKUP searches this final array for the lookup value of 1. It finds it at the first position and returns the corresponding value from the Return_Range.

Step-by-Step Example of Boolean Logic

Let us apply this to a real-world scenario. Imagine you have a sales inventory table containing columns for Sales Rep, Region, and Revenue. You want to find the Revenue of "Sarah" in the "North" region.

Sample Data Table

Row A (Sales Rep) B (Region) C (Revenue)
2 John South $12,000
3 Sarah West $15,500
4 John North $18,000
5 Sarah North $21,000
6 David East $9,500

To find the Revenue for Sarah in the North region, enter the following formula in your cell:

=XLOOKUP(1, (A2:A6 = "Sarah") * (B2:B6 = "North"), C2:C6, "Not Found")

Result: Excel evaluates the criteria, finds the match on row 5, and returns $21,000. If either criteria wasn't met, it would have returned "Not Found".


Method 2: Using Concatenation (The Ampersand Operator)

An alternative method for evaluating multiple criteria with XLOOKUP is the concatenation approach. Instead of performing math on the arrays, you simply join the criteria and the lookup ranges together using the ampersand (&) operator.

The Formula Template

=XLOOKUP(Criteria1 & Criteria2, Range1 & Range2, Return_Range)

How It Works

Using our previous example of looking up Sarah in the North region, the formula would be written as follows:

=XLOOKUP("Sarah" & "North", A2:A6 & B2:B6, C2:C6, "Not Found")
  1. Criteria Concatenation: "Sarah" & "North" evaluates to the single string "SarahNorth".
  2. Array Concatenation: Excel joins the values of Column A and Column B row-by-row in memory, creating a temporary array: {"JohnSouth"; "SarahWest"; "JohnNorth"; "SarahNorth"; "DavidEast"}.
  3. The Lookup: XLOOKUP searches for "SarahNorth" within this temporary concatenated array, matches it on the fourth position, and returns the revenue $21,000.

Comparison: Boolean Logic vs. Concatenation

While both methods yield the same results in most cases, understanding their differences is crucial for deciding which to use in your daily workflow.

Feature Boolean Logic Method Concatenation Method
Complexity Slightly harder to learn, but highly logical. Very intuitive and easy to write.
Risk of False Matches None. Values are evaluated independently. Low, but possible without proper delimiters (e.g., "East" & "North" vs "Eas" & "tNorth").
Logical Operations Supports alternative mathematical logic like OR (+) or comparisons (>, <). Limited strictly to equal matches.
Performance Extremely efficient, even on larger datasets. Slightly slower on massive datasets due to string generation in memory.

Advanced Scenario: Combining Text, Numeric, and Date Criteria

One of the strongest arguments for using the Boolean Logic method is its compatibility with inequality operators (like greater than > or less than <). This allows you to construct sophisticated, database-like queries directly inside an Excel formula.

Suppose you want to find a transaction in your ledger where:

  • The Sales Rep is "John"
  • The transaction Date is after January 1st, 2023
  • The Revenue is greater than $15,000

You can write this criteria structure directly inside XLOOKUP:

=XLOOKUP(1, (A2:A6 = "John") * (Date_Range > DATE(2023,1,1)) * (C2:C6 > 15000), C2:C6)

Because Excel resolves logical inequality tests (like > 15000) to arrays of TRUE and FALSE, the Boolean logic multiplication processes them seamlessly. The Concatenation method cannot handle these mathematical inequality checks directly.


Best Practices for Implementing Multiple-Criteria XLOOKUP

To ensure your workbooks remain fast, scalable, and easy to maintain, keep these best practices in mind:

  1. Use Excel Tables: Instead of static ranges like A2:A6, format your data range as an official Excel Table (Ctrl + T). This lets you use structured references like Table1[Sales Rep], which expand automatically as you add new rows.
  2. Limit Range Size: Avoid using entire column references like A:A in array formulas. Excel evaluates millions of empty cells, causing severe performance lagging on older computers.
  3. Leverage the "If Not Found" Argument: Always define the 4th argument of XLOOKUP. If your criteria do not find a matching row, returning a customized message like "No Records Match" is much cleaner than displaying a default #N/A error.

Conclusion

With the introduction of XLOOKUP, managing multi-criteria searches in Excel is easier than ever. While the concatenation method is quick and straightforward, utilizing Boolean logic (array multiplication) provides a robust, professional framework capable of handling complex comparisons and dynamic criteria. By adopting these methods, you eliminate the need for complicated helper columns, ultimately building cleaner, faster, and more professional Excel spreadsheets.

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.