Excel Guide

Excel How to VLOOKUP: Step-by-Step Guide With Real Examples

VLOOKUP can replace hours of manual data matching with a single formula. This guide walks you through the exact steps — from entering your first VLOOKUP to handling errors and copying it across hundreds of rows.

⏱ 8 min read ✅ Excel 2016 to 365 📅 Updated May 2026
Excel spreadsheet open with a VLOOKUP formula being entered in a cell
Quick Answer

How to VLOOKUP in Excel: Click an empty cell, type =VLOOKUP(, then enter four arguments: the value to find, the data range (search column must be first), the column number to return, and FALSE for exact match. Example: =VLOOKUP(A2, $D$2:$F$50, 2, FALSE) finds the value from A2 in column D, then returns the value from the 2nd column of the range (column E).

In this article
  1. Before you start: set up your data
  2. How to enter a VLOOKUP formula
  3. How to copy VLOOKUP down a column
  4. VLOOKUP across two sheets
  5. 5 practical VLOOKUP use cases
  6. Fixing the most common errors
  7. FAQ

Before You Start: Structure Your Data Correctly

VLOOKUP has one non-negotiable requirement: the column you are searching must be the leftmost column of your table_array.

If you want to look up a customer name by their ID, the ID column must come first. If your data has the ID in column C and name in column A, you either need to rearrange the columns or use INDEX/MATCH instead.

Works with VLOOKUP ✅Does NOT work with VLOOKUP ❌
ID | Name | Email | PhoneName | ID | Email | Phone (ID is not leftmost)
Product Code | Description | PriceDescription | Price | Product Code
Quick Fix When Your Lookup Column Isn't First

Add a helper column: copy or reference the ID column to the far left of your table. Alternatively, use INDEX/MATCH — it has no left-column restriction and is more flexible in every case.

How to Enter a VLOOKUP Formula in Excel

Click the cell where you want the result

This is the output cell — the cell that will display the value VLOOKUP finds. Usually a blank cell next to the data you want to enrich.

Type =VLOOKUP( and press Tab

Excel shows the function tooltip listing the arguments. This is your guide as you build the formula.

Enter the lookup_value

Click the cell containing the value you want to search for (e.g. A2), or type the value directly in quotes (e.g. "Smith"). Then type a comma.

Select your table_array

Click and drag to select the data range. The first column of this range must be the column you're searching. Type a comma when done.

Enter the col_index_num

Count from the left of your selected range. Column 1 is the search column itself. Column 2 is one to the right, and so on. Type the number, then a comma.

Type FALSE and close the bracket

Type FALSE) for exact match. Press Enter. Your result appears.

Complete Example
=VLOOKUP(A2, $D$2:$G$100, 3, FALSE)

This finds the value in A2 by scanning column D, then returns the value from the 3rd column of the range D:G — which is column F.

How to Copy VLOOKUP Down a Column Without Breaking It

When you copy a formula down, Excel adjusts cell references automatically. That is usually what you want — but not for the table_array. The search range must stay fixed.

Add dollar signs to lock the table_array:

Without lock — breaks when copied
=VLOOKUP(A2, D2:G100, 3, FALSE)
With lock — safe to copy down ✅
=VLOOKUP(A2, $D$2:$G$100, 3, FALSE)

To add dollar signs quickly: select D2:G100 in the formula bar and press F4. Excel adds the dollar signs automatically.

To copy the formula down: click the cell with the formula, hover over the bottom-right corner until you see a black cross (+), then double-click or drag down.

VLOOKUP Across Two Sheets in Excel

Reference another sheet in the table_array by prefixing the range with the sheet name followed by an exclamation mark:

VLOOKUP referencing another sheet
=VLOOKUP(A2, Sheet2!$A$1:$C$100, 2, FALSE)

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

Sheet name with spaces
=VLOOKUP(A2, 'Product List'!$A$1:$C$100, 2, FALSE)
Let Excel Write the Sheet Reference For You

While typing the formula, when you reach the table_array argument, click the other sheet tab and select the range there. Excel writes the sheet reference automatically — no manual typing needed.

5 Practical VLOOKUP Use Cases

Match employee names to IDs

Look up a salary table using employee ID and return the corresponding name or department.

=VLOOKUP(B2, $EmpTable, 2, FALSE)

Pull prices from a product list

Have a sales order with product codes? Pull the unit price from a separate price table automatically.

=VLOOKUP(A2, PriceList!$A:$C, 3, FALSE)

Grade lookup from score

Convert numeric scores to letter grades using approximate match on a sorted grade-boundary table.

=VLOOKUP(C2, $GradeTable, 2, TRUE)

Compare two lists for matches

Find which items from List A appear in List B. Returns the matched value or #N/A for no match.

=VLOOKUP(A2, $B$2:$B$100, 1, FALSE)

Enrich a report with extra data

Add a country name, account manager, or category to a flat data export using a reference table.

=VLOOKUP(D2, RefTable!$A:$D, 3, FALSE)

Tax bracket calculation

Apply tiered tax rates to income figures using approximate match on a sorted rate table.

=VLOOKUP(B2, $TaxTable, 2, TRUE)

Fixing the Most Common VLOOKUP Errors

Error / SymptomCauseFix
#N/AValue not found in lookup columnCheck for spaces (use TRIM), mismatched types, or wrap in IFERROR
#REF!col_index_num exceeds range widthCount your columns; reduce col_index_num or widen the range
#VALUE!col_index_num is < 1 or non-numericEnsure 3rd argument is a whole number ≥ 1
Wrong value, no errorMissing FALSE — using approximate matchAdd FALSE as 4th argument
Formula shifts when copiedTable range not lockedAdd $ to table_array: press F4 on the range
#N/A on numbersNumbers stored as text (or vice versa)Use VALUE() to convert: VLOOKUP(VALUE(A2),...)
The Universal VLOOKUP Error Wrapper

=IFERROR(VLOOKUP(A2, $D$2:$F$100, 2, FALSE), "") — surround any VLOOKUP with IFERROR to return a blank, dash, or custom message instead of an error code. Clean reports, no red cells.

Need to compare two columns with VLOOKUP?

The most powerful use of VLOOKUP is matching and comparing data across two lists. See exactly how to do it.

VLOOKUP: Compare Two Columns →

Frequently Asked Questions

Click the result cell, type =VLOOKUP(, then enter four arguments: the value to find, your data range (search column must be leftmost), the column number to return, and FALSE for exact match. Example: =VLOOKUP(A2, $D$2:$F$100, 2, FALSE) finds A2's value in column D and returns the value from column E (2nd column of the range).
The most common cause is missing FALSE as the 4th argument — VLOOKUP defaults to approximate match and silently returns wrong results on unsorted data. Add FALSE explicitly. Other causes: the table range isn't locked so it shifts when copied, or duplicate values in the lookup column cause the wrong row to match.
Reference the other sheet in the table_array: =VLOOKUP(A2, Sheet2!$A$1:$C$100, 2, FALSE). Replace Sheet2 with your sheet name. If the name has spaces, use single quotes: =VLOOKUP(A2, 'My Sheet'!$A$1:$C$100, 2, FALSE). Easiest method: while typing the formula, click the other sheet tab and select the range — Excel writes the reference automatically.
VLOOKUP returns one column per formula. Write separate VLOOKUP formulas in adjacent cells with different col_index_num values. Or use XLOOKUP (Excel 365/2021) which can return an entire range. INDEX/MATCH is also more flexible for multi-column returns.
VLOOKUP is case-insensitive by default. For case-sensitive matching, use: =INDEX(B2:B100, MATCH(TRUE, EXACT(A2:A100, E2), 0)) — press Ctrl+Shift+Enter in older Excel, just Enter in Excel 365.

Related Articles