How to Use VLOOKUP Across Two Different Sheets in Excel 2026

Need to pull a price, name, or department from another tab? You can use VLOOKUP across two different sheets in Excel by adding the sheet name in front of the lookup range. The formula takes a minute to write and saves hours of copying and pasting. The steps below use a simple orders and products example that matches what most people deal with at work.

Key Takeaways

  • Point the table_array argument at the other sheet using the format SheetName!Range, such as Products!$A$2:$C$100.
  • Wrap sheet names that contain spaces in single quotes, such as ‘Price List’!$A$2:$C$100.
  • Use FALSE as the last argument to get an exact match.
  • Lock the lookup range with F4 so the formula can be copied down without the range shifting.
  • The value being searched for must sit in the first column of the lookup range.

How to Use VLOOKUP Across Two Different Sheets in Excel

The example below uses two sheets in the same workbook. The sheet named Orders lists product IDs in column A, and the sheet named Products holds the master list. Products has IDs in column A, product names in column B, and prices in column C. The goal is to fill in the price on the Orders sheet automatically.

Step-by-Step Instructions

  • Step 1: Open the workbook and check the layout of both sheets. On the Products sheet, the ID column must be the leftmost column of the range being searched, because VLOOKUP only looks to the right.
  • Step 2: Go to the Orders sheet and click the cell where the first result should appear, for example C2.
  • Step 3: Type =VLOOKUP( to start the formula. The basic structure is =VLOOKUP(lookup_value, table_array, col_index_num, range_lookup).
  • Step 4: Click cell A2 on the Orders sheet for the lookup value, then type a comma. This tells Excel which ID to search for.
  • Step 5: Click the Products sheet tab, then select the range A2:C100 by dragging across it. Excel fills in the sheet reference automatically, so the formula now reads Products!A2:C100. Press F4 once to lock it as Products!$A$2:$C$100, then type a comma.
  • Step 6: Type 3 as the column index number. Column C is the third column in the selected range, so Excel returns the price. Type a comma after it.
  • Step 7: Type FALSE for an exact match, then close the bracket. The finished formula is =VLOOKUP(A2,Products!$A$2:$C$100,3,FALSE).
  • Step 8: Press Enter. The price for that product ID appears in C2.
  • Step 9: Double-click the small square at the bottom-right corner of C2 to copy the formula down the column. Every row now pulls its own price from the Products sheet.

Step-by-Step Instructions Step 1_ Open the workbook and check the layout of both sheets.

Tip: The Formulas tab also offers a guided route. Go to Formulas, choose Lookup and Reference, then click VLOOKUP to open the Function Arguments box, where each argument has its own field.

VLOOKUP Across Two Sheets When the Sheet Name Has Spaces

Real workbooks rarely have tidy names like Products. A tab called Price List or Employee Data is far more common, and Excel needs single quotes around any sheet name that includes a space. Think of the quotes as a fence that keeps the name together as one piece.

Example With a Sheet Named Price List

  • Step 1: Click the cell that should hold the result on the current sheet.
  • Step 2: Type =VLOOKUP( and click the cell that holds the value to search for.
  • Step 3: Type a comma, click the Price List tab, and select the lookup range. Excel adds the quotes on its own, producing ‘Price List’!$A$2:$C$100.
  • Step 4: Finish with the column number and FALSE. The result looks like =VLOOKUP(A2,’Price List’!$A$2:$C$100,3,FALSE).

Example With a Sheet Named Price List

Tip: Selecting the range with the mouse is safer than typing it by hand, since Excel handles the quotes and exclamation mark automatically and typos are far less likely.

Example Returning a Name Instead of a Price

The same approach works for any column in the lookup range. To return the product name from the Products sheet instead of the price, change the column index number from 3 to 2: =VLOOKUP(A2,Products!$A$2:$C$100,2,FALSE). Count columns from the first column of the selected range, not from column A of the sheet.

Common Problems and Fixes

The Formula Returns #N/A

This means Excel could not find the lookup value in the first column of the range. Check for typos, extra spaces, or a value that simply does not exist on the other sheet. Numbers stored as text on one sheet and as true numbers on the other also cause this, so make sure both columns use the same data type. Wrapping the lookup value in TRIM, as in TRIM(A2), removes stray spaces.

The Formula Returns #REF!

This appears when the column index number is larger than the number of columns in the selected range. If the range is A2:C100, the highest valid column number is 3. Either lower the number or widen the range.

The Formula Returns #VALUE!

The column index number must be 1 or higher. A zero or negative number triggers this error, so correct the third argument.

Results Change or Break When the Formula Is Copied Down

This happens when the lookup range is not locked. Without dollar signs, the range moves down one row with each copied formula and eventually skips the matching rows. Click inside the range in the formula bar and press F4 to add the dollar signs.

The Formula Shows as Text Instead of a Result

If the cell displays the formula itself, the cell is probably formatted as Text. Change the format to General on the Home tab, click into the cell, and press Enter again.

Excel Returns the Wrong Match

Leaving out the last argument, or typing TRUE, makes VLOOKUP use an approximate match, which can return incorrect rows on unsorted data. Always type FALSE for IDs, names, and codes.

Frequently Asked Questions

Can VLOOKUP pull data from a different sheet in the same workbook?

Yes. Put the sheet name, an exclamation mark, and the range in the second argument, for example =VLOOKUP(A2,Products!$A$2:$C$100,3,FALSE).

How do I write the sheet name in a VLOOKUP formula?

Type the sheet name followed by an exclamation mark and the cell range, such as Products!$A$2:$C$100. If the name contains spaces, enclose it in single quotes, such as ‘Price List’!$A$2:$C$100.

Why does VLOOKUP return #N/A when the value clearly exists on the other sheet?

The most common causes are extra spaces, numbers stored as text, or a lookup value that is not in the first column of the selected range. Cleaning the data or using TRIM usually fixes it.

Should the last argument be TRUE or FALSE?

Use FALSE for an exact match, which suits IDs, names, and codes. TRUE returns an approximate match and requires the first column to be sorted in ascending order.

How do I stop the lookup range from changing when the formula is copied down?

Press F4 while the range is selected in the formula bar. This adds dollar signs and locks the range, giving a reference like Products!$A$2:$C$100.

Can VLOOKUP look to the left of the lookup column?

No. VLOOKUP only returns values from columns to the right of the first column in the range. The lookup column must be the leftmost column of the range, so rearrange the source data if needed.

How do I choose the correct column index number?

Count the columns inside the selected range, starting at 1 for the first column. In the range A2:C100, column A is 1, column B is 2, and column C is 3.

Do both sheets need to be in the same workbook?

No. VLOOKUP can also reference a sheet in another open workbook, but the steps above cover sheets within one workbook, which is the most reliable setup.

Picture of Roberto Gregoire
Roberto Gregoire

Roberto Gregoire is a Desktop Support Technician with over 7 years of experience fixing Windows and Microsoft Office problems for real users. He writes the way he troubleshoots: step by step, in order, with every instruction tested first. More about Roberto