Excel vzorec: Získajte n-té zhodu -

Obsah

Všeobecný vzorec

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

Zhrnutie

Ak chcete získať pozíciu n-tej zhody (napríklad 2. zhodná hodnota, 3. zhodná hodnota atď.), Môžete použiť vzorec založený na funkcii MALÉ. V zobrazenom príklade je vzorec v G5:

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

Tento vzorec vráti pozíciu druhého výskytu „červenej“ v zozname.

Poznámka: toto je vzorec poľa a musí sa zadávať pomocou klávesov Control + Shift + Enter.

Vysvetlenie

Tento vzorec používa pomenovaný rozsah „zoznam“, ktorý je rozsahom B5: B11.

Jadrom tohto vzorca je funkcia SMALL, ktorá jednoducho vráti n-tú najmenšiu hodnotu v zozname hodnôt, ktoré zodpovedajú číslam riadkov. Čísla riadkov boli „filtrované“ príkazom IF, ktorý aplikuje logiku na zhodu. Pri práci zvnútra von IF porovnáva všetky hodnoty v pomenovanom rozsahu „list“ s hodnotou v B5, čím sa vytvára pole ako je toto:

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

„Hodnota, ak je to pravda, je sada relatívnych čísel riadkov vytvorených týmto kódom:

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

Výsledkom je pole ako je toto:

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

Na tejto stránke nájdete úplné vysvetlenie.

Pri logickom teste, ktorý vráti pole výsledkov, funguje funkcia IF ako filter - prežijú iba čísla riadkov, ktoré zodpovedajú zhode, zvyšok vráti hodnotu FALSE. Výsledok vrátený IF vyzerá takto:

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

Čísla 1, 5 a 7 zodpovedajú umiestneniu „červenej“ v zozname.

Nakoniec funkcia SMALL vráti n-tú najmenšiu položku v tomto zozname a ignoruje FALSE hodnoty. V príklade F5 obsahuje 2, takže funkcia SMALL vráti druhú najmenšiu hodnotu: 5.

Získajte súvisiacu hodnotu

Keď získate relatívnu pozíciu n-tej zhody, môžete ju pomocou funkcie INDEX vrátiť príslušnú hodnotu.

Zaujímavé články...