Google Sheets

VLOOKUP Google Sheets: Complete Guide With Examples (2026)

VLOOKUP in Google Sheets works identically to Excel — same syntax, same logic. But Sheets has a few quirks worth knowing, plus full XLOOKUP support that makes some tasks much simpler.

⏱ 8 min read ✅ Google Sheets (all versions) 📅 Updated May 2026
Google Sheets browser tab open with VLOOKUP formula entered and result displayed
Quick Answer

VLOOKUP in Google Sheets: =VLOOKUP(search_key, range, index, [is_sorted]). Use FALSE for exact match. Example: =VLOOKUP(A2, D2:F100, 2, FALSE) finds A2's value in column D, returns the value from column E. Cross-tab lookups use single quotes around the sheet name: =VLOOKUP(A2, 'Sheet2'!A:C, 2, FALSE). Google Sheets also supports XLOOKUP natively — consider it for new formulas.

In this article
  1. VLOOKUP syntax in Google Sheets
  2. Step-by-step example
  3. VLOOKUP across tabs
  4. Using wildcards in VLOOKUP
  5. Fixing VLOOKUP errors in Sheets
  6. Google Sheets vs. Excel VLOOKUP differences
  7. When to use XLOOKUP instead
  8. FAQ

VLOOKUP Syntax in Google Sheets

Google Sheets VLOOKUP Syntax
=VLOOKUP(search_key, range, index, [is_sorted])
ArgumentWhat It DoesTip
search_keyThe value to find (cell reference or literal)Use a cell reference so the formula works for multiple rows
rangeThe data range; first column is the search columnLock with $ signs when copying down: $A$2:$C$100
indexColumn number to return (1 = first col of range)Count from the left edge of your range, not the sheet
is_sortedFALSE = exact match; TRUE = approximate (sorted data)Always use FALSE unless doing numeric range lookups

Google Sheets uses slightly different argument names than Excel (search_key vs lookup_value, is_sorted vs range_lookup) — but the behavior is identical.

Step-by-Step: VLOOKUP in Google Sheets

You have an order list in columns A–B and a product price table in columns D–F:

A — Order IDB — Product Code D — Product CodeE — NameF — Price
ORD-001P-103P-101Notebook$4.99
ORD-002P-101P-102Pen Set$8.99
ORD-003P-105P-103Highlighter$3.49

To pull the price for each order into column C:

In cell C2 — returns price for each order's product code
=VLOOKUP(B2, $D$2:$F$4, 3, FALSE)

VLOOKUP finds P-103 in column D, moves to the 3rd column of the range (column F), and returns $3.49. Copy down to C3 and C4 for the other orders.

Use Entire Columns for Dynamic Ranges

In Google Sheets, you can use entire column references like D:F instead of $D$2:$F$1000. This handles any number of rows automatically: =VLOOKUP(B2, D:F, 3, FALSE). Avoid this in Excel with large datasets — it slows recalculation. In Sheets it's generally fine.

VLOOKUP Across Tabs in Google Sheets

Reference another sheet by its tab name followed by an exclamation mark. Always wrap the tab name in single quotes in Google Sheets:

Looking up data from another tab
=VLOOKUP(A2, 'Price List'!A:C, 2, FALSE)
Locked range across tab (safe to copy down)
=VLOOKUP(A2, 'Price List'!$A$1:$C$500, 2, FALSE)
Let Sheets Write the Reference

While typing your formula and you reach the range argument, click the other tab and select the range there. Google Sheets writes the sheet reference automatically — including the single quotes and exclamation mark.

VLOOKUP from another Google Sheets file (IMPORTRANGE)

VLOOKUP cannot directly reference another Google Sheets file. Use IMPORTRANGE to bring the data in first, then VLOOKUP against it:

Combining VLOOKUP with IMPORTRANGE
=VLOOKUP(A2, IMPORTRANGE("spreadsheet_url", "Sheet1!A:D"), 2, FALSE)

Using Wildcards in Google Sheets VLOOKUP

Google Sheets VLOOKUP supports wildcard characters when using exact match (FALSE):

