How to Use XLOOKUP with Multiple Criteria in Excel

📅 Oct 01, 2026 📝 Sarah Miller

Finding a specific data point based on multiple conditions in Excel often leads to frustration, especially when traditional VLOOKUP formulas fall short. Analysts frequently resort to clunky helper columns or complex INDEX/MATCH arrays to bridge this analytical gap. Fortunately, the modern XLOOKUP function grants users a seamless, elegant alternative that eliminates spreadsheet clutter entirely.

However, harnessing this capability requires understanding a key stipulation: you must utilize boolean logic-multiplying criteria arrays together-to properly align your search. For instance, matching "Region" and "Product" to instantly extract "Q4 Sales" becomes effortless once this logic is applied. Below, we will break down the exact formula syntax and walk through practical steps to master this multi-criteria technique.

How to Use XLOOKUP with Multiple Criteria in Excel

For years, Excel users relied on complex workarounds like INDEX and MATCH combinations, helper columns, or the notoriously rigid VLOOKUP to retrieve data based on multiple criteria. However, with the introduction of the XLOOKUP function in Excel 365 and Excel 2021, performing multi-criteria lookups has become significantly cleaner, faster, and more intuitive.

In this comprehensive guide, we will explore how to harness the power of XLOOKUP to search for data using two or more criteria. We will break down the formulas, analyze the logic behind them, look at practical real-world examples, and discuss best practices to optimize your spreadsheets.

The Core Concept: Understanding XLOOKUP Syntax

Before diving into multi-criteria searches, let's briefly review the standard syntax of a basic XLOOKUP formula:

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

In a standard single-criterion lookup, you pass a specific value (like an Employee ID) to search for in a column (the lookup_array), and return the corresponding value from another column (the return_array).

To look up multiple criteria, we must adapt this structure. There are two primary methods to achieve this with XLOOKUP:

  1. The Boolean Logic Method (Recommended): Using array multiplication to evaluate multiple conditions.
  2. The Concatenation Method: Merging lookup values and lookup ranges using the ampersand (&) operator.

Method 1: The Boolean Logic Method (Preferred)

The Boolean logic method is the most robust, elegant, and modern way to execute a multi-criteria lookup in Excel. It does not require helper columns and executes quickly even on large datasets.

The Formula Template

=XLOOKUP(1, (Criteria_Range1=Criterion1) * (Criteria_Range2=Criterion2) * ..., Return_Range)

How It Works Behind the Scenes

This approach might look counterintuitive at first because we are searching for the number 1 instead of our actual criteria. Here is the step-by-step breakdown of how Excel processes this formula:

  • Logical Evaluation: For each row in your dataset, Excel checks if Criteria_Range1=Criterion1. This returns an array of TRUE or FALSE values (e.g., {TRUE; FALSE; TRUE}).
  • Array Multiplication: Excel repeats this check for the second criteria range, generating another array of TRUE and FALSE values. It then multiplies these arrays together. In computer science and math, TRUE evaluates to 1 and FALSE evaluates to 0.
  • The Math:
    • TRUE * TRUE becomes 1 * 1 = 1
    • TRUE * FALSE becomes 1 * 0 = 0
    • FALSE * FALSE becomes 0 * 0 = 0
  • Finding the Match: The multiplication results in a final lookup array of 1s and 0s. Because our lookup_value is set to 1, XLOOKUP searches for the first occurrence of 1 in this final array-which corresponds to the exact row where all conditions are simultaneously met (TRUE).

Step-by-Step Practical Example

Let's look at a practical business scenario. Suppose we have the following sales data table, and we want to find the revenue generated by Sarah in the North region.

Row A (Sales Rep) B (Region) C (Product) D (Revenue)
2 John East Laptops $12,000
3 Sarah West Phones $8,500
4 John North Tablets $5,400
5 Sarah North Laptops $15,000
6 Sarah East Tablets $7,200

To find the revenue for Sarah in the North region, our formula will be:

=XLOOKUP(1, (A2:A6="Sarah") * (B2:B6="North"), D2:D6)

Execution Trace:

  1. A2:A6="Sarah" yields {FALSE; TRUE; FALSE; TRUE; TRUE}
  2. B2:B6="North" yields {FALSE; FALSE; TRUE; TRUE; FALSE}
  3. Multiplying these two arrays together:
    {0; 1; 0; 1; 1} * {0; 0; 1; 1; 0} = {0; 0; 0; 1; 0}
  4. The resulting array is {0; 0; 0; 1; 0}. XLOOKUP looks for the number 1, which is located at the 4th position (corresponding to row 5 in our spreadsheet).
  5. It grabs the value from the 4th position of our return range D2:D6, which is $15,000.

