Get instant live expert help with Excel or Google Sheets
“My Excelchat expert helped me in less than 20 minutes, saving me what would have been 5 hours of work!”

Post your problem and you’ll get expert help in seconds.

Your message must be at least 40 characters
Our professional experts are available now. Your privacy is guaranteed.

How to Apply VLOOKUP with Two Criteria (plus Formula Examples)

While using the VLOOKUP function in Excel, we will often need to lookup a value based on two criteria. This is possible by modifying the lookup value in the standard VLOOKUP function. In this tutorial, we will learn how to apply VLOOKUP with two criteria.

Figure 1. Final result

Syntax of the VLOOKUP formula

The generic formula of VLOOKUP looks like:

=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)

The parameters of the VLOOKUP function are:

  • lookup_value – a value that we want to find in the VLOOKUP table
  • table_array – a range in which we want to lookup
  • col_index_num – a column number from which we would like to pull a value
  • range_lookup – default value 0. This means that we want to find an exact match for a lookup value.

Setting up Your Data

Figure 2. Data structure for VLOOKUP with two criteria

In the range B2:D7 we have the table from which we want to pull data. In the cell G4, we want to get Sales value for Product ID 1003 and Product description Product C.

In order to look up into two columns, we have to add one helping columns in the VLOOKUP table. We inserted the column “Lookup column” on the left, where we joined values of columns “Product ID” and “Product Description”.

Figure 3. Modified data structure for VLOOKUP with two criteria

Modified VLOOKUP formula with two criteria

Now when we have set up our data, our goal is to get the sales value into H4 from the column E, based on values in H2 and H3 cells.

Figure 4. Application of VLOOKUP formula with two criteria

The formula looks like:

=VLOOKUP(H2&H3,$B$2:$E$7,4,0)

In our example, the lookup_value is the combination of cells H2 and H3 (H2&H3). The parameter table_array is $B$2:$E$7 because we want to find value from the range B2:E7. Col_index_num has value 4, as we want to pull value from the 4th column of the range. Finally, range_lookup has value 0, because we want to find an exact match of “Lookup column” values.

To apply VLOOKUP with two criteria, we need to follow these steps:

  • Add the helping column at the beginning, joining the first two columns
  • Select cell H4 and click on it
  • Insert the formula: =VLOOKUP(H2&H3,$B$2:$E$7,4,0)
  • Press enter

As a result, we will get $670 in the cell H4. We can see in the VLOOKUP table the sales value for “1003Product C” is $670 in the cell E5.

Most of the time, the problem you will need to solve will be more complex than a simple application of a formula or function. If you want to save hours of research and frustration, try our live Excelchat service! Our Excel Experts are available 24/7 to answer any Excel question you may have. We guarantee a connection within 30 seconds and a customized solution within 20 minutes.

Did this post not answer your question? Get a solution from connecting with the expert.

Another blog reader asked this question today on Excelchat:
Solution examples
I have a pivot table in which per order (on the rows) stands how much products they ordered per size (on the columns). I want to determine which combinations of quantities of sizes people order. And I want to count these combinations.
Solved by E. W. in 60 mins
I have 500 numbers in column A with aproximatly 15digits. In column B I have 5 numbers with 6 digits Can a find a formula wich can transfer all numbers from A column wich start with some 6 digitsa from B column
Solved by V. L. in 32 mins
I have a sheet with 3 columns. First column is a code for records in column B (has 563 records). What I need is a formula to show me if what is in column C (has 4400 records) is in column B and if it is to take the code for that record. Example: Column A(code corresponding to column B): 12, 14, 15, 19 Column B(names): asd, adf, ade, aqw Column C(names): akd, adf, ade, anb, wgs I need something that would say, if record in column C (for example adf) is matching record in column B (adf) return the code from column A (the code corresponding to that record in column B),if not return blank.
Solved by C. J. in 8 mins
If the data in A matches the data in C, then I need the data in E to be placed in B
Solved by X. W. in 40 mins
I have a workbook with 2 sheets. First sheet has column A which is a device name, then columns B - infinity that have numeric "tags" for that device. Each device can have one or 20 "tags", tags are all numerical. Worksheet 2 has column A which is numeric value and B which is a human readable value of what the tag is. Question is, how do I replace all the tag numbers in worksheet 1 with the actual human readable values is sheet 2?
Solved by T. H. in 16 mins

Leave a Comment

avatar

Subscribe to Excelchat.co

Get updates on helpful Excel topics

Subscribe to Excelchat.co

Did this post not answer your question?
Get a solution from connecting with the expert

Another blog reader asked this question today on Excelchat:

Post your problem and you’ll get expert help in seconds.

Your message must be at least 40 characters
Our professional experts are available now. Your privacy is guaranteed.
Trusted by people who work at
Amazon.com, Inc
Facebook, Inc
Accenture PLC
Siemens AG
Macy's
The Allstate Corporation
United Parcel Service
Dell Inc