WildcardMeaningExampleMatches
*Any number of characters"Jo*"John, Johnson, Joseph
?Any single character"J?n"Jan, Jon, Jun
~*Literal asterisk"10~*"Finds "10*" exactly
Wildcard VLOOKUP — find first entry starting with "Pro"
=VLOOKUP("Pro*", A2:C100, 2, FALSE)
Wildcards Return the First Match Only

If multiple rows match your wildcard pattern, VLOOKUP returns only the first one it finds. For multiple matches, use FILTER: =FILTER(B2:B100, REGEXMATCH(A2:A100, "^Pro")).

Fixing VLOOKUP Errors in Google Sheets

ErrorCauseFix
#N/AValue not found in search columnCheck for spaces (TRIM), type mismatches, use IFERROR
#REF!Index number exceeds range widthReduce index or expand your range
#ERROR!Formula syntax issueCheck commas, brackets, and quote marks
Wrong resultis_sorted omitted (defaults to TRUE)Add FALSE as the 4th argument explicitly
#N/A on numbersNumber stored as textWrap lookup value: VALUE(A2) or TEXT(A2,"0")
Clean error handling with IFERROR
=IFERROR(VLOOKUP(A2, $D$2:$F$100, 2, FALSE), "Not found")

Google Sheets vs. Excel VLOOKUP: Key Differences

Same in both
  • Syntax and all 4 arguments
  • Exact and approximate match behavior
  • Wildcard support
  • #N/A error behavior
  • IFERROR wrapping
Sheets-specific differences
  • Sheet name always needs single quotes in cross-tab refs
  • Entire column refs (A:C) are faster in Sheets
  • XLOOKUP available in all Sheets accounts
  • IMPORTRANGE needed for cross-file lookups
  • No Ctrl+Shift+Enter for array formulas

When to Use XLOOKUP Instead of VLOOKUP in Google Sheets

XLOOKUP is available in all Google Sheets accounts. It solves VLOOKUP's biggest limitations:

TaskVLOOKUPXLOOKUP
Look up value to the left of search column❌ Not possible✅ Works natively
Handle missing values cleanlyNeeds IFERROR wrapperBuilt-in if_not_found argument
Insert column without breaking formula❌ Breaks✅ Range-based, not index-based
Return multiple columns at once❌ One formula per column✅ Returns an array
Existing spreadsheets and Excel compatibility✅ UniversalSheets: yes; older Excel: no
XLOOKUP equivalent of the VLOOKUP above
=XLOOKUP(B2, D2:D100, F2:F100, "Not found")

Cleaner: you specify the search column and return column separately, so inserting columns never breaks it.

Ready to compare two columns with VLOOKUP?

One of the most useful VLOOKUP patterns in Google Sheets is matching two lists to find what's in one but not the other.

VLOOKUP: Compare Two Columns →

Frequently Asked Questions

Click the result cell, type =VLOOKUP(, then enter: the search value (cell or literal), the data range with search column first, the column number to return, and FALSE for exact match. Example: =VLOOKUP(A2, D2:F100, 2, FALSE). It works identically to Excel VLOOKUP — same syntax, same behavior.
Use single quotes around the tab name: =VLOOKUP(A2, 'Sheet Name'!A:C, 2, FALSE). Single quotes are always required in Google Sheets for tab references, even if the name has no spaces. Easiest method: click the other tab while typing the formula — Sheets writes the reference automatically.
VLOOKUP works identically in both — same syntax, same 4 arguments, same behavior. The practical differences: Google Sheets uses single quotes for all cross-tab references, supports entire column references more efficiently, and has XLOOKUP available in all accounts. Excel VLOOKUP in older versions may require Ctrl+Shift+Enter for some array formulas; Sheets doesn't.
Yes. Use * for any characters and ? for a single character in the search_key with FALSE as the is_sorted argument. Example: =VLOOKUP("Pro*", A2:C100, 2, FALSE) finds the first row where column A starts with "Pro". Only returns the first match — use FILTER for multiple matches.
XLOOKUP is available in all Google Sheets accounts and is superior: it can search left or right, handles missing values without IFERROR, doesn't break when you insert columns, and returns cleaner results. For new formulas in Sheets, XLOOKUP is the better choice. Learn VLOOKUP to understand existing formulas and Excel compatibility.

Related Articles