# How to Use Microsoft® Excel's VLOOKUP Function

Last updated by David Wallis on 2024-05-15.

## When to Use VLOOKUP

You have a list from which you need to pick information relating to a particular entry in that list. VOOKUP saves you the chore of manually copy and pasting from the list or of typing values afresh.

For example, you're maintaining a *Daily Food Consumption* spreadsheet. As you input Weetabix as part of a breakfast, you want the spreadsheet to look up automatically the calorific value of Weetabix in this, your reference list of nutritional values:

So, when you enter a breakfast including Weetabix into your spreadsheet you want it to pick up on the fact you've laid in 143 calories for each 100 g of breakfast cereal you've eaten.

Another example: you are recording test scores and need each one represented as a grade.

So, if Poppi scores 67% in her science paper you want VLOOKUP to register that as a “C” grade.

In this example you want VLOOKUP to find a best-fit, rather than an exact match, between mark and grade.

One thing these two lists, and any other list you want to use, *must* have in common is that their left-most columns are the ones that contain the values amongst which VOOKUP is to seek a match.

A facet of VLOOKUP itself is that it can look for exact matches — e.g. “Weetabix” — or best-fits, as with Poppi's 67%.

## How VLOOKUP Works

VOOKUP needs four pieces of information — referred to as its *arguments* — in order to do its business:

** value to look up** This is the

*value*— text, number, date, etc — which you want VLOOKUP to locate in your list.

** where to look up** This is the range of cells constituting the

*list*from which VLOOKUP is to return a result.

** list's results column** Within the list, this is the

*column*— counting from the left — from which you want VOOKUP to pick out the value to return to your spreadsheet. The left-hand column counts as column

*one*.

** approximate or exact match** This is the instruction to VLOOKUP to make either an

*exact match*with items in the list or a

*best fit*.

**Note** If you need an ** exact match**, then the order of items in the left-most column of your list does

*not*matter. If, on the other hand, you want a

**, then the list items must be in**

*best fit**ascending*order.

## Examples of VLOOKUP Formulas

### Best-fit Matches

=VLOOKUP(F2,$A$2:$B$8,2,TRUE), the formula in Cell G2 in the spreadsheet above, takes Poppi's 69% result from Cell F2 and looks it up in left-hand column of the Grades list $A$2:$B$8.

2 tells VLOOKUP to return a value from the second column in the list.

TRUE tells VLOOKUP to find a **best-fit** for 69% in the left-hand column of the list. 69% falls *within* the 60% to 70% Grace C band. Had Poppi achieved 70%, then that would have fallen within the Grade B band.

### Exact Matches

In both the formulas for breakfast, VLOOKUP has FALSE as its fourth argument, driving it to make an **exact** match.

For the 120 g breakfast, the complete VLOOKUP is multiplied by the fraction that makes the result of the formula as a whole fit a breakfast of that weight.

## Use of Named Ranges

In many many instances the application of names to ranges of cells makes formulas easier to compose, understand and maintain. I recommend the use of range names in all VLOOKUP formulas.

Taking this spreadsheet as an example, it uses the fixed reference $A$2:$B$8 as the second argument of its VLOOKUP formula:

To replace that reference with a range name, we first of all have to create the name, say nmGrades. We select the list of Pass Marks and Grades, type the name into Excel's Name Box and press Enter:

Note that our range spans the marks and grades only, *not* the column headings.

Now we can edit the formula to replace $A$2:$B$8 by nmGrades:

## VLOOKUPs Across Two Spreadsheets

### Worksheets in Same Workbook

If you range name your list before you compose your formulas, then creating a VLOOKUP formula is the same as usual:

- In the cell in which you want the result, commence you formula with =VLOOKUP(B2) (replacing B2 with what's appropriate for your formula)
- To extend your formula to, for example, =VLOOKUP(B2,nmGrades), type the name you've given to the range of cells comprising your list
- Complete the formula and then press Enter.

OR

From Excel's ribbon choose the *Formulas* tab, then from the *Define Names* group drop-down the *Use in Formula* list and select the range name

### Worksheets in Different Workbooks

Have both workbooks open. It helps of you have already saved them so that you have meaningful names by which to identify them.

- In the cell in which you want the result, commence your formula with =VLOOKUP(B2), (replacing B2 with what's appropriate for your formula)
- To extend your formula to, for example, =VLOOKUP(B2,nmGrades), move the focus to the workbook that contains your list
- =VLOOKUP(O4,Database.xlsm!nmGrades)
- Complete your formula, =VLOOKUP(O4,Database.xlsm!nmGrades,2,FALSE) and press Enter.

Like mine, your formula will include your equivalent of Database.xlsm!nmGrades. The stuff to the left of the ! — Database.xlsm — is the pointer to the *supporting* workbook.

If you close both workbooks, saving them as you do so, and then open only the one with the VLOOKUP formula in it, you'll note that the formula points to the whereabouts of the supporting workbook.

Take care not to move the supporting workbook from where your formula expects it to reside.

## Your Support for DMW TIPS

Please support this website by making a donation to help keep it free of advertising and to help towards cost of time spent adding new content.

To make a contribution by PayPal in GBP (£ sterling) —

To make a contribution by PayPal in USD ($ US) —