SheetHelper logo
excelvlookuplookupformulas2026-07-24

How to Use VLOOKUP Across Sheets in Excel

To use VLOOKUP across sheets, put the source sheet name before the lookup range. The pattern is:

=VLOOKUP(lookup_value,SheetName!lookup_range,column_number,FALSE)

For example, if your order sheet has a product ID in A2 and your product list is on a sheet named Products, this formula returns the product name:

=VLOOKUP(A2,Products!$A$2:$D$100,2,FALSE)

VLOOKUP works the same way whether the lookup table is on the current worksheet or another worksheet. The main difference is the sheet reference before the range.

1. Basic Cross-Sheet VLOOKUP Formula

Use this structure when the lookup table is on another sheet:

=VLOOKUP(A2,Products!$A$2:$D$100,3,FALSE)

Here is what each part means:

Formula part Meaning
A2 The value you want to find on the current sheet
Products!$A$2:$D$100 The lookup table on the Products sheet
3 Return the value from the third column of that lookup table
FALSE Require an exact match

The lookup column must still be the first column in the table array. In the example above, Excel searches column A on the Products sheet and returns a value from the third column of Products!$A$2:$D$100.

2. Example Workbook Setup

Imagine a workbook with two sheets:

Sheet Purpose
Orders Contains product IDs entered in each order row
Products Contains the master product list, names, categories, and prices

On the Orders sheet:

Order ID Product ID Product Name Price
O-1001 P-101
O-1002 P-205
O-1003 P-318

On the Products sheet:

Product ID Product Name Category Price
P-101 Keyboard Accessories 45
P-205 Monitor Displays 220
P-318 Mouse Accessories 25

To return the product name into Orders!C2, use:

=VLOOKUP(B2,Products!$A$2:$D$100,2,FALSE)

To return the price into Orders!D2, use:

=VLOOKUP(B2,Products!$A$2:$D$100,4,FALSE)

After the first formula works, fill it down the order list.

3. Use Quotes When Sheet Names Have Spaces

If the sheet name contains spaces, punctuation, or special characters, wrap the sheet name in single quotes:

=VLOOKUP(A2,'Product List'!$A$2:$D$100,3,FALSE)

This is one of the most common cross-sheet formula mistakes.

Sheet name Reference format
Products Products!$A$2:$D$100
Product List 'Product List'!$A$2:$D$100
2026 Prices '2026 Prices'!$A$2:$D$100

You do not have to type the sheet reference manually. Start the VLOOKUP formula, then click the other sheet tab and select the lookup range. Excel will insert the sheet reference for you.

4. Lock the Lookup Range Before Filling Down

When you copy a VLOOKUP formula down many rows, lock the lookup table with dollar signs:

=VLOOKUP(B2,Products!$A$2:$D$100,2,FALSE)

If you use a relative range like Products!A2:D100, the reference can shift as you copy the formula:

=VLOOKUP(B2,Products!A2:D100,2,FALSE)

That can make later rows search the wrong part of the product table.

Reference What happens when copied down
Products!A2:D100 Can shift to Products!A3:D101
Products!$A$2:$D$100 Stays fixed

If the dollar signs feel confusing, review Excel cell references, especially absolute references and the F4 shortcut.

5. Make Sure the Table Array Starts with the Lookup Column

Cross-sheet VLOOKUP still follows the normal VLOOKUP rule: the first column of the table array must contain the value you are searching for.

This works if product IDs are in column A on the Products sheet:

=VLOOKUP(B2,Products!$A$2:$D$100,4,FALSE)

This does not work if the Products sheet starts with another column, such as Category, and product IDs are actually in column B:

Category Product ID Product Name Price
Accessories P-101 Keyboard 45
Displays P-205 Monitor 220
=VLOOKUP(B2,Products!$A$2:$D$100,4,FALSE)

That formula searches the Category column, not the Product ID column. In that case, start the range at column B:

=VLOOKUP(B2,Products!$B$2:$D$100,3,FALSE)

If you need to search a column and return a value from a column to the left, VLOOKUP is the wrong tool. Use XLOOKUP or INDEX MATCH instead.

