Excel VLOOKUP Function
VLOOKUP searches vertically down the first column of a table and returns a value from another column in the matching row.
Use it when one value identifies a record and you need related information from that record—for example, looking up a product price from a SKU, an employee's department from an ID, or a discount rate from a customer tier.
VLOOKUP syntax & arguments
Syntax
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
-
1
lookup_value
RequiredThe value to find in the first column of the lookup table. It can be text, a number, a cell reference, or the result of another formula.
-
2
table_array
RequiredThe range containing the lookup data. The values being searched must be in the range's first column, and the return column must be inside the same range.
-
3
col_index_num
RequiredThe number of the column to return, counted from the left edge of
table_array. The first column is 1, the second is 2, and so on. -
4
range_lookup
OptionalControls match behavior:
FALSE— Exact match: Returns a result only when VLOOKUP finds the lookup value exactly.TRUE— Approximate match: Returns an exact match or the next smallest value. This is the default when the argument is omitted and requires the lookup column to be sorted in ascending order.
Example
=VLOOKUP(A2, E2:G10, 3, FALSE)
Find the value from A2 in column E, then return the value from the third column of E:G on the matching row.
VLOOKUP caveats
VLOOKUP is common in existing workbooks, but its rules can produce incorrect results when they are not made explicit.
-
It only looks to the right
The lookup value must be in the first column of
table_array. VLOOKUP cannot return a value from a column to its left. -
Exact match is not the default
Omitting
range_lookupuses approximate matching. IncludeFALSEwhen you need an exact match. -
Approximate data must be sorted
When using
TRUE, sort the lookup column in ascending order. Unsorted data can return a believable but incorrect result. -
The return column is positional
col_index_numis a hard-coded position. Changes to the lookup table's columns can change the result or cause a#REF!error.
Working in modern Excel? XLOOKUP is usually more flexible because it supports left lookups, uses exact matching by default, and does not require a numeric column index. VLOOKUP is still worth learning because it remains common in existing files.
Intro VLOOKUP practice problem
Solve the intro problem directly here, or open it on its own page.
Advanced VLOOKUP practice problems
Use VLOOKUP alongside other Excel functions in realistic, less-prescriptive challenges.
Price With Discount
Code Status Check
Country-Specific Date Display
Forecast Gap
On-Call Issue Employee
Order Totals
Project Due Dates
Promo Eligibility Check