Vzorec aplikace Excel: První shoda mezi dvěma rozsahy -

Obsah

Obecný vzorec

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

souhrn

Chcete-li načíst první shodu ve dvou rozmezích hodnot, můžete použít vzorec založený na funkcích INDEX, MATCH a COUNTIF. V zobrazeném příkladu je vzorec v G5:

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

kde „range1“ je pojmenovaný rozsah B5: B8, „range2“ je pojmenovaný rozsah D5: D7.

Vysvětlení

V tomto příkladu pojmenovaný rozsah „range1“ odkazuje na buňky B5: B8 a pojmenovaný rozsah „range2“ odkazuje na D5: D7. Pojmenované rozsahy používáme pouze pro pohodlí a čitelnost; vzorec funguje dobře i s běžnými odkazy na buňky.

Jádro tohoto vzorce je INDEX a MATCH. Funkce INDEX načte hodnotu z range2, která představuje první hodnotu v range2, která se nachází v range1. Funkce INDEX vyžaduje index (číslo řádku) a tuto hodnotu generujeme pomocí funkce MATCH, která je nastavena tak, aby odpovídala hodnotě TRUE v této části vzorce:

MATCH(TRUE,COUNTIF(range1,range2)>0,0)

Tady je hodnota shody TRUE a vyhledávací pole je vytvořeno pomocí COUNTIF zde:

COUNTIF(range1,range2)>0

Funkce COUNTIF vrátí počet hodnot rozsahu2, které se zobrazí v rozsahu1. Protože range2 obsahuje více hodnot, COUNTIF vrátí několik výsledků, které vypadají takto:

(0;0;1)

„> 0“ používáme k vynucení všech výsledků na hodnotu PRAVDA nebo NEPRAVDA:

(FALSE;FALSE;TRUE)

Pak MATCH udělá svoji věc a vrátí pozici prvního PRAVDA (pokud existuje), které se objeví, v tomto případě číslo 3.

Nakonec INDEX vrací hodnotu na této pozici „červenou“.

Zajímavé články...