
Generisk formel
=SMALL(IF(logical,ROW(list)-MIN(ROW(list))+1),n)
Sammendrag
For å få posisjonen til den nte matchen (for eksempel den andre matchingverdien, den tredje matchingverdien osv.), Kan du bruke en formel basert på SMALL-funksjonen. I eksemplet vist er formelen i G5:
=SMALL(IF(list=E5,ROW(list)-MIN(ROW(list))+1),F5)
Denne formelen returnerer posisjonen til den andre forekomsten av "rødt" i listen.
Merk: dette er en matriseformel og må angis med kontroll + skift + enter.
Forklaring
Denne formelen bruker det nevnte området "liste" som er området B5: B11.
Kjernen i denne formelen er SMALL-funksjonen, som ganske enkelt returnerer den niende minste verdien i en liste over verdier som tilsvarer radnumre. Radnumrene er "filtrert" av IF-setningen, som bruker logikken for en kamp. Arbeider fra innsiden og ut, sammenligner IF alle verdiene i det navngitte området "liste" med verdien i B5, som skaper en matrise som dette:
(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE)
"Verdien hvis sant" er et sett med relative radnumre opprettet av denne koden:
ROW(list)-MIN(ROW(list))+1
Resultatet er en matrise som dette:
(1;2;3;4;5;6;7)
Se denne siden for en fullstendig forklaring.
Med en logisk test som returnerer en rekke resultater, fungerer IF-funksjonen som et filter - bare radnumre som tilsvarer en kamp, overlever, resten returnerer FALSE. Resultatet returnert av IF ser slik ut:
(1;FALSE;FALSE;FALSE;5;FALSE;7)
Tallene 1, 5 og 7 tilsvarer plasseringen av "rødt" i listen.
Til slutt returnerer SMALL det niende minste elementet i denne listen, og ignorerer FALSE verdier. I eksemplet inneholder F5 2, så SMALL returnerer den andre minste verdien: 5.
Få tilknyttet verdi
Når du har den relative posisjonen til den nte kampen, kan du bruke den posisjonen med INDEX-funksjonen for å returnere en tilknyttet verdi.