ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Lookups
  3. VLOOKUP Across Multiple Sheets in Excel

VLOOKUP Across Multiple Sheets in Excel

By ExcelReady Team·Updated November 2, 2026·7 min read

The short answer

VLOOKUP can only search one table at a time, so to look across multiple sheets you chain lookups: wrap the first VLOOKUP in IFERROR and put the next sheet's VLOOKUP as the fallback, ending with "Not found". In Microsoft 365, VSTACK can join the sheets into one list for a single XLOOKUP instead.

Key takeaways

  • VLOOKUP searches one range, so multiple sheets need several lookups chained together.
  • =IFERROR(VLOOKUP(A2,North!$A$2:$C$100,3,FALSE),VLOOKUP(A2,South!$A$2:$C$100,3,FALSE)) tries North, then South.
  • IFNA is safer than IFERROR here because it only catches not-found results.
  • INDIRECT with a list of sheet names handles many sheets in one formula, but it is volatile and harder to read.
  • In Microsoft 365 or Excel 2024, XLOOKUP with VSTACK searches all the sheets as one list.
On this page+
  1. The example: orders split across sheets
  2. Why VLOOKUP can't search several sheets at once
  3. Method 1: chain VLOOKUPs with IFERROR
  4. Method 2: use INDIRECT with a list of sheet names
  5. Method 3: XLOOKUP with VSTACK in Microsoft 365
  6. Which method should you use?
  7. Common problems
  8. Practise it

To do a VLOOKUP across multiple sheets, you chain lookups together: VLOOKUP searches the first sheet, and if the value isn't there, IFERROR hands over to a VLOOKUP on the next sheet. VLOOKUP itself can only search one table at a time. This guide shows the chained formula, a version that handles many sheets with INDIRECT, and the simpler Microsoft 365 method with XLOOKUP and VSTACK.

The example: orders split across sheets#

Many workbooks keep similar data on separate tabs, one per region, month or team. Here, orders are split across three sheets named North, South and East. Each has the same layout:

ABC
1OrderCustomerAmount
21012Patel Ltd450
31018Green Co1,200

A Summary sheet lists order numbers in column A, and you want the amount for each one in column B, wherever the order lives. If you only have two sheets, the guide to VLOOKUP between two sheets covers the basics of pointing at another tab.

Why VLOOKUP can't search several sheets at once#

VLOOKUP takes one table as its second argument, and that table must be a single range on one sheet:

Excel formula
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

A 3D reference such as North:East!A2:C100, which works in SUM, doesn't work in VLOOKUP. So you either run several lookups and keep the first one that finds something, or join the sheets into one list first. The VLOOKUP function guide explains each argument.

Method 1: chain VLOOKUPs with IFERROR#

This is the method that works in every version of Excel. When VLOOKUP can't find a value, it returns #N/A. IFERROR catches that error and runs the next formula instead. In B2 on the Summary sheet, type:

Excel formula
=IFERROR(VLOOKUP(A2,North!$A$2:$C$100,3,FALSE),VLOOKUP(A2,South!$A$2:$C$100,3,FALSE))

Excel looks for A2 on North first. If it finds it, you get the amount from column 3. If not, IFERROR runs the second VLOOKUP on South. For three sheets, nest one more IFERROR and finish with a message:

Excel formula
=IFERROR(VLOOKUP(A2,North!$A$2:$C$100,3,FALSE),
 IFERROR(VLOOKUP(A2,South!$A$2:$C$100,3,FALSE),
 IFERROR(VLOOKUP(A2,East!$A$2:$C$100,3,FALSE),"Not found")))

You can type it on one line; the line breaks only make it easier to read (press Alt+Enter on Windows or Option+Return on a Mac to add them in the formula bar). Key points:

  • Lock each table with $ so the ranges stay put when you fill down (F4 on Windows, ⌘T on a Mac).
  • Use FALSE for an exact match in every VLOOKUP.
  • Put the most likely sheet first. Excel stops at the first match, so the order also decides which value wins if an ID appears on two sheets.

To build the sheet reference without typing it, start the formula, click the North tab, select the range, and Excel writes North!A2:C100 for you. The worksheets and cross-sheet references lesson practises exactly this.

IFNA is safer than IFERROR#

IFERROR catches every error, including #REF! from a deleted column or #VALUE! from a broken argument. That can hide a real mistake behind "Not found". IFNA only catches #N/A, the "not found" error, so other problems still show:

Excel formula
=IFNA(VLOOKUP(A2,North!$A$2:$C$100,3,FALSE),IFNA(VLOOKUP(A2,South!$A$2:$C$100,3,FALSE),"Not found"))

