How Does Xlookup Work in Excel? Step-by-Step Guide

by | Excel

Are you ready to discover the ultimate, game-changing secret weapon that will revolutionize your experience with Microsoft Excel?

Introducing the XLOOKUP function – a highly versatile tool that allows you to locate and retrieve values within a sheet or table. So How does it work?

Well, In layman’s terms, the XLOOKUP function simplifies the process of finding and retrieving data in Excel sheets.

The syntax for the XLOOKUP formula is:

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

To set up the Xlookup formula, follow these steps:

  1. Start by specifying the value you want to find (known as the ‘lookup value’).

  2. Next, identify two arrays – one for searching and another from which to retrieve the desired information.

With this function, you can perform both vertical and horizontal lookups without requiring sorted data. It also works with single values or arrays, giving you control over search behavior and error handling.

In this article, we’ll delve into the nitty-gritty of how to use the XLOOKUP function effectively.

Get ready to elevate your Excel expertise!

Let’s begin.

Understanding the XLOOKUP Function

how does xlookup work in excel

At its core, the XLOOKUP function in Excel is a tool designed to look for a specified item, known as the “lookup_value,” within a column or row, dubbed the “lookup_array,” and return a corresponding value from the same row or column in the “return_array.”

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

It’s the more robust successor to the well-known VLOOKUP function, addressing many of its predecessor’s limitations.

Let’s break down the parts:

  • lookup_value: This is the value you want to search for.

  • lookup_array: The array or range where the search for the lookup value takes place.

  • return_array: Once the lookup value is found, XLOOKUP will return the corresponding value from this array or range.

  • if_not_found (optional): What should Excel do if the lookup_value isn’t found? You can define a custom error message here.

  • match_mode (optional): Decides whether you want an exact match, an exact match or next smaller item, an exact match or next larger item, or a wildcard match.

  • search_mode (optional): Determines the direction of the search, allowing forward, backward, binary search ascending, or binary search descending.

These components collectively make XLOOKUP a highly adaptable function capable of handling various tasks that were cumbersome with older lookup functions.

Next, let’s check out the mechanics on XLookup.

The Mechanics of XLOOKUP

mechanics of vlookup represented with a big machine and cogs

Imagine you are at a library, and you’re looking for a book with a specific title. You know the section (lookup_array) where it should be, and you have the name (lookup_value) in mind.

Once you find your book, you might also want to know the author’s name, which is on the same row on the library index card (return_array). XLOOKUP works much the same way in an Excel spreadsheet.

The true power of XLOOKUP lies in its ability to flexibly return an exact match for the lookup value you’re seeking. Should an exact match not be imperative, XLOOKUP can also be set to find the closest match without disrupting the integrity of the data set.

Furthermore, unlike the VLOOKUP function, XLOOKUP can return multiple values from the same row, adding depth to your data retrieval capabilities.

Alright, let’s examine the many benefits of the Xlookup formula.

Benefits of Using XLOOKUP

a person looking through xlookup functions with a magnifying glass

Why choose XLOOKUP over other lookup functions? The benefits are many:

  • Flexibility: XLOOKUP isn’t constrained by vertical or horizontal data arrangements, seamlessly performing both vertical lookup and horizontal lookup.

  • Simplicity: Complex tasks that require nested functions with VLOOKUP or HLOOKUP can now be achieved with a single XLOOKUP formula.

  • Error Handling: XLOOKUP allows you to specify what should be returned if a lookup_value isn’t found, preventing the dreaded #N/A error from spoiling your data set.

  • Compatibility: It works beautifully with other Excel features, like dynamic arrays, enabling you to return an entire row or column of data with just one formula.

Now, let’s take the next step and learn how to set up an XLOOKUP formula.

XLOOKUP vs. Other Lookup Functions

racing cars on a track signifying the different functions

Let’s compare XLOOKUP with some commonly used Excel functions to help you decide when to use XLOOKUP over other options:


VLOOKUP is a well-known Excel function used for vertical lookups. It searches for a value in the leftmost column of a table and returns a corresponding value from a specified column.

VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

XLOOKUP is a more versatile replacement for VLOOKUP. It can perform both vertical and horizontal lookups without requiring the lookup column to be on the left. XLOOKUP also offers better error handling and can return multiple values from a single lookup.


HLOOKUP is similar to VLOOKUP but performs horizontal lookups. It searches for a value in the top row of a table and returns a corresponding value from a specified row.

HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

XLOOKUP eliminates the need for HLOOKUP by allowing you to perform both horizontal and vertical lookups with a single function. It offers more flexibility and ease of use.

Now, let’s take a look at some practical examples.

Practical Examples of XLOOKUP

With a foundational grasp of the XLOOKUP function, let’s apply it to real-world Excel tasks to understand its true potential.

Customer Information Retrieval

applying the xlookup formla for customer information retrieval

Imagine you have an Excel spreadsheet with customer details. You want to extract information based on their unique identifier, located in a specific “lookup column.”

