Excel-formel: Få det nte match -

Indholdsfortegnelse

Generisk formel

=SMALL(IF(logical,ROW(list)-MIN(ROW(list))+1),n)

Resumé

For at få placeringen af ​​det nte match (for eksempel den 2. matchende værdi, den 3. matching-værdi osv.) Kan du bruge en formel baseret på SMALL-funktionen. I det viste eksempel er formlen i G5:

=SMALL(IF(list=E5,ROW(list)-MIN(ROW(list))+1),F5)

Denne formel returnerer positionen for den anden forekomst af "rødt" på listen.

Bemærk: dette er en matrixformel og skal indtastes med kontrol + skift + enter.

Forklaring

Denne formel bruger det navngivne interval "liste", som er området B5: B11.

Kernen i denne formel er SMALL-funktionen, som simpelthen returnerer den n-mindste værdi i en liste over værdier, der svarer til rækkenumre. Rækketallene er "filtreret" af IF-sætningen, som anvender logikken til et match. Arbejder indefra og ud, sammenligner IF alle værdier i det navngivne interval "liste" med værdien i B5, hvilket skaber en matrix som denne:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE)

"Værdien hvis sand" er et sæt relative rækkenumre oprettet af denne kode:

ROW(list)-MIN(ROW(list))+1

Resultatet er en matrix som denne:

(1;2;3;4;5;6;7)

Se denne side for en fuldstændig forklaring.

Med en logisk test, der returnerer en række resultater, fungerer IF-funktionen som et filter - kun række numre, der svarer til en match, overlever, resten returnerer FALSE. Resultatet, der returneres af IF, ser sådan ud:

(1;FALSE;FALSE;FALSE;5;FALSE;7)

Tallene 1, 5 og 7 svarer til placeringen af ​​"rødt" på listen.

Endelig returnerer SMALL det niende mindste element på denne liste og ignorerer FALSE-værdier. I eksemplet indeholder F5 2, så SMALL returnerer den 2. mindste værdi: 5.

Få tilknyttet værdi

Når du har den relative position for det nte match, kan du bruge denne position med INDEX-funktionen til at returnere en tilknyttet værdi.

Interessante artikler...