
Obecný vzorec
=INDEX(data,MATCH(lookup,ids,0),2)
souhrn
Chcete-li se připojit nebo sloučit tabulky, které mají společné ID, můžete použít funkce INDEX a MATCH. V zobrazeném příkladu je vzorec v E5:
=INDEX(data,MATCH($C5,ids,0),2)
kde „data“ je pojmenovaný rozsah H5: J8 a „ids“ je pojmenovaný rozsah H5: H8.
Vysvětlení
Tento vzorec vytáhne jméno a stav zákazníka z tabulky zákazníků do tabulky objednávek. Funkce MATCH se používá k vyhledání správného zákazníka a funkce INDEX se používá k načtení dat.
Načítání jména zákazníka
Při práci zevnitř ven se funkce MATCH používá k získání čísla řádku takto:
MATCH($C5,ids,0)
- Vyhledávací hodnota přichází s ID zákazníka v C5, což je smíšená reference, s uzamčeným sloupcem, takže vzorec lze snadno kopírovat.
- Vyhledávací pole je pojmenované ID rozsahu (H5: H8), první sloupec v tabulce zákazníků.
- Typ shody je nastaven na nulu, aby vynutil přesnou shodu.
Funkce MATCH v tomto případě vrátí hodnotu 2, která přejde do INDEXU jako číslo řádku:
=INDEX(data,2,2)
S číslem sloupce pevně zakódovaným jako 2 (jména zákazníků jsou ve sloupci 2) a maticí nastavenou na pojmenovaný rozsah „data“ (H5: J8) vrátí INDEX: Amy Chang.
Načítání stavu zákazníka
Vzorec pro načtení stavu zákazníka je téměř totožný. Jediný rozdíl je v tom, že číslo sloupce je pevně zakódováno jako 3, protože informace o stavu se objeví ve 3. sloupci:
=INDEX(data,MATCH($C5,ids,0),2) // get name =INDEX(data,MATCH($C5,ids,0),3) // get state
Dynamická oboustranná shoda
Přidáním další funkce MATCH do vzorce můžete nastavit dynamickou obousměrnou shodu. Například s pojmenovaným rozsahem „záhlaví“ pro H4: J4 můžete použít vzorec takto:
=INDEX(data,MATCH($C5,ids,0),MATCH(E$4,headers,0))
Zde byla přidána druhá funkce MATCH, aby se získalo správné číslo sloupce. MATCH používá záhlaví aktuálního sloupce v první tabulce k vyhledání správného čísla sloupce ve druhé tabulce a automaticky vrátí toto číslo na INDEX.