=XLOOKUP(lookup_value, search_array, return_array, "Customer not found", 0)

Here, the “lookup_value” matches the customer’s unique identifier. XLOOKUP checks this against the “search_array” and retrieves data from the “return_array,” corresponding to columns with names, emails, and purchase histories.

Now, let’s check the next example.

Stock Price Tracking

tracking stocks with the vlookup functions

Consider maintaining a list of stocks for financial analysis, where you need to quickly filter through the “lookup_array” of ticker symbols to find the latest stock prices in a “return_array.”

=XLOOKUP(lookup_value, lookup_array, return_array, "Ticker not found", 1)

The “lookup_value” would be the specific ticker symbol, and XLOOKUP would perform an exact match search within the “lookup_array” to return the current price from the “return_array,” showing how it can operate effectively as a part of a dynamic financial analysis tool.

Now, let’s see how wildcard matching offers you even more versatility in your Excel toolkit

Wildcard Matching with XLOOKUP

a excel jedi in the matrix

In Excel, data doesn’t always come neatly formatted, and sometimes you need to perform searches that involve partial matches, variable inputs, or search patterns. This is where wildcard matching with XLOOKUP becomes a valuable tool.

We can use wildcard characters in conjunction with XLOOKUP to perform flexible searches and retrieve specific data.

Let’s take a deeper look at wildcard characters.

Understanding Wildcard Characters

a table with basic explanation of wildcard character

Wildcard characters are symbols that represent one or more characters in a search string. The two most commonly used wildcard characters in Excel are:

  • `*` (Asterisk): This represents any number of characters, including zero characters. For example, “app*” would match “apple,” “application,” and so on.

  • `?` (Question Mark): This represents a single character. For example, “b?t” would match “bat,” “bet,” and so on.

Let’s see how to combine wildcard matching with Xlookup.

How to Use Wildcard Matching with XLOOKUP

= XLOOKUP("[Your Lookup Value with Wildcard]*", [Your Lookup Array], [Your Return Array], "[Optional: Value if Not Found]", 2)

XLOOKUP, with its versatility, allows you to leverage wildcard characters to perform searches based on patterns or partial matches. Here’s how to do it:

  1. Define Your Lookup Value: Begin by specifying your lookup value, which may include wildcard characters to represent variable portions of the search term.

  2. Set Up Your Search Array: In the lookup array (the range where you’re searching for a match), you can include cells containing data with varying patterns or partial information.

  3. Use XLOOKUP with Wildcards: In the XLOOKUP function, include the lookup value with wildcard characters. For example, if you’re searching for all products starting with “app,” your lookup value might be “app*.”

  4. Retrieve Matching Results: XLOOKUP will return all matching results that meet the specified pattern or partial match criteria. This means you can extract a list of items that fit the search pattern, even if they don’t have an exact match.

Let’s check out some examples:

How to Use Wildcard Matching for Product Names

wildcard matching for product names

Let’s say you have a list of products, and you want to find all products that contain the word “apple” in their names.

How to use XLOOKUP with a wildcard:

  • Lookup Value: “apple*”

  • – Lookup Array: Range containing product names

XLOOKUP will return a list of all products whose names start with “apple” but may vary in the rest of the characters. This is incredibly useful when you have a large dataset with products that share common keywords but differ in other details.

How to Use Function Searches and Match Types

function search and matching with the xlookup function

XLOOKUP provides different match types (e.g., exact match, partial match) based on how you use wildcard characters in your lookup value. You can experiment with different combinations to tailor your searches to specific needs.

Below are some match-type examples:

  • – Exact Match: “app” matches only “app.”

  • – Partial Match: “app*” matches “apple,” “application,” and more.

  • – Specific Length: “app???” matches “apple” but not “apples.”

Wildcard matching with XLOOKUP adds a new level of flexibility to your data search and retrieval tasks. It allows you to work with data that might not follow a strict format, enabling you to find relevant information even when you have partial or variable search criteria.

Alright, it’s time to supercharge our Excel skills by combining Xlookup with Filter.

How to Combine XLOOKUP and FILTER

combining the xlookup and filter functions

Combining the power of XLOOKUP and the Excel FILTER function can take your data extraction and analysis to the next level. This powerful combination allows you to perform more advanced searches and retrieve multiple results based on specific criteria.

Let’s explore how to leverage both functions effectively.


  • XLOOKUP: As mentioned earlier, XLOOKUP is a versatile lookup function that searches for a specified value in a lookup array and returns a corresponding value from a return array. It’s known for its flexibility, error handling, and ability to handle both vertical and horizontal lookups.

  • FILTER Function: The FILTER function, on the other hand, is designed to extract rows from a range or array that meet specific criteria. It returns an array of results that match the specified conditions.

By combining XLOOKUP with the FILTER function, you can perform advanced searches that involve multiple criteria and return multiple results.

Here’s a step-by-step approach:

How to Define Your Lookup Values

