The XLOOKUP Function

The XLOOKUP function is used to search a range and to perform exact and approximate matches, search in reverse, and handle errors. It offers enhanced capabilities compared to traditional lookup functions like VLOOKUP and HLOOKUP. The XLOOKUP function uses the following syntax:

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

  • lookup_value is the value you want to find.
  • lookup_array is the range of cells where you want to perform the lookup.
  • return_array is the range of cells containing the corresponding values you want to retrieve.
  • if_not_found [optional] specifies the value to return if no match is found (optional).
  • match_mode [optional] specifies how to match the lookup value (optional).
    • 0 - Exact match. If none found, return #N/A. This is the default.
    • 1 - Exact match. If none found, return the next larger item.
    • -1 - Exact match. If none found, return the next smaller item.
  • search_mode [optional] _Binary search is typically used to improve performance on large datasets. To make it work, your data must be sorted. Row Zero implements an advanced algorithm that allows the normal search modes to work quickly on unsorted data, so modes 1 and -1 should be used, unlike Excel, which offers additional options 2 and -2.
    • 1 - Perform a search starting at the first item. This is the default.
    • -1 - Perform a reverse search starting at the last item.


Basic Lookup

Suppose you have a dataset with employee names in column A and their corresponding salaries in column B. To find the salary of an employee named "John," use the following formula:

=XLOOKUP("John", A1:A10, B1:B10)

Handling Errors

Imagine you have a dataset with product names in column C and their prices in column D. If you want to find the price of a product named "Widget," but display "Not Found" if no match is found, use this formula:

=XLOOKUP("Widget", C1:C20, D1:D20, "Not Found")

Approximate Match

Suppose you have a dataset with exam scores in column E and corresponding grade boundaries in column F. To determine the grade for a score of 85, considering approximate match, use this formula:

=XLOOKUP(85, E1:E10, F1:F10, "Not Found", -1, 1)

Key Points to Consider

  • The XLOOKUP function provides advanced lookup capabilities, including exact and approximate matches, reverse searches, and better error handling.
  • It's a versatile tool for retrieving data from large datasets efficiently.
  • The function simplifies complex lookup scenarios that were challenging with VLOOKUP.

When to Use the XLOOKUP Function

  • When performing lookups that require exact or approximate matches.
  • When searching for values in reverse (searching in the return array and returning values from the lookup array).
  • When dealing with datasets where traditional lookup functions are limited or error-prone.


The XLOOKUP function is a powerful tool for advanced data retrieval and lookup tasks in spreadsheets. By using this function, you can perform searches for data in large datasets and return data on either side of the reference range. XLOOKUP supports exact and approximate matches, errors handling, and complex lookup scenarios. Whether you're searching for specific values, working with large datasets, or need enhanced lookup capabilities, the XLOOKUP function offers a comprehensive solution. Experiment with the XLOOKUP function in your Row Zero workbook to explore its capabilities further.