6. Fix #N/A in Cross-Sheet VLOOKUP

When VLOOKUP across sheets returns #N/A, the most likely causes are the same as a normal VLOOKUP, but they are easier to miss because the source data is on another tab.

Problem Fast check
Lookup value does not exist on the source sheet Search the first column of the source table
Extra spaces or hidden characters Compare =LEN(A2) with =LEN(TRIM(A2))
Numbers stored as text Test both sides with =ISNUMBER(A2)
Wrong table range Confirm the source range starts with the lookup column
Formula copied down and range shifted Use absolute references such as $A$2:$D$100

If missing values are expected, wrap the formula with IFNA after checking the lookup logic:

=IFNA(VLOOKUP(B2,Products!$A$2:$D$100,2,FALSE),"Not found")

For a deeper checklist, use How to Fix VLOOKUP #N/A in Excel.

7. Use Excel Tables for Safer Cross-Sheet Lookups

Fixed ranges work, but Excel Tables are safer when the source list grows. Convert the source range on the Products sheet to a table with Ctrl+T, then give it a clear name such as ProductsTable.

Then your formula can use the table name:

=VLOOKUP(B2,ProductsTable,2,FALSE)

This has two advantages:

Benefit Why it helps
New rows are included automatically The table expands when products are added
The formula is easier to read ProductsTable is clearer than Products!$A$2:$D$100

If you use many lookup formulas, named tables usually make the workbook easier to audit than long worksheet ranges.

8. VLOOKUP Across Sheets vs Across Workbooks

Looking up from another worksheet in the same workbook is usually reliable. Looking up from another workbook works too, but it is more fragile because the external file path can change.

Example external workbook reference:

=VLOOKUP(A2,'[Price List.xlsx]Products'!$A$2:$D$100,4,FALSE)

Use cross-workbook VLOOKUP only when the source file is stable and shared with everyone who needs the formula. If the source workbook is moved, renamed, or not available, the formula can break or ask users to update links.

For most small business spreadsheets, it is simpler to keep the lookup table in the same workbook on a separate sheet.

9. When XLOOKUP Is Cleaner

If you use Microsoft 365 or Excel 2021 or later, XLOOKUP is usually cleaner for new workbooks:

=XLOOKUP(B2,Products!$A$2:$A$100,Products!$B$2:$B$100,"Not found")

Compared with VLOOKUP, XLOOKUP:

Need VLOOKUP XLOOKUP
Search another sheet Yes Yes
Exact match by default No Yes
Custom not-found message Needs IFNA Built in
Look left No Yes
Avoid column counting No Yes

Use VLOOKUP when you need compatibility with older Excel versions or inherited workbooks. Use XLOOKUP when you are building a new workbook in modern Excel.

For a broader decision guide, see VLOOKUP vs XLOOKUP vs INDEX MATCH.

10. Practice Example

Use this setup:

On the Sales sheet:

Product ID Product Name Unit Price
P-205
P-318
P-999

On the Product List sheet:

Product ID Product Name Unit Price
P-101 Keyboard 45
P-205 Monitor 220
P-318 Mouse 25

Tasks:

Task Goal
1 Return the product name from Product List
2 Return the unit price from Product List
3 Return Not found for missing product IDs

Reference answers:

Task Formula
Return product name =VLOOKUP(A2,'Product List'!$A$2:$C$4,2,FALSE)
Return unit price =VLOOKUP(A2,'Product List'!$A$2:$C$4,3,FALSE)
Return Not found =IFNA(VLOOKUP(A2,'Product List'!$A$2:$C$4,2,FALSE),"Not found")

11. Summary

To use VLOOKUP across sheets, reference the lookup table with SheetName!range, lock the source range before filling down, and use quotes around sheet names with spaces. The lookup column must still be the first column in the table array. If the formula returns #N/A, check the source sheet for missing values, extra spaces, mismatched data types, and shifted ranges.

Need help fixing a formula?

Share the formula, a small sample table, and the result you expected. This free beta helps us learn which Excel problems readers actually need solved.

Ask for formula help