fbpx

How to use XLOOKUP with two sheets?

Share

Facebook
Twitter
LinkedIn

Learn how to use Excel XLOOKUP function with two sheets in this step-by-step tutorial.

xlookup across two sheets

Why you may want to use XLOOKUP with two sheets?

If you have data in two places (sheets or Excel workbooks) like depicted above, you may want to use XLOOKUP to combine data from both places to get the full picture. For example,

  • Student list in sheet1, course price list in sheet2, you want to know the price of courses against student names in sheet1
  • Invoice list in sheet1, payment list in sheet 2, you need to know which invoices are paid up (reconciliation)
  • Equipment list in sheet1, inspection details in sheet2, you want to know when the last inspection date is for each equipment

What you need?

  • You need two sheets of data.
  • or if data is in two separate Excel files, then open both files.
  • If you need a sample data file, grab my free xlookup two sheets template.

XLOOKUP with two sheets (step-by-step instructions)

Step 1: Identify common column between both sheets

xlookup two sheets - example scenario

For example, in the above scenario, “Fee” is the common column between sheet 1 (student list) and sheet 2 (course list).

What if I have more than 1 common column?

I will explain the process for modifying XLOOKUP to work with multiple columns further down the page. Read on.

Step 2: Write the XLOOKUP formula

Go to the sheet where you want to get the data from “other” sheet and write the XLOOKUP function using the pattern below.

=XLOOKUP(
  all cells in first sheet, 
  common column in second sheet,
  column you want in second sheet,
  optional output for missing values
  )

for example, in our students & fees case, we will use the below XLOOKUP function.

=XLOOKUP(C4:C43,
         Courses!B4:B15,
         Courses!D4:D15
         )
how to write xlookup formula to get fee data from courses sheet to students sheet

As demonstrated above, xlookup can automatically spill values for all the rows based on the common column you have specified. No need to individually write or drag the formulas. You also don’t need to “lock” your references with this style of formulas. Learn more about the spill functionality and dynamic array behavior of Excel here.

Using Tables? Don’t select the full column in sheet 1

If you are using Excel Tables for your data, just select the current cell in first row but select common column and column you want in sheet 2. Excel will automatically fill the formula down for you.

For example, the same formula with tables could look like this:

=XLOOKUP([@Course Name], courses[name], courses[fee])

What if I have more than one common column? (XLOOKUP multiple criteria)

Let’s say you have different fee per course based on the the student’s location (ex: In state is $600, out of state is $900). Something like this:

more than one column to check

In such cases, your student’s data will also have both “course code” and “student type” columns. something like this:

xlookup needs to check both course code and student type columns

As you can see, our XLOOKUP needs to check both of these columns to figure out the correct fee per row.


XLOOKUP with two sheets, multiple columns (step-by-step instructions)

Step 1: Identify common columns between sheets

In our case, the common columns are,

  • Course Code (column C in sheet 1, column B sheet 2)
  • Student Type (column D in sheet 1, column C in sheet 2)
xlookup two sheets, but  two columns to check!

Step 2: Write the multi-criteria XLOOKUP

Instead of looking up for a specific column value, we start the xlookup with 1 and construct a “boolean” checking array. The formula looks like this:

=XLOOKUP(1,
('Courses NEW'!$B$4:$B$27=Students!C4)*('Courses NEW'!$C$4:$C$27=Students!D4),
'Courses NEW'!$D$4:$D$27)

Formula Explanation:

  • We start the lookup with 1. I will explain what this is in a second.
  • The lookup array has multiple parts, one per common column. As we have two columns to match (course code and student type), we have two parts here.
    • Part1: (‘Courses NEW’!$B$4:$B$27=Students!C4) checks which courses in column B of sheet 2 (course code column) match with the course of current student record (column C of sheet 1)
    • Part 2: (‘Courses NEW’!$C$4:$C$27=Students!D4) does the same, but for student type
    • Part 1 * Part 2: when we multiply both of these checks, we end up with an array of 0s and 1s. for example, it will look like this: {0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}
  • The return array is just the fee column of sheet 2
  • As we are looking for 1, xlookup matches the 1 in Part 1*Part 2 and returns the corresponding fee.

Related: learn more about what and how of this boolean multiplication logic in Excel

Watch – XLOOKUP with multiple criteria explained quickly

Generic Formula Pattern for any number of common columns with XLOOKUP

Use this pattern and adjust everything as per your data to match any number of common columns

=XLOOKUP(
    1,
      (COLUMN 1 in second sheet = value 1 first sheet) * 
      (COLUMN 2 in second sheet = value 2 first sheet) * 
      (COLUMN 3 in second sheet = value 3 first sheet) * 
      (COLUMN 4 in second sheet = value 4 first sheet),
    COLUMN YOU WANT TO GET IN SECOND SHEET,
    OPTIONAL value for missing cases
  )
      

What if I have data in two separate workbooks (Excel files) instead of sheets

The process is exactly same as two sheets. You just need to keep both files OPEN for the XLOOKUP to work. If you close the second file (one with fees in this example), the formula in first workbook works as long as you don’t touch it or recalculate the workbook (F9). At that point it will throw an error and ask you to open the file.

Alternatives to XLOOKUP for combining data from two places

While xlookup is great, you can also use below alternatives to get data from another place.

My preferences:

For simple scenarios and quick analysis, I prefer using XLOOKUP or VLOOKUP to quickly combine data like this.

But if the data is coming from two separate files (workbooks or even sharepoint lists etc.), then I use Power Query. It gives me more flexibility and choices. Refer to my Power Query tutorial page for more spicy examples on what this powerful feature can do for you.

Bonus: XLOOKUP with two sheets: Sample workbook

If you need a hand with the formulas explained above, download my free XLOOKUP two sheets template and refer to the formulas in columns E & F. Let me know if you have any questions by leaving a comment.

Related Resources:

To learn more about the important Excel functions and concepts, refer to below articles & videos:

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

xlookup function in Excel - how to use it?

How to use XLOOKUP in Excel?

Think of XLOOKUP as an improved version of VLOOKUP. In this article, learn all about the XLOOKUP function, it’s syntax, parameters with real-world xlookup examples.

Leave a Reply