Med VLOOKUP får vi altid den første kamp. Det samme sker med INDEX MATCH -funktionen. Så hvordan VLOOKUP anden kamp eller 3. eller nth? I denne artikel vil vi lære, hvordan man får den niende forekomst af en værdi i området.
Generisk formel
{= LILLE (HVIS (område = værdi,RÆKKE(rækkevidde)-RÆKKE(første_celle_in_range)+1),n)}
Bemærk: dette er en matrixformel. Du skal indtaste det med CTRL + SKIFT + ENTER.
Rækkevidde: det område, du vil slå op i nposition af værdi.
Værdi: værdien, du leder efter nposition irækkevidde.
First_cell_in_range: den første celle irækkevidde. Hvis området er A2: A10, er den første celle i området A2.
n: det Hændelse Antallet af værdier.
Lad os se et eksempel for at gøre tingene klare.
Eksempel: Find det andet match i Excel
Så her har jeg denne liste med navne i excel -område A2: A10. Jeg har navngivet denne serie som navne. Nu vil jeg få positionen for den anden forekomst af "Rony" i navne.
På billedet ovenfor kan vi se, at det er på 7. position i område A2: A10 (navne). Nu skal vi få sin position ved hjælp af en excel -formel.
Anvend ovenstående generiske formel i C2 for at slå den anden forekomst af Rony op på listen.
{= LILLE (HVIS (navne = "Rony" ,RÆKKE(navne)-RÆKKE(A2)+1),2)}
Indtast det med CTRL + SKIFT + ENTER …
Og vi har et svar. Det viser 7, hvilket er korrekt. Hvis du ændrer værdien på n til 3, vil det give 8. Hvis du ændrer værdien af n større end forekomsten af værdien i intervallet, returnerer det #NUM fejl.
Hvordan virker det?
Nå, det er ret let. Lad os se hver del en efter en.
HVIS(navne = "Rony" ,RÆKKE(navne)-RÆKKE(A2)+1) :
I IF returnerer names = “Rony” en matrix med SAND og FALSK. SAND, når en celle er inden for rækkevidde navne (A2: A10) matcher til "Rony". {TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; FALSE}.
Næste RÆKKE (navne)-RÆKKE(A2)+1:
RÆKKE(navne): her returnerer ROW -funktionen rækkenummeret for hver celle i navne. {2; 3; 4; 5; 6; 7; 8; 9; 10}.
RÆKKE(navne)-RÆKKE(A2)Derefter trækker vi rækkenummer af A2 fra hver værdi i det givne array. Dette giver os en række serienumre, der starter fra 0. {0; 1; 2; 3; 4; 5; 6; 7; 8}.
RÆKKE(navne)-RÆKKE(A2)+1: For at få serienumre fra 1 tilføjer vi 1 til hver værdi i dette array. Dette giver os serienummeret fra 1. {1; 2; 3; 4; 5; 6; 7; 8; 9}.
Nu har vi HVIS ({SAND; FALSK; FALSK; FALSK; FALSK; FALSK; SAND; FALSK}, {1; 2; 3; 4; 5; 6; 7; 8; 9}). Dette løser sig til {1; FALSK; FALSK; FALSK; FALSK; FALSK; 7; 8; FALSK}.
Nu har vi formlen løst til SMÅ ({1; FALSK; FALSK; FALSK; FALSK; FALSK;7;8;FALSK},2). Nu returnerer SMALL den næstmindste værdi i området, som er 7.
Hvordan bruger vi det?
Spørgsmålet kommer: hvad er fordelen ved at få et råindeks for den nte kamp? Det ville være mere nyttigt, hvis du kunne hente relaterede oplysninger fra nth -værdien. Nå, det kan også lade sig gøre. Hvis vi ønsker at få værdi fra den tilstødende celles værdi af nth match i området navne (A2: A10).
{= INDEX (B2: B10, SMALL (HVIS (navne = “Rony” ,RÆKKE(navne)-RÆKKE(A2)+1),2))}
Så ja fyre, sådan kan du få den nte kamp i et område. Jeg håber, jeg var forklarende nok. Hvis du er i tvivl om denne artikel eller et andet Excel/VBA -relateret emne, skal du skrive i kommentarfeltet herunder.
Sådan får du et sekventielt rækkenummer i Excel
Vlookup Top 5 værdier med dublerede værdier ved hjælp af INDEX-MATCH i Excel
VLOOKUP Flere værdier
Brug INDEX og MATCH til at slå op på værdi
Opslagsværdi med flere kriterier
Populære artikler:
VLOOKUP -funktionen i Excel
COUNTIF i Excel 2016
Sådan bruges SUMIF -funktionen i Excel