IFNA works in Excel 2013 and later. The guide to using IFERROR with VLOOKUP and the IFERROR function guide cover both in more detail.

Method 2: use INDIRECT with a list of sheet names#

Chained formulas get long when you have many sheets. INDIRECT turns text into a reference, so you can keep the sheet names in a list and let the formula pick the right one.

Type the sheet names in H2:H4 (North, South, East) and name the range SheetList (select it and type the name in the Name Box). Then use:

Excel formula
=VLOOKUP(A2,INDIRECT("'"&INDEX(SheetList,MATCH(TRUE,COUNTIF(INDIRECT("'"&SheetList&"'!A2:A100"),A2)>0,0))&"'!A2:C100"),3,FALSE)

Read it from the inside out:

  1. INDIRECT("'"&SheetList&"'!A2:A100") builds the ID column of every sheet.
  2. COUNTIF(...,A2)>0 returns TRUE for each sheet that contains the order.
  3. MATCH(TRUE,...,0) finds the first such sheet, and INDEX returns its name.
  4. The outer INDIRECT turns that name into the table for VLOOKUP.

In Microsoft 365 and Excel 2021, press Enter as usual. In older versions, confirm it with Ctrl+Shift+Enter. The apostrophes around the sheet name let it work with names that contain spaces.

INDIRECT has downsides. It is volatile, so it recalculates whenever anything changes, which slows big files. And because the sheet names are text, renaming a tab breaks the formula without warning. Use this method when you have many sheets and the names are stable.

Method 3: XLOOKUP with VSTACK in Microsoft 365#

If you have Microsoft 365 or Excel 2024, VSTACK stacks ranges on top of each other into one list. XLOOKUP can then search that list in one go:

Excel formula
=XLOOKUP(A2,
 VSTACK(North!$A$2:$A$100,South!$A$2:$A$100,East!$A$2:$A$100),
 VSTACK(North!$C$2:$C$100,South!$C$2:$C$100,East!$C$2:$C$100),
 "Not found")

The first VSTACK joins the three ID columns, the second joins the three Amount columns in the same order, so row positions still line up. The last argument is XLOOKUP's built-in "not found" message, so you don't need IFERROR.

In Excel 2021, which has XLOOKUP but not VSTACK, you can still chain lookups neatly by putting the next XLOOKUP in the if_not_found argument:

Excel formula
=XLOOKUP(A2,North!$A$2:$A$100,North!$C$2:$C$100,XLOOKUP(A2,South!$A$2:$A$100,South!$C$2:$C$100,"Not found"))

See the XLOOKUP function guide and XLOOKUP from another sheet for more.

Which method should you use?#

MethodWorks inBest for
Chained IFERROR or IFNAAll versionsTwo to four sheets
INDIRECT with a sheet listAll versionsMany sheets with stable names
XLOOKUP with VSTACKMicrosoft 365, Excel 2024Any number of sheets, cleanest formula

If you keep adding sheets, step back and ask whether the data should be on one sheet with a Region column. One table is easier to look up, filter and pivot. The guide to combining sheets in Excel shows how. If the other data is in a separate file rather than a tab, see VLOOKUP from another workbook.

Common problems#

  1. #N/A everywhere. The IDs may be numbers on one sheet and text on another. Check the alignment: text sits on the left of the cell by default.
  2. Sheet names with spaces. Write 'North Region'!$A$2:$C$100, with apostrophes around the name.
  3. Wrong column number. The column number counts from the first column of the table, not from column A of the sheet.
  4. Duplicates on two sheets. Chained lookups return the first match in the order you wrote them. Decide which sheet should win.

Practise it#

Try the exercise on this page: one IFERROR formula falls back from the North table to the South table. Then practise VLOOKUP in a live spreadsheet and handle missing values cleanly in the IFERROR lesson. You type each formula and it checks it instantly.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Imagine A:B is the North sheet and D:E is the South sheet. In H2, find the amount for the order in G2: try VLOOKUP on A2:B5 first and, with IFERROR, fall back to VLOOKUP on D2:E5.

fx
ABCDEFGHI
1
North order
Amount
South order
Amount
Find order
Amount
2
1012
450
1009
640
1027
3
1018
1200
1021
820
4
1025
380
1027
1150
5
1031
975
1034
295
6
7
8

Tip: The first argument of IFERROR is the North lookup, VLOOKUP(G2,A2:B5,2,FALSE). The second is the same lookup on D2:E5.

