
Generisk formel
=INDEX(data,MATCH(lookup,ids,0),2)
Sammanfattning
För att gå med eller slå samman tabeller som har ett gemensamt id kan du använda funktionerna INDEX och MATCH. I exemplet som visas är formeln i E5:
=INDEX(data,MATCH($C5,ids,0),2)
där "data" är det namngivna området H5: J8 och "ids" är det namngivna området H5: H8.
Förklaring
Denna formel drar kundnamn och status från kundtabellen till ordertabellen. MATCH-funktionen används för att hitta rätt kund och INDEX-funktionen används för att hämta data.
Hämtar kundnamn
Arbetar inifrån och ut, MATCH-funktionen används för att få ett radnummer så här:
MATCH($C5,ids,0)
- Uppslagsvärdet kommer kund-id i C5, som är en blandad referens, med kolumnen låst så att formeln enkelt kan kopieras.
- Uppslagsmatrisen är namngivna intervall-id (H5: H8), den första kolumnen i kundtabellen.
- Matchningstypen är inställd på noll för att tvinga en exakt matchning.
MATCH-funktionen returnerar 2 i detta fall, som går till INDEX som radnummer:
=INDEX(data,2,2)
Med kolumnnumret hårdkodat som 2 (kundnamn finns i kolumn 2) och matrisen inställd på det angivna intervallet "data" (H5: J8) returnerar INDEX: Amy Chang.
Hämtar kundstatus
Formeln för att hämta kundstatus är nästan identisk. Den enda skillnaden är att kolumnnumret är hårdkodat som 3, eftersom tillståndsinformation visas i den tredje kolumnen:
=INDEX(data,MATCH($C5,ids,0),2) // get name =INDEX(data,MATCH($C5,ids,0),3) // get state
Dynamisk tvåvägsmatch
Genom att lägga till ytterligare en MATCH-funktion i formeln kan du ställa in en dynamisk tvåvägsmatchning. Till exempel, med det namngivna intervallet "headers" för H4: J4, kan du använda en sådan formel:
=INDEX(data,MATCH($C5,ids,0),MATCH(E$4,headers,0))
Här har en andra MATCH-funktion lagts till för att få rätt kolumnnummer. MATCH använder den aktuella kolumnrubriken i den första tabellen för att hitta rätt kolumnnummer i den andra tabellen och returnerar detta nummer automatiskt till INDEX.