If you are looking for some of the easiest ways to match multiple columns in Excel then you might find this article beneficial. Sometimes it becomes necessary to search out a specific value in multiple columns in Excel. But doing this manually becomes tedious and inefficient. So, to do this you can follow any of the methods below for matching multiple columns in Excel easily.

Here is an overview of this article.

**Match Multiple Columns in Excel: 5 Suitable Ways**

Letâ€™s look at the table below. Here, I have used 5 columns named *Location, Year, Fruits, Vegetables, *and *Sales*. For any particular* Fruits* or *Vegetables,* you can use the following methods to match up other values corresponding to this Fruit or Vegetable from multiple columns.

__Method-1__**: Use INDEX and MATCH functions on Multiple Columns**

__Method-1__

Suppose, I want to get the Sales value corresponding to each item in the *Products* column. To find this value you have to match up across multiple columns and use an Array formula.

This formula includes the **COLUMN**, **TRANSPOSE**, **MMULT**, **MATCH**, and **INDEX** functions.

** Steps**:

âž¤Select the output Cell **G5.**

âž¤Type the following formula.

`=INDEX($D$5:$D$7,MATCH(1,MMULT(--($B$5:$C$7=F5),TRANSPOSE(COLUMN($B$5:$C$7)^0)),0))`

âž¤Then, press **ENTER** to get the output.

__Formula Breakdown__

**–($B$5:$C$7=F5) â†’**This will generate**TRUE/ FALSE**for every value in the range depending on the criteria whether it is met or not and then**—**will convert**TRUE**and**FALSE**into**1**and**0**.**Output:**{1,0;0,0;0,0}

**TRANSPOSE(COLUMN($B$5:$C$7)^0)****â†’****COLUMN**function will create an array with 2 columns and 1 row, and then**TRANSPOSE**function will convert this array to 1 column and 2 rows.**Power zero**will convert all of the values in the array to**1****Output:**{1;1}

**MATCH(1,MMULT(–($B$5:$C$7=F5),TRANSPOSE(COLUMN($B$5:$C$7)^0)),0)****â†’**The**MMULT**function will perform matrix multiplication between these two arrays. This result will be used by the**MATCH**function as the array argument with lookup value**1**.**Output:**1

**INDEX($D$5:$D$7,MATCH(1,MMULT(–($B$5:$C$7=F5),TRANSPOSE(COLUMN($B$5:$C$7)^0)),0)) â†’**Finally, the**INDEX**function will return the corresponding value.**Output:**2000

âž¤After that, drag down the** Fill handle **to **AutoFill **the formula.

**Note**For other versions except Microsoft 365, you have to press **CTRL + SHIFT + ENTERÂ ** instead of pressing **ENTER**.

__Method-2__**: Apply Array Formula to Match Multiple Criteria**

__Method-2__

For matching up multiple criteria in multiple columns and getting the value of Sales, you have to use an Array formula which includes the** INDEX** and** MATCH **functions.

** Steps**:

âž¤ First of all, select the output Cell **H7**

âž¤After that, write down the following formula in that cell.

`=INDEX(F5:F11, MATCH(1, (H4=B5:B11) * (H5=C5:C11) * (H6=D5:D11), 0))`

âž¤Then, press **ENTER** to get the output.

**Formula Breakdown**

**MATCH(1, (H4=B5:B11) * (H5=C5:C11) * (H6=D5:D11), 0)**â†’ Here,**1**is**lookup value**,**H4, H5, H6**are the criterion which will be looked up in**B5:B11, C5:C11,**and**D5:D11**ranges respectively and**0**is for an**exact match.****Output:**2

**INDEX(F5:F11, MATCH(1, (I4=B5:B11) * (I5=C5:C11) * (I6=D5:D11), 0))**â†’ The**INDEX**function will give the corresponding value.**Output:**1000

**Note****CTRL + SHIFT + ENTER**instead of pressing

