![](https://cdn.wiki-base.com/9854438/excel_formula_get_nth_match__2.png.webp)
Generička formula
=SMALL(IF(logical,ROW(list)-MIN(ROW(list))+1),n)
Sažetak
Da biste dobili položaj n-tog podudaranja (na primjer, 2. podudarna vrijednost, 3. podudarna vrijednost itd.), Možete upotrijebiti formulu koja se temelji na SMALL funkciji. U prikazanom primjeru formula u G5 je:
=SMALL(IF(list=E5,ROW(list)-MIN(ROW(list))+1),F5)
Ova formula vraća položaj drugog pojavljivanja "crvene" na popisu.
Napomena: ovo je formula niza i mora se unijeti sa control + shift + enter.
Obrazloženje
Ova formula koristi imenovani raspon "popis" koji je raspon B5: B11.
Jezgra ove formule je funkcija SMALL, koja jednostavno vraća n-tu najmanju vrijednost na popisu vrijednosti koje odgovaraju brojevima redaka. Brojevi redaka su "filtrirani" izrazom IF, koji primjenjuje logiku za podudaranje. Radeći iznutra prema van, IF uspoređuje sve vrijednosti u imenovanom rasponu "popis" s vrijednošću u B5, što stvara niz poput ovog:
(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE)
"Vrijednost ako je istinito" skup je relativnih brojeva redaka stvorenih ovim kodom:
ROW(list)-MIN(ROW(list))+1
Rezultat je niz poput ovog:
(1;2;3;4;5;6;7)
Pogledajte ovu stranicu za cjelovito objašnjenje.
S logičkim testom koji vraća niz rezultata, funkcija IF djeluje kao filtar - opstaju samo brojevi redaka koji odgovaraju podudaranju, a ostali vraćaju FALSE. Rezultat koji je vratio IF izgleda ovako:
(1;FALSE;FALSE;FALSE;5;FALSE;7)
Brojevi 1, 5 i 7 odgovaraju mjestu "crvene" na popisu.
Napokon, SMALL vraća n-tu najmanju stavku s ovog popisa, zanemarujući FALSE vrijednosti. U primjeru, F5 sadrži 2, pa SMALL vraća 2. najmanju vrijednost: 5.
Dobijte pridruženu vrijednost
Jednom kada imate relativni položaj n-tog podudaranja, možete ga koristiti s funkcijom INDEX za vraćanje pridružene vrijednosti.