
souhrn
Chcete-li vyhledat a přiblížit shodu na základě více než jednoho kritéria, můžete použít maticový vzorec založený na INDEXU a MATCH s pomocí funkce IF. V zobrazeném příkladu je vzorec v G8:
(=INDEX(D5:D10,MATCH(G7,IF(B5:B10=G6,C5:C10),1)))
Cílem tohoto vzorce je vrátit „velikost“, když je dané zvíře a váha.
Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter
Vysvětlení
Jádrem je pouze vzorec INDEX / MATCH. Problém v tomto případě spočívá v tom, že potřebujeme „vytěsnit“ cizí záznamy v tabulce, takže nám zůstanou pouze záznamy, které odpovídají zvířeti, které hledáme.
To se provádí jednoduchou funkcí IF zde:
IF(B5:B10=G6,C5:C10)
Tento úryvek testuje hodnoty v B5: B10, aby zjistil, zda se shodují s hodnotou v G6 (zvíře). Pokud existuje shoda, jsou vráceny odpovídající hodnoty v C5: C11. Pokud není shoda, vrátí se FALSE. Když G6 obsahuje „cat“, výsledné pole vypadá takto:
(NEPRAVDA; NEPRAVDA; NEPRAVDA; 5; 10; 15)
To jde do funkce MATCH jako pole. Vyhledávací hodnota pro shodu pochází z G7, který obsahuje váhu (v příkladu 9 liber).
Všimněte si, že shoda je nakonfigurována pro přibližnou shodu nastavením match_type na 1, což vyžaduje, aby byly hodnoty v C5: C11 tříděny.
MATCH vrací pozici váhy v poli a toto je předáno funkci INDEX jako číslo řádku. Lookup_array pro INDEX jsou velikosti v D5: D10, takže INDEX vrací velikost odpovídající pozici generované MATCH (číslo 4 v ukázkovém příkladu).