How to XLOOKUP Multiple Columns at Once: Easy Guide
If you’re an Excel user looking to efficiently search and retrieve data from multiple columns simultaneously, the XLOOKUP function is your go-to tool. In this article, we’ll guide you through the process of using XLOOKUP to lookup multiple columns at once, saving you time and effort in your spreadsheet tasks. Whether you’re working with employee records, sales data, or any other tabular information, mastering XLOOKUP will revolutionize the way you handle your data.
Understanding the XLOOKUP Function
What is XLOOKUP?
XLOOKUP is a powerful and versatile function introduced in Excel 2019 and later versions. It allows you to search for a specific value in a range or array and return a corresponding result from the same or another range or array. XLOOKUP replaces the older VLOOKUP and HLOOKUP functions, offering more flexibility and eliminating some of their limitations.
XLOOKUP Syntax
The syntax for the XLOOKUP function is as follows:
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
lookup_value
: The value you want to search for, which can be a text string, number, or cell reference.lookup_array
: The range or array where you want to search for the lookup_value. This is the column or row that contains the search criteria.return_array
: The range or array from which you want to return a result. This column or row contains the values you want to retrieve based on the lookup_value.if_not_found
(optional): The value to return if the lookup_value is not found in the lookup_array. You can specify an error message, a default value, or leave it blank.match_mode
(optional): Specifies the match type for the lookup_value. You can choose from exact match (0), exact or next larger item (1), exact or next smaller item (-1), or wildcard match (2).search_mode
(optional): Specifies the search direction, either first-to-last (1) or last-to-first (-1). By default, XLOOKUP searches from first to last.
Setting Up Your Data
Before using XLOOKUP to search multiple columns, it’s essential to organize your data properly. A well-structured dataset ensures accurate and efficient lookups. Here’s an example of a well-structured dataset:
Employee ID | First Name | Last Name | Department | Salary |
---|---|---|---|---|
1001 | John | Doe | Sales | 50000 |
1002 | Jane | Smith | Marketing | 60000 |
1003 | Michael | Johnson | Engineering | 75000 |
1004 | Emily | Davis | HR | 55000 |
In this example, each column represents a specific attribute (Employee ID, First Name, Last Name, Department, and Salary), and each row represents a unique record. Keeping your data in a tabular format with clearly defined columns and rows is crucial for effective XLOOKUP usage.
Using XLOOKUP to Search Multiple Columns
Now that your data is set up, let’s explore how to use XLOOKUP to search multiple columns simultaneously.
Example 1: Searching for an Employee’s Salary
Suppose you want to find an employee’s salary based on their first and last name. Here’s how you can use XLOOKUP:
=XLOOKUP(FirstName&" "&LastName, B2:B5&" "&C2:C5, E2:E5, "Not Found", 0)
In this formula:
FirstName
andLastName
are cell references containing the employee’s first and last name, respectively. These can be input cells where you enter the search criteria.B2:B5
andC2:C5
are the ranges containing the first and last names in the dataset. By concatenating these ranges with a space (” “) in between, you create a lookup_array that combines the first and last names.E2:E5
is the range containing the salaries, which serves as the return_array.- “Not Found” is the value returned if no match is found. You can customize this to suit your needs.
0
specifies an exact match, meaning the lookup_value must match the combined first and last name exactly.
Example 2: Searching for an Employee’s Department
Similarly, you can search for an employee’s department based on their Employee ID:
=XLOOKUP(EmployeeID, A2:A5, D2:D5, "Not Found", 0)
In this formula:
EmployeeID
is a cell reference containing the Employee ID you want to search for. This can be an input cell where you enter the search criteria.A2:A5
is the range containing the Employee IDs in the dataset, serving as the lookup_array.D2:D5
is the range containing the departments, which serves as the return_array.- “Not Found” is the value returned if no match is found.
0
specifies an exact match, meaning the lookup_value must match the Employee ID exactly.
Advanced XLOOKUP Techniques
Searching with Wildcards
XLOOKUP supports wildcard characters (*
and ?
) in the lookup_value, allowing you to perform partial or flexible searches. The asterisk (*
) represents any number of characters, while the question mark (?
) represents a single character. For example:
=XLOOKUP("J*", B2:B5, C2:C5, "Not Found", 2)
This formula searches for all first names starting with “J” and returns the corresponding last names. The 2
in the match_mode argument specifies a wildcard match.
Searching with Approximate Matches
By default, XLOOKUP performs an exact match. However, you can use the match_mode
argument to perform approximate matches. This is useful when you want to find the closest match rather than an exact match. For example:
=XLOOKUP(Salary, E2:E5, B2:B5, "Not Found", 1)
This formula searches for the closest salary match and returns the corresponding first name. The 1
in the match_mode argument specifies an exact or next larger item match.
Searching in Reverse Order
By default, XLOOKUP searches from top to bottom. To search from bottom to top, use the search_mode
argument. This is handy when you want to find the last occurrence of a value instead of the first. For example:
=XLOOKUP(Department, D2:D5, A2:A5, "Not Found", 0, -1)
This formula searches for a department from bottom to top and returns the corresponding Employee ID. The -1
in the search_mode argument specifies a last-to-first search order.
Best Practices and Tips
- Ensure your data is organized and consistent for accurate results. Use proper data validation and formatting techniques to maintain data integrity.
- Use absolute cell references (
$
) for ranges if you plan to copy the formula to other cells. This ensures that the ranges remain fixed while the lookup_value changes. - Utilize named ranges to make your formulas more readable and maintainable. Give meaningful names to your data ranges and refer to them in your formulas.
- Validate your results to ensure the XLOOKUP function is working as intended. Test your formulas with different lookup_values and compare the results with your expected outcomes.
- Combine XLOOKUP with other functions like IF, AND, or OR for more complex lookups. You can create conditional statements or perform multiple criteria searches.
Real-World Applications
XLOOKUP’s ability to search multiple columns simultaneously makes it invaluable in various real-world scenarios. Here are a few examples:
- Sales Analysis: Use XLOOKUP to retrieve sales data based on product names, customer IDs, or dates. Analyze trends, identify top-selling products, and generate reports efficiently.
- Inventory Management: Keep track of your inventory levels by using XLOOKUP to search for product codes and retrieve corresponding quantities, locations, or reorder points.
- Student Records: Maintain a database of student information and use XLOOKUP to quickly retrieve grades, contact details, or enrollment status based on student IDs or names.
- Financial Data: Analyze financial statements, budgets, or transactions by using XLOOKUP to search for specific accounts, categories, or time periods and retrieve relevant financial data.
Final Thoughts
XLOOKUP is a powerful tool for searching and retrieving data from multiple columns in Excel. By understanding its syntax, mastering the various lookup techniques, and applying best practices, you can efficiently perform lookups across your datasets. Whether you’re working with employee records, sales data, inventory, or any other tabular information, XLOOKUP streamlines your data analysis process.
Remember to organize your data properly, use appropriate match modes and search modes, and combine XLOOKUP with other functions when necessary. With XLOOKUP in your arsenal, you’ll be able to handle complex data searches with ease and make informed decisions based on accurate and timely information.
FAQs
How do I use XLOOKUP to search multiple columns at once?
Can XLOOKUP perform approximate matches?
How do I handle cases where the lookup_value is not found?
Can XLOOKUP search in reverse order?
How can I combine XLOOKUP with other functions?

Vaishvi Desai is the founder of Excelsamurai and a passionate Excel enthusiast with years of experience in data analysis and spreadsheet management. With a mission to help others harness the power of Excel, Vaishvi shares her expertise through concise, easy-to-follow tutorials on shortcuts, formulas, Pivot Tables, and VBA.