Skip to content
getgriddy.ai/blog/how-to-use-vlookup-in-google-sheets
Google Sheets

How to Use VLOOKUP in Google Sheets

VLOOKUP in Google Sheets searches the first column of a range and returns a value from another column. Here's the syntax, exact-match examples, common errors, and when to use XLOOKUP instead.

·5 min read

Reviewed by Griddy

Updated for current Excel and Google Sheets workflows, with examples chosen to map back to real spreadsheet tasks rather than abstract formula syntax.

VLOOKUP in Google Sheets works almost the same way it does in Excel: it searches the first column of a range, then returns a value from another column in the same row.

That makes it useful when one sheet needs to pull owner, stage, account, or pricing data from another table without retyping anything.

The syntax

fx
=VLOOKUP(search_key, range, index, [is_sorted])
  • search_key — the value you want to find
  • range — the table to search, starting with the lookup column
  • index — which column from that range to return
  • [is_sorted] — use FALSE for exact match

If you forget the last argument, Sheets assumes an approximate match. For most business workflows, that is the wrong default.

Basic exact-match example

Say column A contains company names, column B contains account owners, and column C contains lead stage. If cell E2 contains the company you want to look up, return the owner with:

fx
=VLOOKUP(E2, A:C, 2, FALSE)

That searches column A for the company name in E2 and returns the value from column 2 of the range, which is the owner.

To return stage instead, change the index:

fx
=VLOOKUP(E2, A:C, 3, FALSE)

Pull data into a live CRM view

If your master contact table is on another tab called Leads, you can pull the current stage into a working sheet like this:

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

This is a common pattern in a CRM lead tracker template when you want one view for raw contacts and another for a weekly follow-up list.

Lock the lookup range before dragging

When you copy a VLOOKUP formula down a column, lock the range so it does not shift:

fx
=VLOOKUP(E2, $A:$C, 2, FALSE)

Without the dollar signs, the search table moves as you drag the formula and the matches start breaking.

Common VLOOKUP errors in Google Sheets

ErrorCauseFix
#N/ANo exact match foundCheck spelling, extra spaces, or mismatched text vs number formats
Wrong resultis_sorted left blank or set to TRUEUse FALSE for exact match
#REF!Index is larger than the number of columns in the rangeReduce the index or widen the range
Matching still failsHidden spaces in imported dataWrap the lookup value or source column in TRIM()

WATCH OUT

VLOOKUP can only return values to the right of the lookup column. If the value you need sits to the left, use XLOOKUP or INDEX MATCH instead.

VLOOKUP vs XLOOKUP in Google Sheets

VLOOKUP still works well, but it has limitations:

VLOOKUPXLOOKUP
Lookup column must be first✓ Yes✗ No
Can return values to the left✗ No✓ Yes
Breaks when columns are inserted✓ More fragile✗ Safer
Exact-match setupNeeds FALSEExact match is more straightforward

If you are building a newer sheet and your team has XLOOKUP available, it is usually the better choice. VLOOKUP remains useful when you need compatibility with older shared workflows or already have the data structured for it.

The Griddy way

VLOOKUP is easy until the range is wrong, the lookup value has hidden spaces, or the return column changes. Instead of debugging the syntax manually, just describe the job:

"Look up the account owner for each company in this pipeline tab and return the result next to the deal stage"

Griddy writes the formula against your actual columns and fixes the brittle parts before they turn into #N/A errors.

Skip the manual work

Describe it. Griddy does it.

Instead of writing this formula yourself, just tell Griddy what you need in plain English. Works in Excel and Google Sheets.

Use this on real templates

Use VLOOKUP on live CRM and pipeline data

VLOOKUP still shows up in Google Sheets workflows where sales and business-development data needs to pull owner, stage, or account details from a reference table.

Sales