0% found this document useful (0 votes)
135 views10 pages

VLOOKUP Function: Description

The document provides information about the VLOOKUP function in Excel including: - A description of how VLOOKUP searches the first column of a range to return a value from the same row. - The syntax and arguments of VLOOKUP including lookup_value, table_array, col_index_num, and range_lookup. - Examples of using VLOOKUP to look up values in tables and perform calculations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
135 views10 pages

VLOOKUP Function: Description

The document provides information about the VLOOKUP function in Excel including: - A description of how VLOOKUP searches the first column of a range to return a value from the same row. - The syntax and arguments of VLOOKUP including lookup_value, table_array, col_index_num, and range_lookup. - Examples of using VLOOKUP to look up values in tables and perform calculations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Excel > Function reference > Lookup and reference

VLOOKUP function
Show All

Tags commands; find; formula; functions; lookup; reference; search; troubleshoot; vlookup

What are tags?

This article describes the formula syntax and usage of the VLOOKUP function in Microsoft Office Excel.

Description
You can use the VLOOKUP function to search the first column of a range of cells, and then return a value from any
cell on the same row of the range. For example, suppose that you have a list of employees contained in the range
A2:C10. The employees' ID numbers are stored in the first column of the range, as shown in the following illustration.

If you know the employee's ID number, you can use the VLOOKUP function to return either the department or the
name of that employee. To obtain the name of employee number 38, you can use the formula =VLOOKUP(38,
A2:C10, 3, FALSE). This formula searches for the value 38 in the first column of the range A2:C10, and then returns
the value that is contained in the third column of the range and on the same row as the lookup value ("Axel
Delgado").

The V in VLOOKUP stands for vertical. Use VLOOKUP instead of HLOOKUP when your comparison values are
located in a column to the left of the data that you want to find.

Syntax
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
The VLOOKUP function syntax has the following arguments:

lookup_value Required. The value to search in the first column of the table or range. The
lookup_value argument can be a value or a reference. If the value you supply for the lookup_value
argument is smaller than the smallest value in the first column of the table_array argument, VLOOKUP
returns the #N/A error value.

table_array Required. The range of cells that contains the data. You can use a reference to a range
(for example, A2:D8), or a range name. The values in the first column of table_array are the values
searched by lookup_value. These values can be text, numbers, or logical values. Uppercase and
lowercase text are equivalent.

col_index_num Required. The column number in the table_array argument from which the matching
value must be returned. A col_index_num argument of 1 returns the value in the first column in
table_array; a col_index_num of 2 returns the value in the second column in table_array, and so on.

If the col_index_num argument is:

Less than 1, VLOOKUP returns the #VALUE! error value.

Greater than the number of columns in table_array, VLOOKUP returns the #REF! error
value.

range_lookup Optional. A logical value that specifies whether you want VLOOKUP to find an exact
match or an approximate match:
If range_lookup is either TRUE or is omitted, an exact or approximate match is returned. If

an exact match is not found, the next largest value that is less than lookup_value is
returned.

IMPORTANT

If range_lookup is either TRUE or is omitted, the values in the first column of

table_array must be placed in ascending sort order; otherwise, VLOOKUP might not return the
correct value.

For more information, see Sort data.

If range_lookup is FALSE, the values in the first column of table_array do not need to be sorted.
If the range_lookup argument is FALSE, VLOOKUP will find only an exact match. If there

are two or more values in the first column of table_array that match the lookup_value, the
first value found is used. If an exact match is not found, the error value #N/A is returned.

Example 1
The example may be easier to understand if you copy it to a blank worksheet.
How do I copy an example?

1.

Select the example in this article.

IMPORTANT

Do not select the row or column headers.

Selecting an example from Help

2.

Press CTRL+C.

3.

In Excel, create a blank workbook or worksheet.

4.

In the worksheet, select cell A1, and press CTRL+V.

IMPORTANT

5.

For the example to work properly, you must paste it into cell A1 of the worksheet.

To switch between viewing the results and viewing the formulas that return the results, press CTRL+`
(grave accent), or on the Formulas tab, in the Formula Auditing group, click the Show Formulas
button.

This example searches the Density column of an atmospheric properties table to find corresponding values in the
Viscosity and Temperature columns. (The values are for air at 0 degrees Celsius at sea level, or 1 atmosphere.)

Density

Viscosity

Temperatu
re

0.457

3.55

500

0.525

3.25

400

0.606

2.93

300

0.675

2.75

250

0.746

2.57

200

0.835

2.38

150

0.946

2.17

100

1.09

1.95

50

1.29

1.71

Formula

Description

Result

2
3
4
5
6
7
8
9
10
11

12

13

14

=VLOOKUP(1,A2:C10,2)

Using an approximate match, searches for the value


1 in column A, finds the largest value less than or
equal to 1 in column A which is 0.946, and then
returns the value from column B in the same row.

2.17

=VLOOKUP(1,A2:C10,3,TRU
E)

Using an approximate match, searches for the value


1 in column A, finds the largest value less than or
equal to 1 in column A, which is 0.946, and then
returns the value from column C in the same row.

100

=VLOOKUP(0.7,A2:C10,3,FA
LSE)

Using an exact match, searches for the value 0.7 in


column A. Because there is no exact match in
column A, an error is returned.

#N/A

=VLOOKUP(0.1,A2:C10,2,TR
UE)

Using an approximate match, searches for the value


0.1 in column A. Because 0.1 is less than the
smallest value in column A, an error is returned.

#N/A

=VLOOKUP(2,A2:C10,2,TRU
E)

Using an approximate match, searches for the value


2 in column A, finds the largest value less than or
equal to 2 in column A, which is 1.29, and then
returns the value from column B in the same row.

1.71

15

16

Example 2
The example may be easier to understand if you copy it to a blank worksheet.
How do I copy an example?

1.

Select the example in this article.

IMPORTANT

Do not select the row or column headers.

Selecting an example from Help

2.

Press CTRL+C.

3.

In Excel, create a blank workbook or worksheet.

4.

In the worksheet, select cell A1, and press CTRL+V.

IMPORTANT

5.

For the example to work properly, you must paste it into cell A1 of the worksheet.

To switch between viewing the results and viewing the formulas that return the results, press CTRL+`
(grave accent), or on the Formulas tab, in the Formula Auditing group, click the Show Formulas
button.

This example searches the Item-ID column of a baby products table and matches values in the Cost and Markup
columns to calculate prices and test conditions.

Item-ID

Item

Cost

Markup

ST-340

Stroller

$145.67

30%

BI-567

Bib

$3.56

40%

DI-328

Diapers

$21.45

35%

WI-989

Wipes

$5.12

40%

AS-469

Aspirator

$2.56

45%

Formula

Description

Result

= VLOOKUP("DI-328", A2:D6, 3, FALSE)


* (1 + VLOOKUP("DI-328", A2:D6, 4,
FALSE))

Calculates the retail price of diapers by


adding the markup percentage to the cost.

$28.96

= (VLOOKUP("WI-989", A2:D6, 3, FALSE)


* (1 + VLOOKUP("WI-989", A2:D6, 4,
FALSE))) * (1 - 20%)

Calculates the sale price of wipes by


subtracting a specified discount from the
retail price.

$5.73

= IF(VLOOKUP(A2, A2:D6, 3, FALSE) >=


20, "Markup is " & 100 * VLOOKUP(A2,
A2:D6, 4, FALSE) &"%", "Cost is under
$20.00")

If the cost of an item is greater than or equal


to $20.00, displays the string "Markup is nn
%"; otherwise, displays the string "Cost is
under $20.00".

Markup
is 30%

= IF(VLOOKUP(A3, A2:D6, 3, FALSE) >=


20, "Markup is: " & 100 * VLOOKUP(A3,
A2:D6, 4, FALSE) &"%", "Cost is $" &
VLOOKUP(A3, A2:D6, 3, FALSE))

If the cost of an item is greater than or equal


to $20.00, displays the string Markup is nn
%"; otherwise, displays the string "Cost is
$n.nn".

Cost is
$3.56

10

11

Example 3
The example may be easier to understand if you copy it to a blank worksheet.
How do I copy an example?

1.

Select the example in this article.

IMPORTANT

Do not select the row or column headers.

Selecting an example from Help

2.

Press CTRL+C.

3.

In Excel, create a blank workbook or worksheet.

4.

In the worksheet, select cell A1, and press CTRL+V.

IMPORTANT

5.

For the example to work properly, you must paste it into cell A1 of the worksheet.

To switch between viewing the results and viewing the formulas that return the results, press CTRL+`
(grave accent), or on the Formulas tab, in the Formula Auditing group, click the Show Formulas
button.

This example searches the ID column of an employee table and matches values in other columns to calculate ages
and test for error conditions.

ID

Last name

First
name

Title

Birth
date

Davis

Sara

Sales
Rep.

12/8/1968

Fontana

Olivier

V.P. of
Sales

2/19/1952

Leal

Karina

Sales
Rep.

8/30/1963

Patten

Michael

Sales
Rep.

9/19/1958

Burke

Brian

Sales
Mgr.

3/4/1955

Sousa

Luis

Sales
Rep.

7/2/1963

Formula

Description

Result

=INT(YEARFRAC(DATE(2004,6,30),
VLOOKUP(5,A2:E7,5, FALSE), 1))

For the fiscal year 2004, finds the age of


the employee with ID equal to 5. Uses the
YEARFRAC function to subtract the birth
date from the fiscal year end date and
displays the result as an integer using the
INT function.

49

=IF(ISNA(VLOOKUP(5,A2:E7,2,FALSE)) =
TRUE, "Employee not found",
VLOOKUP(5,A2:E7,2,FALSE))

If there is an employee with an ID of 5,


displays the employee's last name;
otherwise, displays the message
"Employee not found".

Burke

7
8

The ISNA function returns a TRUE value


when the VLOOKUP function returns the
#NA error value.
10
=IF(ISNA(VLOOKUP(15,A3:E8,2,FALSE))
= TRUE, "Employee not found",
VLOOKUP(15,A3:E8,2,FALSE))

If there is an employee with an ID of 15,


displays the employee's last name;
otherwise, displays the message
"Employee not found".

Employee
not found

The ISNA function returns a TRUE value


when the VLOOKUP function returns the
#NA error value.

11
=VLOOKUP(4,A2:E7,3,FALSE) & " " &
VLOOKUP(4,A2:E7,2,FALSE) & " is a " &
VLOOKUP(4,A2:E7,4,FALSE)
12

Remarks

For the employee with an ID of 4,


concatenates the values of three cells into
a complete sentence.

Michael
Patten is a
Sales Rep.

When searching text values in the first column of table_array, ensure that the data in the first column of
table_array does not contain leading spaces, trailing spaces, inconsistent use of straight ( ' or " ) and
curly ( or ) quotation marks, or nonprinting characters. In these cases, VLOOKUP might return an
incorrect or unexpected value.

For more information, see CLEAN function and TRIM function.

When searching number or date values, ensure that the data in the first column of table_array is not
stored as text values. In this case, VLOOKUP might return an incorrect or unexpected value.

For more information, see Convert numbers stored as text to numbers.

If range_lookup is FALSE and lookup_value is text, you can use the wildcard characters the
question mark (?) and asterisk (*) in lookup_value. A question mark matches any single character;
an asterisk matches any sequence of characters. If you want to find an actual question mark or
asterisk, type a tilde (~) preceding the character.

Related Office Online discussions


Read related questions and answers from other Microsoft Office customers.

How can I lookup when match has more than one value?
How to look up a value?
How do I access data stored in a SQL server for vlookup function?
#N/A in VLookup - Can I use another function that will return 0?
VLOOKUP How do you keep the pathway linked to original source?
How do I remove the #div or N/A and make it 0 when using VLookup?
How do I use a vertical look up to adjust a graph format?
Can I turn the #N/A result from a lookup function to a zero?
See Also

DATE function

HLOOKUP function

INDEX function

INT function

IS functions

Look up values in a list of data

Lookup and reference functions (reference)

LOOKUP function

MATCH function

YEARFRAC function

You might also like