How to lookup value return multiple corresponding values in Excel?
This tutorial is talking about looking up a value return multiple corresponding values in Excel as shown as below screenshots:
Lookup value return multiple corresponding values with array formula
Lookup value return multiple corresponding values with Filter
Lookup value return multiple corresponding values with Defined Function
Lookup value return multiple corresponding values with array formula
Here is a long array formula can give a hand in looking up a value and return multiple corresponding values.
1. Enter the value you want to look up in a blank cell. See screenshot:
2. In the adjacent cell, type this formula =IF(ISERROR(INDEX($A$1:$B$7,SMALL(IF($A$1:$A$7=$D$4,ROW($A$1:$A$7)),ROW(1:1)),2)),"",
INDEX($A$1:$B$7,SMALL(IF($A$1:$A$7=$D$4,ROW($A$1:$A$7)),ROW(1:1)),2)) into it, and press Shift + Ctrl + Enter keys together, then drag the Auto Fill to fill down the cells until the first blank cell comes out. See screenshot:
Note: In the above formula, $A$1:$B$7 indicates the range data, $A$1:$A$7 stands for the column range which your lookup the certain value in, $D$4 indicates the cell you type look-up value in step 1, 2 indicates finding the corresponding values in second column.
Lookup value return multiple corresponding values with Filter
In Excel, you also can use Filter feature to solve this problem.
1. Select the column range you want to look up value, and click Data > Filter. See screenshot:
2. Then click the arrow button in the first cell of you selected range, and check the value you want to look up only in the drop-down list. See screenshot:
3. Click OK, now you see only the look-up value and its corresponding values are filtered out.
Lookup value return multiple corresponding values with Defined Function
If you are interested in Defined Function, you can solve the problem with Defined Function, too.
1. Press Alt + F11 keys to open the Microsoft Visual Basic For Applications window.
2. Click Module > Insert to insert a Module window, and copy the below VBA into the window.
VBA: Lookup value return multiple corresponding values.
Function MyVlookup(pWorkRng As Range, pRng As Range, pColumnIndex As Integer, Optional pType As String = "v")
'Updateby20140827
Dim xRow As Single
Dim xCol As Single
Dim arr() As Variant
ReDim arr(0)
For i = 1 To pRng.Rows.Count
If pWorkRng = pRng.Cells(i, 1) Then
arr(UBound(arr)) = pRng.Cells(i, pColumnIndex)
ReDim Preserve arr(UBound(arr) + 1)
End If
Next
If pType = "h" Then
xCol = Range(Application.Caller.Address).Columns.Count
For i = UBound(arr) To xCol
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = arr
Else
xRow = Range(Application.Caller.Address).Rows.Count
For i = UBound(arr) To xRow
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = Application.WorksheetFunction.Transpose(arr)
End If
End Function
3. Close the window, and type this formula into a cell =MyVlookup(A10,$A$2:$B$7,2) ( A10 indicates lookup value, $A$2:$B$7 indicates the data range, 2 indicates the column index number). And press Shift + Ctrl + Enter keys. Then drag the fill handle down the cells, put the cursor into the Formula Bar, and press Shift + Ctrl + Enter again.
Tip: If you want to return the values in horizontal cells, you can type this formula =MyVlookup(A10, $A$2:$B$7, 2, "h").
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
