
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“.