Method 2: The Concatenation Method

If Boolean math feels abstract, you can use the concatenation method. This approach merges your criteria into a single unique string, and then merges the target columns in the same order to look up that string.

The Formula Template

=XLOOKUP(Criterion1 & Criterion2, Range1 & Range2, Return_Range)

Practical Example

Using the same dataset table from above, if we want to find the revenue for Sarah in the North region, the formula would be:

=XLOOKUP("Sarah" & "North", A2:A6 & B2:B6, D2:D6)

How It Works

  • The lookup value evaluates to "SarahNorth".
  • The lookup array concatenates columns A and B row-by-row, generating a temporary in-memory array: {"JohnEast"; "SarahWest"; "JohnNorth"; "SarahNorth"; "SarahEast"}.
  • XLOOKUP matches "SarahNorth" to the 4th item in that array and returns the 4th item in column D: $15,000.

Why Boolean Logic is Generally Better Than Concatenation

While concatenation is highly intuitive, the Boolean logic method has two distinct advantages:

  • Risk of False Matches: Concatenation can occasionally lead to false positive matches. For example, if Column 1 contains "East" and Column 2 contains "Northside", concatenated they make "EastNorthside". If another row has "EastNorth" and "side", they also form "EastNorthside". Boolean logic treats each check entirely independently, eliminating this risk.
  • No Character Merging overhead: On massive datasets (tens of thousands of rows), concatenating entire columns of text arrays can consume more memory and slow down calculation times compared to fast binary mathematical multiplication.

Advanced Implementation: Adding More Than Two Criteria

One of the greatest benefits of the Boolean logic approach is its scalability. If your data requirements grow and you need to look up data based on three, four, or more criteria, you simply multiply another condition array into the lookup range argument.

Using our previous table, let's assume we want to find the revenue where:

  • Sales Rep is Sarah
  • Region is North
  • Product is Laptops

The formula extends seamlessly to:

=XLOOKUP(1, (A2:A6="Sarah") * (B2:B6="North") * (C2:C6="Laptops"), D2:D6)

Excel will check all three criteria, and only return a row's value if it scores a 1 across all evaluations.


Handling Errors and Missing Data

In real-world spreadsheets, you cannot guarantee your criteria combination will always exist. If we searched for "John" in the "West" region in our sample data, standard Excel formulas would return a frustrating #N/A error.

With XLOOKUP, you can bypass the need for an external IFERROR wrapper by using its built-in 4th argument: [if_not_found].

=XLOOKUP(1, (A2:A6="John") * (B2:B6="West"), D2:D6, "No Record Found")

If the combination does not exist in your dataset, the formula will gracefully output "No Record Found" instead of throwing an error code, keeping your dashboards and summaries looking clean and professional.


Important Performance Tips & Best Practices

To ensure your multi-criteria XLOOKUP formulas run optimally and do not drag down your Excel workbook's performance, keep these key guidelines in mind:

  • Ensure Identical Range Sizes: All criteria ranges (e.g., A2:A100, B2:B100) and the return range (e.g., C2:C100) must be exactly the same size. If your ranges are misaligned (e.g., evaluating A2:A100 alongside B2:B99), Excel will return a #VALUE! error.
  • Avoid Reference to Entire Columns: Try to avoid referencing whole columns like A:A or B:B in your arrays. Doing so forces Excel to evaluate over a million cells for each array calculation, which can severely slow down your processing times. Use designated ranges or Excel Tables instead.
  • Utilize Excel Tables: By formatting your source data as an official Excel Table (using Ctrl + T), you can leverage structured references. This ensures your ranges dynamically expand as new rows are added. The formula adjusts automatically:
    =XLOOKUP(1, (SalesTable[Sales Rep]="Sarah") * (SalesTable[Region]="North"), SalesTable[Revenue])

Conclusion

The multi-criteria XLOOKUP formula is one of the most powerful modern tools in any Excel analyst's toolkit. By using the Boolean logic method (1 as the lookup value and multiplied logical conditions as the array), you create highly robust, transparent, and lightning-fast worksheets. This technique eliminates the old-school reliance on helper columns or complex array brackets, freeing you to design cleaner workbooks that are easier to audit and maintain.

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.