VLOOKUP is one of the most widely used lookup functions in Google Sheets. It helps you search for a value in the first column of a table and return a corresponding value from another column in the same row.
In this guide, you’ll learn:
- how to use the basic VLOOKUP formula,
- common mistakes to avoid,
- advanced VLOOKUP techniques,
- and practical variations used in real-world spreadsheets.
Whether you are a beginner or an advanced Google Sheets user, this guide will help you understand how VLOOKUP works and when to use alternative functions like XLOOKUP or INDEX-MATCH.
VLOOKUP Syntax in Google Sheets
VLOOKUP(search_key, range, index, [is_sorted])
Arguments
search_key
The value you want to search for.
This can be:
- text,
- numbers,
- dates,
- or a cell reference.
The search key must exist in the first column of the lookup range.
range
The data range to search.
VLOOKUP searches only the first column of this range.
index
The column number within the range from which to return a value.
Example:
- 1 = first column
- 2 = second column
- 3 = third column
is_sorted
Optional argument.
FALSE→ exact matchTRUE→ approximate match
In most cases, use FALSE.
Basic VLOOKUP Example
Suppose you want to find the Test 2 score of Student 3.
=VLOOKUP("Student 3", A2:C5, 3, FALSE)

Explanation:
"Student 3"→ search keyA2:C5→ lookup range3→ return value from the third columnFALSE→ exact match
Result:
86
What VLOOKUP Does
VLOOKUP searches vertically down the first column of a range and returns a value from another column in the same row.
Exact Match vs Approximate Match
Exact Match (Recommended)
=VLOOKUP("Apple", A2:B10, 2, FALSE)
Returns an exact match only.
If no match is found, the formula returns #N/A.
Approximate Match
=VLOOKUP(75, A2:B10, 2, TRUE)
Returns the closest match less than or equal to the search key.
Use this only when the first column is sorted in ascending order.
Search Multiple Values Using VLOOKUP
You can search for multiple values at once using ARRAYFORMULA.
=ARRAYFORMULA(VLOOKUP(D2:D3, A2:B5, 2, FALSE))

You can also hardcode search keys:
=ARRAYFORMULA(VLOOKUP({"Mango"; "Apple"}, A2:B10, 2, FALSE))
Related tutorial:
Retrieve Multiple Values Using VLOOKUP in Google Sheets
Return an Entire Row
Use an array of column indexes to return multiple columns.
=ARRAYFORMULA(VLOOKUP("Student 2", A2:D5, {1, 2, 3, 4}, FALSE))

Dynamic version:
=ARRAYFORMULA(
VLOOKUP(
"Student 2",
A2:D5,
SEQUENCE(1, COLUMNS(A2:D5)),
FALSE
)
)
This automatically adjusts when columns are added or removed.
Dynamic Column Index in VLOOKUP
Instead of hardcoding the column index, make it dynamic using COLUMNS().
=VLOOKUP("Student 2", A2:D5, COLUMNS(A2:D2), FALSE)

Benefits:
- more flexible formulas,
- safer when inserting columns,
- easier maintenance.
Related tutorial:
Dynamic Index Column in VLOOKUP in Google Sheets
Reverse (Leftward) VLOOKUP
VLOOKUP normally searches only from left to right.
You can reverse the lookup direction using array literals.
=VLOOKUP("Student 3", {D2:D5, A2:C5}, 2, FALSE)

This rearranges the lookup range virtually.
Related tutorial:
Reverse VLOOKUP in Google Sheets: Find Data Right to Left
Case-Sensitive VLOOKUP
By default, VLOOKUP is not case-sensitive.
Example:
IL102BIL102b
VLOOKUP treats both as the same.

One workaround is combining QUERY with VLOOKUP.
=VLOOKUP(
"IL102b",
QUERY(A2:G5, "SELECT * WHERE A = 'IL102b'"),
5,
FALSE
)
Related tutorial:
Case-Sensitive VLOOKUP in Google Sheets
VLOOKUP with Multiple Criteria
VLOOKUP supports multiple conditions by combining columns.
Example:
=ARRAYFORMULA(
VLOOKUP(
"CementZ",
{A2:A7&B2:B7, C2:C7},
2,
FALSE
)
)

This combines:
- Product name
- Vendor name
Related tutorial:
VLOOKUP with Multiple Criteria in Google Sheets
Wildcard Matching in VLOOKUP
VLOOKUP supports wildcard characters when FALSE is used.
Asterisk *
Matches multiple characters.
=VLOOKUP("Y*", A2:B6, 2, FALSE)
Question Mark ?
Matches a single character.
Tilde ~
Escapes wildcard characters.
Example:
~*
matches a literal asterisk.
Related tutorial:
Partial Match in VLOOKUP in Google Sheets
Named Ranges and Table References
Using Named Ranges
If A2:D5 is named sales:
=VLOOKUP("Student 3", sales, 4, FALSE)

