VLOOKUP in Excel

How the formula works, a worked example, and where it commonly goes wrong

VLOOKUP in Excel is a formula that matches a value against the first column of a range and returns a value from another column in the same row. It's one of the most widely used formulas in Excel because so many real spreadsheets involve matching two lists together - customer IDs to names, product codes to prices, order numbers to status.

This page covers how the formula works, a complete worked example, and the mistakes that most often stop it from returning the value you expect.

Turbo Excel VLookup

Turbo Excel VLookup
App Screenshots
Lookup and Merge tab - VLOOKUP XLOOKUP replacement
Match mode and return option selection
Lookup statistics and match percentage report
Join tab - Left Right Inner Full Outer Anti Semi Cross join
Duplicates tab - duplicate record finder
Data Cleaning tab - trim normalize and clean columns
Formula Generator tab - VLOOKUP XLOOKUP INDEX MATCH formula builder
Reports tab - session log of lookups joins and exports
Export options - XLSX CSV TSV output settings
Key Column Pairs - multi-key composite matching setup
License activation screen - Gumroad key entry
Help tab - built-in usage guide and tips
Enlarged application screenshot
How VLOOKUP Works, Step by Step
  1. Excel takes the lookup_value and scans down the first column of table_array.
  2. When it finds a row where that column matches exactly (with FALSE set), it stops scanning.
  3. It then moves right by col_index_num columns, counting the first column of table_array as 1.
  4. The value in that column, on the matching row, is returned as the result.
A Complete Worked Example

This order table is used to look up the Status of ORD-502:

Order IDCustomer NameCityStatus
ORD-501Rohan GuptaChennaiShipped
ORD-502Meera PillaiBengaluruPending
ORD-503Arjun NairHyderabadDelivered
=VLOOKUP("ORD-502", A2:D4, 4, FALSE) // returns "Pending"

Order ID is column A (the leftmost, required position), and Status is the fourth column across, so col_index_num is 4.

Approximate vs Exact Match

Leaving range_lookup as TRUE, or omitting it, tells VLOOKUP to look for the closest value less than or equal to lookup_value, which requires the lookup column to be sorted ascending. This is useful for things like tax brackets or grading scales, but it's the wrong setting for matching IDs, where FALSE and an exact match is what's needed.

Why Results Sometimes Look Wrong Even Without an Error

A VLOOKUP can return a value with no error shown, yet still be wrong, if range_lookup was left as TRUE against unsorted data. Excel won't flag this as a mistake - it will confidently return whatever the nearest match happens to be, so it's worth double-checking FALSE is set whenever exact IDs are involved.

An Alternative for Whole Datasets

Turbo Excel VLookup applies this same matching logic across an entire dataset at once. You choose the matching columns and the columns to pull across through dropdown menus, and it runs the match for every row without needing the formula copied down manually.

Speeding Up VLOOKUP in a Large Workbook

A worksheet with thousands of VLOOKUP formulas recalculating against a large table_array can slow Excel down noticeably, especially if the range isn't locked and Excel has to re-evaluate a shifting reference on every keystroke.

Converting the source range into an Excel Table (Insert > Table) before referencing it in VLOOKUP tends to help, since Table references automatically resize with the data and stay consistent without needing manual $ locking.

Building the Habit of Testing With One Row First

Before applying a new VLOOKUP formula to an entire column, it's worth testing it on a single row and manually verifying the result against the source data, since a mistake caught in one cell takes seconds to fix, while the same mistake copied down five hundred rows takes much longer to untangle.

This is especially worth doing whenever the source table_array has changed shape recently, since a resized or reordered table is the single most common reason a previously reliable formula starts returning unexpected results.

Frequently Asked Questions

What does VLOOKUP return if there's no match and FALSE is set?

It returns the #N/A error, indicating no exact match was found in the lookup column.

Can VLOOKUP return more than one column at a time?

A single VLOOKUP formula returns one column; multiple columns need one formula per column, or a tool that returns several at once.

What happens with TRUE instead of FALSE on unsorted data?

It can return an incorrect result silently, since Excel finds the nearest value rather than requiring an exact match.

Does VLOOKUP work across different worksheets?

Yes, table_array can reference a range on another sheet using the format SheetName!A2:D4.

Is col_index_num counted from the start of the worksheet or the table_array?

It's counted from the start of table_array, with the first column in that range counted as 1.

What's a faster option for matching an entire table at once?

Turbo Excel VLookup matches the whole dataset in a single action instead of requiring the formula to be copied row by row.

Can trailing spaces in a cell cause a lookup to fail?

Yes, an extra space at the end of a value is invisible but prevents an exact match; TRIM() around the lookup value often fixes this.

Does the order of rows in the source data matter for an exact match?

No, an exact match search works regardless of row order; only an approximate match requires sorted data.

Is it safe to have duplicate values in the lookup column?

A lookup formula will only return the first matching row it finds, so duplicates can silently return the wrong record if not accounted for.

Should I test a new formula on one row before applying it everywhere?

Yes, verifying a single result against the source data first catches setup mistakes before they're copied across an entire column.

Ready to stop fighting #N/A errors and match your spreadsheets visually?

Related guides and tools

This guide is part of TurboSoft’s Excel lookup and matching resources. Turbo Excel Lookup handles all of these tasks offline on Windows.

Get Turbo Excel Lookup →