VLOOKUP function is very useful in our daily work and we can use it to look up match value in a range, then get proper returned value (the returned value may be just adjacent to the match value). Sometimes we only want to look up the lowest value among all matched values in the list and get its adjacent value, how can we do?
This tutorial will help you to look up the lowest value in a list by VLOOKUP function and User Defined Function with VBA code. However, except VLOOKUP function, we can also use INDEX/MATCH functions together in some situations to look up the lowest value as well. Please see details below.
Precondition:
Prepare a table consists of name, score and range columns. Now we want to get the ‘Range’ of the lowest score.
Table of Contents
1. Look Up the Lowest Value by VLOOKUP Function
Step1: In E2, enter the formula:
=VLOOKUP(MIN(B2:B6),B2:C6,2,FALSE)
As we want to find the ‘Range’ of the lowest score, we need to look up the lowest score among all score first, so we enter MIN(B2:B6) as lookup_value.
Step2: Click Enter to get returned value in C column.
Comment:
a.If there are two duplicate lowest values, VLOOKUP function will look up the first match value and return its adjacent value.
b.This method only works well when returned value is listed in the right column.
2. Look Up the Lowest Value using User Defined Function with VBA Code
You can also create a User Defined function with VBA Code to lookup the lowest value in a list to replace the above VLOOKUP formula. Just do the following steps:
Step1: Open your Excel workbook and press Alt + F11 to open the Visual Basic Editor.
Step2: In the Visual Basic Editor, click Insert > Module to insert a new module.
Step3: Copy the below VBA code for the custom function and paste it into the new module. Save the VBA module by clicking File > Save or by pressing Ctrl + S.
Function MyVLOOKUP_Excelhow(rng As Range, lookup_value As Variant, column_index As Integer, exact_match As Boolean) As Variant
Dim lookup_range As Range
Dim result As Variant
Set lookup_range = rng
lookup_value = Application.WorksheetFunction.Min(lookup_range.Columns(1))
result = Application.WorksheetFunction.VLookup(lookup_value, lookup_range, column_index, exact_match)
MyVLOOKUP_Excelhow = result
End Function
Step4: In your Excel worksheet, enter a formula using the custom function just like you would any other built-in Excel function. Enter the following formula in Cell E2:
=MyVLOOKUP_Excelhow(B2:C6,0,2,FALSE)
Note: you should enter 0 as the second argument because the lookup_value argument is being set inside the function.
Step5: Press Enter to calculate the result of the formula using the custom function.
3. Look Up the Lowest Value by INDEX/MATCH Functions
In above example, if we want to know the name of the lowest score, VLOOKUP function doesn’t work. So we use INDEX and MATCH functions combination to look up the lowest value here.
Step1: In B2, enter the formula:
=INDEX(A2:A6,MATCH(MIN(B2:B6),B2:B6,0))
MATCH function returns the location of cell, in this example it returns the lowest value’s row number. Then we can use INDEX function to get proper Name from A2:A6 refer to row number.
Step2: Click Enter to get returned value.
Comment:
a. If there are two duplicate lowest values, INDEX/MATCH functions will look up the first match value and return its adjacent value.
b. This method works well for that returned value lists on the both sides of match value.
4. Video: Look Up the Lowest Value in A List
This video will demonstrate how to use the VLOOKUP function and VBA code to look up the lowest value in a list in Excel.
5. Related Functions
- Excel INDEX function
The Excel INDEX function returns a value from a table based on the index (row number and column number)The INDEX function is a build-in function in Microsoft Excel and it is categorized as a Lookup and Reference Function.The syntax of the INDEX function is as below:= INDEX (array, row_num,[column_num])… - Excel MAX function
The Excel MAX function returns the largest numeric value from the numbers that you provided. Or returns the largest value in the array.= MAX(num1,[num2,…numn])… - Excel MIN function
The Excel MIN function returns the smallest numeric value from the numbers that you provided. Or returns the smallest value in the array.The MIN function is a build-in function in Microsoft Excel and it is categorized as a Statistical Function.The syntax of the MIN function is as below:= MIN(num1,[num2,…numn])…. - Excel VLOOKUP function
The Excel VLOOKUP function lookup a value in the first column of the table and return the value in the same row based on index_num position.The syntax of the VLOOKUP function is as below:= VLOOKUP (lookup_value, table_array, column_index_num,[range_lookup])…. - Excel MATCH function
The Excel MATCH function search a value in an array and returns the position of that item.The MATCH function is a build-in function in Microsoft Excel and it is categorized as a Lookup and Reference Function.The syntax of the MATCH function is as below:= MATCH (lookup_value, lookup_array, [match_type])….