Named ranges improve formula readability.
Related tutorial:
Using Named Ranges in VLOOKUP
Using Table References
Google Sheets tables also support structured references.
=VLOOKUP("Apple", Table1, 2, FALSE)
This keeps formulas dynamic as tables expand.
VLOOKUP with IMPORTRANGE
You can combine VLOOKUP with IMPORTRANGE to search data from another spreadsheet.
Example:
=VLOOKUP(
A2,
IMPORTRANGE("spreadsheet_url", "Sheet1!A:D"),
4,
FALSE
)
Related tutorials:
Common VLOOKUP Errors
#N/A Error
Usually means:
- no exact match found,
- spelling mismatch,
- extra spaces,
- or incorrect lookup range.
Use IFNA to handle errors:
=IFNA(VLOOKUP(A2, B2:D10, 2, FALSE))
Incorrect Results
Often caused by:
- using TRUE unintentionally,
- unsorted data,
- incorrect column index.
Related tutorial:
Common Errors in VLOOKUP in Google Sheets
VLOOKUP vs XLOOKUP
VLOOKUP is still useful, but XLOOKUP is more flexible.
XLOOKUP advantages:
- searches left or right,
- supports exact match by default,
- returns arrays more easily,
- handles missing values better,
- can return a reference to the result cell.
Use VLOOKUP when:
- performing simple vertical lookups,
- returning a 2D array result.
Related tutorial:
VLOOKUP vs XLOOKUP in Google Sheets
When NOT to Use VLOOKUP
Consider alternatives when:
- you need leftward lookups,
- better error handling,
- or more flexible matching.
Useful alternatives:
- XLOOKUP
- INDEX-MATCH
- FILTER
Related tutorial:
Better Alternative to VLOOKUP and HLOOKUP in Google Sheets
Advanced VLOOKUP Tutorials
Multiple Matches and Duplicates
- Using VLOOKUP to Find the Nth Occurrence
- Retrieve Multiple Values Using VLOOKUP
- How to Use VLOOKUP on Duplicates
- VLOOKUP Last or Recent Record in Each Group
Cross-Sheet Lookups
- VLOOKUP Across Multiple Sheets
- How to Use VLOOKUP IMPORTRANGE
- Dynamic Return Column in VLOOKUP IMPORTRANGE
Advanced Lookup Techniques
- Reverse VLOOKUP
- Case-Sensitive Reverse VLOOKUP
- Partial Match in VLOOKUP
- Two-Way Lookup Using VLOOKUP
- Move Index Column If Blank in VLOOKUP
- VLOOKUP to Search Across Multiple Columns
Dynamic Formula Techniques
- Dynamic Index Column in VLOOKUP
- Dynamically Change the Search Column
- VLOOKUP Plus Next N Rows
- VLOOKUP from Bottom to Top
Troubleshooting and Special Cases
- Common Errors in VLOOKUP
- VLOOKUP Skips Hidden Rows
- VLOOKUP in Merged Cells
- VLOOKUP Skip Blank Cells
- VLOOKUP in Checkbox Checked Rows
Integrations and Combinations
- IF and VLOOKUP Combination
- SUMIF with VLOOKUP
- Min, MinA, and Small with VLOOKUP
- Hyperlink to VLOOKUP Result
- Highlight VLOOKUP Results
Special VLOOKUP Techniques & Real-World Patterns
Aggregation & Combined Results
- Exclude Duplicate Keys in VLOOKUP Array Result
- Using VLOOKUP to Sum Multiple Rows
- VLOOKUP and Combine Values
- VLOOKUP with Comma-Separated Values
Date & Range-Based Lookups
- How to Vlookup a Date Range
- VLOOKUP by Date in a Timestamp Column
- Nearest Match Greater Than or Equal to Search Key
Nested & Multi-Step Lookups
Layout & Structural Workarounds
- VLOOKUP Adjacent Cells
- Filter VLOOKUP Result Columns
- Offset VLOOKUP Results to Correct Headers
- Every Other Column VLOOKUP
Conclusion
VLOOKUP remains one of the most useful lookup functions in Google Sheets for beginners and advanced users alike.
Once you understand:
- exact matches,
- dynamic column indexes,
- multiple criteria,
- wildcard matching,
- and cross-sheet lookups,
you can solve a wide range of spreadsheet problems efficiently.
If you regularly work with modern spreadsheets, also consider learning:
- XLOOKUP,
- FILTER,
- and INDEX-MATCH
to build even more flexible formulas.
The left-ward Vlookup, this was neat. Thanks for publishing this. All the best in saving the rest of us considerable time and grief, I know it helped me with Google Sheets.