**ENTER**.

__Method-3__**: Use Non-Array Formula to Match Multiple Criteria**

__Method-3__

For matching up multiple criteria in multiple columns and getting the value of Sales, you can use a Non- Array formula which includes the **INDEX** and** MATCH **functions.

** Steps**:

âž¤The first step is to select the output Cell **H7.**

âž¤After that, type the following formula

`=INDEX(F5:F11, MATCH(1, INDEX((H4=B5:B11) * (H5=C5:C11) * (H6=D5:D11), 0, 1), 0))`

âž¤Then, press **ENTER** to get the output.

**Formula Breakdown**

**INDEX((I4=B5:B11) * (I5=C5:C11) * (I6=D5:D11), 0, 1)**â†’ This is the lookup_array for the**MATCH**function.**Output:**{0;1;0;0;0;0;0}

**INDEX(F5:F11, MATCH(1, INDEX((I4=B5:B11) * (I5=C5:C11) * (I6=D5:D11), 0, 1), 0))**â†’ This becomes,**INDEX(F5:F11, MATCH(1, {0;1;0;0;0;0;0}, 0))****Output:**1000

__Method-4__**: Apply Array Formula to Match Multiple Criteria in Rows and Columns**

__Method-4__

Now, assume you want to match up criteria in both row-wise and column-wise. To do this, you have to use an Array formula which includes the** INDEX** and** MATCH **functions.

__Steps:__

âž¤Firstly, select the output Cell **H8**

âž¤Secondly, type the following formula

`=INDEX(C6:E8, MATCH(H7,B6:B8,0), MATCH(H5&H6,C4:E4&C5:E5,0))`

âž¤Then, press **ENTER** to get the output.

__Formula Breakdown__

**MATCH(H7, B6:B8,0) â†’**This is used for row-wise matching.**Output:**2

**MATCH(H5&H6, C4:E4&C5:E5,0) â†’**This is used for column-wise matching.**Output:**1

**INDEX(C6:E8, MATCH(H7,B6:B8,0), MATCH(H5&H6,C4:E4&C5:E5,0)) â†’**This becomes,**INDEX(C6:E8, 2, 1,0)****Output:**1000

__Method-5__**: Use VLOOKUP Function**

__Method-5__

Suppose, you want to know the corresponding Year, Location, and Sales value with respect to Banana. To get multiple values for one given data you have to use **the VLOOKUP function**.

** Steps**:

âž¤Select the 3 output cells simultaneously; **C10, D10, E10**

âž¤Then, type the following formula

`=VLOOKUP(B10,B4:E7,{2,3,4},FALSE)`

âž¤Then, press **ENTER** to get the output.

__Formula Explanation__

- Here,
**B10**is**lookup_value** **B4:E7**is the**table_array**,**{2,3,4}**is the**col_index_num****FALSE**is for the Exact match.

**Note****CTRL + SHIFT + ENTER**instead of pressing

**ENTER**.

**Download Excel Workbook**

**Conclusion**

In this article, I tried to cover the easiest ways to match multiple columns in Excel effectively. Hope you will find it useful. If you have any suggestions or questions feel free to share them with us.

**<< Go Back to Columns | Compare | Learn Excel**

First method does not work for larger sets of data.

Hi

Exceler,Here, I tried the first method for 50 sets of data and it worked but you have to change the cell references based on your dataset. For your better understanding, I am attaching the images along with the formula.

`=INDEX($D$5:$D$30,MATCH(1,MMULT(--($B$5:$C$30=F5),TRANSPOSE(COLUMN($B$5:$C$30)^0)),0))`

The images of datasets

Here, I used the formula for the entire dataset. I changed the references based on my dataset.

Output for

50values:Note:If your dataset is very large kindly send us your datasetThanks

Shamima SultanaMethod 1 is very useful!! Thanks!

Dear

Excel Nob,You are most welcome.

Regards

ExcelDemy