Hvordan opslagsværdi returnerer flere tilsvarende værdier i Excel?
Denne vejledning taler om at slå en værdi tilbage flere tilsvarende værdier i Excel som vist som nedenfor skærmbilleder:
Opslagsværdi returnerer flere tilsvarende værdier med matrixformel
Opslagsværdi returnerer flere tilsvarende værdier med Filter
Opslagsværdi returnerer flere tilsvarende værdier med Defined Function
Opslagsværdi returnerer flere tilsvarende værdier med matrixformel
Her er en lang formelformel, der kan give en hånd i at slå op på en værdi og returnere flere tilsvarende værdier.
1. Indtast den værdi, du vil slå op i en tom celle. Se skærmbillede:
2. Skriv denne formel i den tilstødende celle =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)) ind i det, og tryk på Skift + Ctrl + Enter tasterne sammen, og træk derefter Automatisk udfyldning at udfylde cellerne, indtil den første tomme celle kommer ud. Se skærmbillede:
Bemærk: I ovenstående formel angiver $ A $ 1: $ B $ 7 områdedataene, $ A $ 1: $ A $ 7 står for kolonneområdet, hvor dit opslag den bestemte værdi i, $ D $ 4 angiver den celle, du skriver opslag værdi i trin 1, 2 angiver at finde de tilsvarende værdier i anden kolonne.
Opslagsværdi returnerer flere tilsvarende værdier med Filter
I Excel kan du også bruge filterfunktionen til at løse dette problem.
1. Vælg det kolonneområde, du vil slå op på værdien, og klik på data > filtre. Se skærmbillede:
2. Klik derefter på pileknappen i den første celle i det valgte område, og kontroller kun den værdi, du vil slå op i rullelisten. Se skærmbillede:
3. klik OK, nu ser du kun opslagsværdien og dens tilsvarende værdier er filtreret ud.
Opslagsværdi returnerer flere tilsvarende værdier med Defined Function
Hvis du er interesseret i Defined Function, kan du også løse problemet med Defined Function.
1. Trykke Alt + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. klik Moduler > indsatte at indsætte en Moduler vindue, og kopier nedenstående VBA til vinduet.
VBA: Opslagsværdi returnerer flere tilsvarende værdier.
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. Luk vinduet, og skriv denne formel i en celle = MyVlookup (A10, $ A $ 2: $ B $ 7,2) (A10 angiver opslagsværdi, $ A $ 2: $ B $ 7 angiver dataområdet, 2 angiver kolonneindeksnummeret). Og tryk Skift + Ctrl + Enter nøgler. Træk derefter fyldhåndtaget ned i cellerne, sæt markøren i Formel Bar, og tryk på Skift + Ctrl + Enter igen.
Tip: Hvis du vil returnere værdierne i vandrette celler, kan du skrive denne formel = MyVlookup (A10, $ A $ 2: $ B $ 7, 2, "h").
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!