
Všeobecný vzorec
=INDEX(data,MATCH(lookup,ids,0),2)
Zhrnutie
Ak chcete spojiť alebo zlúčiť tabuľky, ktoré majú spoločné ID, môžete použiť funkcie INDEX a MATCH. V zobrazenom príklade je vzorec v E5:
=INDEX(data,MATCH($C5,ids,0),2)
kde „data“ je pomenovaný rozsah H5: J8 a „ids“ je pomenovaný rozsah H5: H8.
Vysvetlenie
Tento vzorec stiahne meno a stav zákazníka z tabuľky zákazníka do tabuľky objednávok. Funkcia MATCH sa používa na vyhľadanie správneho zákazníka a funkcia INDEX na získanie údajov.
Načítava sa meno zákazníka
Pri práci zvnútra von sa funkcia MATCH používa na získanie čísla riadku, ako je tento:
MATCH($C5,ids,0)
- Vyhľadávacia hodnota pochádza z ID zákazníka v C5, čo je zmiešaná referencia, so zamknutým stĺpcom, takže vzorec je možné ľahko kopírovať.
- Vyhľadávacím poľom sú pomenované identifikátory rozsahu (H5: H8), prvý stĺpec v tabuľke zákazníkov.
- Typ zhody je nastavený na nulu, aby sa vynútila presná zhoda.
Funkcia MATCH vráti v tomto prípade hodnotu 2, ktorá prejde do INDEXU ako číslo riadku:
=INDEX(data,2,2)
S číslom stĺpca pevne zakódovaným ako 2 (mená zákazníkov sú v stĺpci 2) a poľom nastaveným na pomenovaný rozsah „data“ (H5: J8) vráti INDEX: Amy Chang.
Načítava sa stav zákazníka
Vzorec na získanie stavu zákazníka je takmer totožný. Jediný rozdiel je v tom, že číslo stĺpca je pevne zakódované ako 3, pretože informácie o stave sa zobrazujú v 3. stĺpci:
=INDEX(data,MATCH($C5,ids,0),2) // get name =INDEX(data,MATCH($C5,ids,0),3) // get state
Dynamická obojsmerná zhoda
Pridaním ďalšej funkcie MATCH do vzorca môžete nastaviť dynamickú obojsmernú zhodu. Napríklad s pomenovaným rozsahom „hlavičky“ pre H4: J4 môžete použiť nasledujúci vzorec:
=INDEX(data,MATCH($C5,ids,0),MATCH(E$4,headers,0))
Tu bola pridaná druhá funkcia MATCH, aby sa získalo správne číslo stĺpca. MATCH použije hlavičku aktuálneho stĺpca v prvej tabuľke na nájdenie správneho čísla stĺpca v druhej tabuľke a toto číslo automaticky vráti späť na INDEX.