Practise this in a lesson

LessonVLOOKUP exact matchPull product names and prices from a catalog with VLOOKUP, and lock the table so the formula fills down cleanly.LessonWorksheets and cross-sheet referencesSwitch, add and rename worksheet tabs, then use other sheets in formulas: Prices!B3, a lookup against a price list tab, and a total across monthly tabs.LessonIFERRORReplace ugly errors like #DIV/0! with a clean fallback value using IFERROR, and learn when hiding errors backfires.Function guideVLOOKUPLearn VLOOKUP with clear examples, the 4 most common mistakes, and a live practice exercise you can try in your browser.Function guideIFERRORUse IFERROR to swap #N/A, #DIV/0! and other errors for a clean value. Examples with division and VLOOKUP, pitfalls, and live practice.Function guideXLOOKUPXLOOKUP explained with real examples: exact matches, looking left and custom not-found messages, plus a live exercise to try now.

Frequently asked questions

Can VLOOKUP search multiple sheets at once?

+

Not on its own. VLOOKUP searches one table. To search several sheets, chain VLOOKUPs inside IFERROR or IFNA, or use INDIRECT with a list of sheet names, or stack the sheets with VSTACK and use XLOOKUP.

How do I VLOOKUP across 3 sheets?

+

Nest three lookups: =IFERROR(VLOOKUP(A2,North!$A$2:$C$100,3,FALSE),IFERROR(VLOOKUP(A2,South!$A$2:$C$100,3,FALSE),IFERROR(VLOOKUP(A2,East!$A$2:$C$100,3,FALSE),"Not found"))).

Should I use IFERROR or IFNA with VLOOKUP?

+

IFNA is safer. It only catches #N/A, which is what VLOOKUP returns when the value is missing. IFERROR also hides other errors, such as a broken range, so a real mistake can look like a missing value.

Does VLOOKUP work with a 3D reference like North:East!A2:C100?

+

No. VLOOKUP needs a single range on one sheet. Use chained lookups, INDIRECT, or VSTACK with XLOOKUP instead.

What is the easiest way to look up across many sheets?

+

Often it is to combine the sheets into one table first and look up in that. One table is easier to search, filter and summarise than many separate tabs.

Sources

  • VLOOKUP function - Microsoft Support
  • IFERROR function - Microsoft Support
  • XLOOKUP function - Microsoft Support

Written and checked by the ExcelReady Team. First published November 2, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. The example: orders split across sheets
  2. Why VLOOKUP can't search several sheets at once
  3. Method 1: chain VLOOKUPs with IFERROR
  4. Method 2: use INDIRECT with a list of sheet names
  5. Method 3: XLOOKUP with VSTACK in Microsoft 365
  6. Which method should you use?
  7. Common problems
  8. Practise it

Keep reading

Lookups· 6 min read

VLOOKUP Between Two Sheets, Step by Step

To VLOOKUP between two sheets, add the sheet name and an exclamation mark before the table range: =VLOOKUP(B2,Products!$A$2:$C$6,3,FALSE). The easiest way is to start typing the formula, click the other sheet's tab, select the table, and press Enter. If the sheet name has spaces, Excel wraps it in single quotes, like 'Price List'!$A$2:$C$6.

Lookups· 6 min read

VLOOKUP From Another Workbook in Excel

To VLOOKUP from another workbook, open both files, start =VLOOKUP( in your file, then switch to the other workbook and select the table. Excel writes the reference for you, such as [Prices.xlsx]Prices!$A$2:$C$6. Finish with the column number and FALSE: =VLOOKUP(B2,[Prices.xlsx]Prices!$A$2:$C$6,3,FALSE). The formula keeps working after you close the other file.

Lookups· 5 min read

XLOOKUP From Another Sheet or Workbook

To use XLOOKUP with another sheet, put the sheet name and an exclamation mark before the lookup and return ranges: =XLOOKUP(A2,Products!$A$2:$A$50,Products!$C$2:$C$50). If the sheet name has spaces, wrap it in single quotes, like 'Price List'!A2:A50. For another workbook, add the file name in square brackets before the sheet name.

More on lookups

  • VLOOKUP Not Working? 8 Causes and Fixes
  • VLOOKUP With Numbers Stored as Text
  • VLOOKUP Second Match: Return the Nth Occurrence in Excel
  • VLOOKUP With Wildcards: Partial Match Lookups
  • XLOOKUP in Excel: Everything a Beginner Needs
  • XLOOKUP Approximate Match: Next Smaller or Larger
All lookups articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free