=XLOOKUP("Apple*", B2:B11, A2:A11, "Not Found", 2)

Begin by defining the criteria or lookup values you want to use for your search. These could be specific conditions, keywords, or unique identifiers that you want to match in your data.

How to Use XLOOKUP to Get Matched Rows

using xlookup to get matching rows

Apply the XLOOKUP function to search for your lookup values within a specified search array. This function will return the row numbers or positions where matches are found.

How to Apply FILTER for Advanced Extraction

applying the filter with xlookup for advanced extractions

Now, use the FILTER function to extract rows from your data based on the row numbers obtained from the XLOOKUP function. The FILTER function allows you to specify the search array, the criteria for filtering (which are the row numbers from XLOOKUP), and the resulting array that contains the matching rows.

Additional Considerations

  • You can use logical operators (AND, OR) within your FILTER criteria to perform more complex searches based on multiple conditions.

  • The combination of XLOOKUP and FILTER is particularly valuable when dealing with large datasets or when you need to retrieve multiple rows that satisfy specific criteria.

  • Remember that both XLOOKUP and FILTER are dynamic array functions, meaning they can return multiple results that spill over into adjacent cells. Ensure that your worksheet supports dynamic arrays or use the MAX function to consolidate multiple results into a single cell if necessary.

By combining XLOOKUP with the FILTER function, you can create powerful Excel formulas that perform advanced searches and data extraction, allowing you to gain deeper insights from your datasets with greater efficiency.

Now, as we conclude, let’s reflect on what you’ve learned about the XLOOKUP function.

Final Thoughts

final thoughts on how does xlookup work in excel

Mastering XLOOKUP equips you with a robust tool for a wide range of applications in Excel, from simple lookups to complex, dynamic arrays for data analysis across diverse datasets.

By incorporating XLOOKUP into your workflow, you’re not just enhancing your productivity; you’re also unlocking new possibilities for efficient data management and analysis.

So, embrace the power of XLOOKUP and elevate your Excel capabilities to new heights.

Wanna learn take your Excel skills to the next level, check out our clip below.

Frequently Asked Questions About Excel’s XLOOKUP Function

What exactly is the Excel XLOOKUP function?

The Excel XLOOKUP function is a versatile tool that allows users to search for a specific value within a row or column (known as the lookup array) and return a result from the same position in a different row or column (the return array).

How do I use the XLOOKUP function to find exact matches?

To use XLOOKUP for exact matches, set the match_mode argument to 0 (zero). This tells the function to only consider results that exactly match the search value you’ve provided.

Can XLOOKUP search for more than one value?

Yes, XLOOKUP can search for and return more than one value. By setting up the return array to include multiple columns or rows, XLOOKUP can retrieve all the values that correspond to the lookup value.

What is the ‘search mode’ in XLOOKUP?

The ‘search mode’ in XLOOKUP determines the direction of the search. You can set it to search from first to last (a forward search), from last to first (a reverse search), or to perform a binary search, which requires the lookup array to be sorted in ascending order.

How does XLOOKUP handle blank cells or empty strings?

If XLOOKUP encounters blank cells or empty strings in the lookup array, it treats them as valid matches if your lookup value is also a blank cell or an empty string. To prevent this, ensure that your data does not contain unintended blank cells, or modify your lookup value or search criteria accordingly.

Is it possible to perform a two-way lookup with XLOOKUP?

Absolutely. By nesting two XLOOKUP functions—one to find the correct row and another to find the correct column—you can perform a two-way lookup to retrieve a value based on both a vertical and a horizontal condition.

How does XLOOKUP differ in match behavior compared to other lookup functions?

XLOOKUP offers more control over match behavior through its match_mode argument. Unlike VLOOKUP, which defaults to an approximate match, XLOOKUP defaults to an exact match and allows users to define whether they want to find the next smallest or largest item when an exact match isn’t available.

Can I use wildcard characters with XLOOKUP for partial matches?

Yes, XLOOKUP supports wildcard characters such as the asterisk (*) and the question mark (?) for partial matches when the match_mode is set to allow wildcard matching.

What if I want to use XLOOKUP to retrieve the last value in a range?

You can set the search_mode to search from last to first, which will make XLOOKUP return the last value in the range that meets the search criteria.

Can XLOOKUP return a value from a lookup table based on multiple search criteria?

Yes, while a single XLOOKUP formula can handle only one search criteria, you can nest multiple XLOOKUP functions or combine them with other functions like the FILTER function to handle multiple search criteria.

How does the ‘if_not_found’ parameter work in XLOOKUP?

The ‘if_not_found’ parameter allows you to define a custom message or value that XLOOKUP returns when it doesn’t find a valid match for the search value, helping to avoid #N/A errors in your Excel formula output.

author avatar
Sam McKay, CFA
Sam is Enterprise DNA's CEO & Founder. He helps individuals and organizations develop data driven cultures and create enterprise value by delivering business intelligence training and education.

Related Posts