Approximate match with INDEX and MATCH
There are times when we need to find approximate matches in Excel to evaluate employees' performance, grade students’ scores, calculate postage based on weight, etc. In this tutorial, we will talk about how to use the INDEX and MATCH functions to retrieve the results we need.
How to find approximate matches with INDEX and MATCH?
To find out the shipping rate according to the given package weight (9, the value in the cell F6) as shown in the screenshot above, you can combine the INDEX and MATCH functions, and use a little trick to make the formula find the approximate match you need: The match_type -1 asks MATCH to find the position of the smallest value that is greater than or equal to 9, and then INDEX will find the corresponding shipping rate on the same row.
Generic syntax
=INDEX(return_range,MATCH(lookup_value,lookup_array,[match_type]))
- return_range: The range where you want the combination formula to return the shipping rate from. Here refers to the shipping rate range.
- lookup_value: The value MATCH used to locate the position of the corresponding shipping rate. Here refers to the given weight.
- lookup_array: The range of cells with the values to compare with the lookup_value. Here refers to the weight range.
- match_type: 1 or -1.
1 or omitted (default), MATCH will find the largest value that is less than or equal to the lookup_value. The values in the lookup_array must be placed in ascending order.
-1, MATCH will find the smallest value that is greater than or equal to the lookup_value. The values in the lookup_array must be placed in descending order.
To find the shipping rate for a package weighing 9kg, please copy or enter the formula below in the cell F7, and press ENTER to get the result:
=INDEX(C6:C10,MATCH(9,B6:B10,-1))
Or, use a cell reference to make the formula dynamic:
=INDEX(C6:C10,MATCH(F6,B6:B10,-1))
Explanation of the formula
=INDEX(C6:C10,MATCH(F6,B6:B10,-1))
- MATCH(F6,B6:B10,-1): The MATCH function finds the position of the given weight 9 (the value in the cell F6) in the weight range B6:B10. The match_type -1 asks MATCH to find the smallest value that is greater than or equal to the given weight 9, which is 10. So, the function will return 3 since it’s the 3rd value in the range. (Note that the match_type -1 needs the values in the range B6:B10 placed in descending order.)
- INDEX(C6:C10,MATCH(F6,B6:B10,-1)) = INDEX(C6:C10,3): The INDEX function returns the 3rd value in the rate range C6:C10, which is 50.
Related functions
The Excel INDEX function returns the displayed value based on a given position from a range or an array.
The Excel MATCH function searches for a specific value in a range of cells, and returns the relative position of the value.
Related Formulas
Exact Match With INDEX And MATCH
If you need to find out the information listed in Excel about a specific product, movie or a person, etc., you should make a good use of the combination of INDEX and MATCH functions.
Lookup closest match value with multiple criteria
In some cases, you may need to lookup the closest or approximate match value based on more than one criteria. With the combination of INDEX, MATCH and IF functions, you can quickly get it done in Excel.
The Best Office Productivity Tools
Kutools for Excel - Helps You To Stand Out From Crowd
Kutools for Excel Boasts Over 300 Features, Ensuring That What You Need is Just A Click Away...
Office Tab - Enable Tabbed Reading and Editing in Microsoft Office (include Excel)
- One second to switch between dozens of open documents!
- Reduce hundreds of mouse clicks for you every day, say goodbye to mouse hand.
- Increases your productivity by 50% when viewing and editing multiple documents.
- Brings Efficient Tabs to Office (include Excel), Just Like Chrome, Edge and Firefox.