Su VLOOKUP visada gauname pirmąsias rungtynes. Tas pats atsitinka su funkcija INDEX MATCH. Taigi, kaip mes VLOOKUP antrąsias rungtynes ar trečias ar n -tas? Šiame straipsnyje mes sužinosime, kaip gauti N -tą reikšmės atsiradimą diapazone.
Bendra formulė
{= SMALL (IF (diapazonas = vertė, ROW (diapazonas) -ROW (first_cell_in_range)+1),n)}
Pastaba: tai yra masyvo formulė. Turite jį įvesti naudodami CTRL + SHIFT + ENTER.
Diapazonas: diapazoną, kuriame norite ieškoti nth pozicija vertės.
Vertė: kurios vertės ieškote npozicijądiapazonas.
First_cell_in_range: pirmoji ląstelėdiapazonas. Jei diapazonas yra A2: A10, tada pirmasis diapazono langelis yra A2.
n: į atsiradimas skaičius vertybes.
Pažiūrėkime pavyzdį, kad viskas būtų aišku.
Pavyzdys: raskite antrąją atitikmenį „Excel“
Taigi čia turiu šį pavadinimų sąrašą „Excel“ diapazone A2: A10. Aš pavadinau šį diapazoną kaip vardus. Dabar noriu gauti antrojo „Rony“ įvykio poziciją vardus.
Aukščiau esančiame paveikslėlyje matome, kad jis yra 7 pozicijoje diapazone A2: A10 (vardai). Dabar turime gauti savo poziciją naudodami „Excel“ formulę.
Taikykite aukščiau pateiktą bendrąją formulę C2, kad surastumėte antrąjį Rony atvejį sąraše.
{= SMALL (IF (vardai = „Ronis“ , ROW (vardus) -ROW (A2)+1),2)}
Įveskite jį paspausdami CTRL + SHIFT + ENTER…
Ir mes turime atsakymą. Tai rodo 7, tai yra teisinga. Jei pakeisite n reikšmę į 3, gausite 8. Jei pakeisite n reikšmę, didesnę už reikšmės atsiradimą diapazone, ji grąžins #NUM klaidą.
Kaip tai veikia?
Na, tai gana lengva. Pažiūrėkime kiekvieną dalį po vieną.
IF (vardai = „Ronis“ , ROW (vardus) -ROW (A2)+1) :
Jei IF, pavadinimai = „Rony“ grąžina TIESIOS ir NETIESIOS masyvą. TRUE, kai diapazono langelis vardai (A2: A10) atitinka „Rony“. {TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; FALSE}.
Kita eilutė (vardus) -ROW (A2)+1:
ROW (vardus): čia funkcija ROW grąžina kiekvieno langelio eilutės numerį pavadinimuose. {2; 3; 4; 5; 6; 7; 8; 9; 10}.
ROW (vardus) -ROW (A2)Tada iš kiekvienos pateiktos masyvo vertės atimame A2 eilutės numerį. Taip gauname serijos skaičių masyvą, pradedant nuo 0. {0; 1; 2; 3; 4; 5; 6; 7; 8}.
ROW (vardus) -ROW (A2)+1: Norėdami gauti serijos numerius nuo 1, prie kiekvienos šio masyvo vertės pridedame 1. Tai suteikia mums serijos numerį, pradedant nuo 1. {1; 2; 3; 4; 5; 6; 7; 8; 9}.
Dabar turime IF ({TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7; 8; 9}). Taip išsprendžiama: {1; FALSE; FALSE; FALSE; FALSE; FALSE; 7; 8; FALSE}.
Dabar formulė išspręsta kaip SMALL ({1; FALSE; FALSE; FALSE; FALSE; FALSE;7;8; FALSE},2). Dabar SMALL grąžina antrą mažiausią diapazono vertę, kuri yra 7.
Kaip mes jį naudojame?
Kyla klausimas: kokia nauda gaunant neapdorotą n -osios rungtynės indeksą? Būtų naudingiau, jei susijusią informaciją gautumėte iš n -tosios vertės. Na, tai taip pat galima padaryti. Jei norime gauti vertę iš gretimos ląstelės n -osios atitikties diapazone vertės vardus (A2: A10).
{= INDEKSAS (B2: B10, SMALL (IF (vardai = „Ronis“ , ROW (vardus) -ROW (A2)+1),2))}
Taigi taip, vaikinai, šitaip galite gauti n -ąją rungtį. Tikiuosi, kad buvau pakankamai aiškinantis. Jei turite abejonių dėl šio straipsnio ar kitos su „Excel“/VBA susijusios temos, rašykite žemiau esančiame komentarų skyriuje.
Kaip gauti nuoseklų eilutės numerį „Excel“
„Vlookup“ 5 populiariausios vertės su pasikartojančiomis vertėmis naudojant „INDEX-MATCH“ programoje „Excel“
VLOOKUP Kelios vertės
Norėdami ieškoti vertės, naudokite INDEX ir MATCH
Paieškos vertė su keliais kriterijais
Populiarūs straipsniai:
„VLOOKUP“ funkcija „Excel“
COUNTIF „Excel 2016“
Kaip naudoti „SUMIF“ funkciją „Excel“