Skip to content
Blog/Google Sheets
Google Sheets

Google Sheets VLOOKUP From Another Sheet

Use VLOOKUP across Google Sheets tabs with exact matching, fixed source ranges, safe data cleanup, and clear #N/A handling.

Do this with AI

Try Griddy free

Start in your browser. Also works with Excel and Google Sheets.

By Justin Freels//7 min read

VLOOKUP from another sheet in Google Sheets pulls a matching value from a different tab. It is useful when one tab is the working table and another tab stores reference data such as clients, products, owners, rates, categories, or deal stages.

Use this pattern when you want one source of truth for lookup data instead of copying the same values into every row manually.

The syntax

fx
=VLOOKUP(search_key, range, index, [is_sorted])
  • search_key - the value to find
  • range - the lookup table, including the matching column and return columns
  • index - which column in the range should be returned
  • [is_sorted] - use FALSE for exact matches in most operating sheets

Basic cross-sheet example

Say your working tab has client IDs in A2:A, and a tab named Clients has ID, client name, owner, and hourly rate in columns A through D.

To return the client owner:

fx
=VLOOKUP(A2, Clients!A:D, 3, FALSE)

To return the hourly rate:

fx
=VLOOKUP(A2, Clients!A:D, 4, FALSE)

That works well in an invoice template or CRM lead tracker when client details should be maintained in one reference tab.

Lock the lookup table before filling down so it does not shift by one row each time:

fx
=VLOOKUP(A2, Clients!$A$2:$D$500, 3, FALSE)

Sheet names with spaces

If the sheet name contains spaces, wrap it in single quotes:

fx
=VLOOKUP(A2, 'Client List'!A:D, 3, FALSE)

Without the quotes around the sheet name, Google Sheets will not read the tab reference correctly.

Avoid exact-match surprises

Use FALSE for exact matches unless the lookup table is intentionally sorted for approximate matching.

fx
=VLOOKUP(A2, Clients!A:D, 3, FALSE)

Most CRM, sales, invoice, and project workflows need exact matches. Approximate matching can return a value that looks valid but belongs to the wrong row.

WATCH OUT

VLOOKUP only searches the first column of the selected range. If the lookup key is not the first column, use XLOOKUP or INDEX MATCH instead.

Handle missing IDs without hiding data problems

Use IFNA to replace only the not-found case:

fx
=IFNA(VLOOKUP(A2, Clients!$A$2:$D$500, 3, FALSE), "Client not found")

If blank source rows should stay blank:

fx
=IF(A2="", "", IFNA(VLOOKUP(A2, Clients!$A$2:$D$500, 3, FALSE), "Client not found"))

Do not turn every failure into an empty cell. A visible warning is more useful when a missing client would affect billing.

Clean matching fields safely

For ordinary leading, trailing, or repeated spaces, clean a helper column with:

fx
=TRIM(A2)

TRIM preserves a single space between words. Do not globally delete every space: North Carolina and person or company names contain meaningful spaces. Non-breaking or non-printing characters may need a targeted SUBSTITUTE or CLEAN after you identify the character.

Common VLOOKUP problems

ProblemWhy it happensFix
#N/ANo exact match was foundCheck spelling, spaces, and ID values
Wrong value returnedColumn index points to the wrong fieldCount columns inside the selected range
Lookup breaks after columns moveVLOOKUP uses a fixed column indexUse XLOOKUP or update the index
Sheet name errorTab name has spacesWrap the tab name in single quotes
Lookup works in only the first rowRelative table range shifts when filled downAnchor the table range with dollar signs
Values look equal but do not matchOne side is text and the other is numericNormalize both fields to the same data type

Do this with AI

Cross-sheet lookups are fragile when IDs are inconsistent or the return column keeps moving.

"Pull the owner and billing rate from the Clients tab into this invoice log, use exact matches, and flag any client IDs that do not match"

Griddy can build the lookup formulas, check the reference tab, and identify missing or mismatched keys before the sheet gets used for billing or review.

See how to use XLOOKUP in Google Sheets when you need left lookups or an explicit last-to-first search.

Sources

Do this with AI

Turn the instructions into a finished spreadsheet.

Tell Griddy what you need in plain English, then inspect and keep editing the result in the browser, Excel, or Google Sheets.

Try Griddy freeStart in your browser. No download required.
Also works withExcel Google Sheets

Use this on real templates

Pull reference data into live operating sheets

Cross-sheet lookups are common when templates need owners, rates, client details, categories, or status information from a separate source tab.

Sales