Excela

Alăturați-vă tabelelor cu INDEX și MATCH

Join Tables With Index

Formula Excel: Alăturați tabelele cu INDEX și MATCHFormula generică
= INDEX (data, MATCH (lookup,ids,0),2)
rezumat

Pentru a alătura sau îmbina tabele care au un id comun, puteți utiliza funcțiile INDEX și MATCH. În exemplul prezentat, formula din E5 este:





 
= INDEX (data, MATCH ($C5,ids,0),2)

unde „date” este gama denumită H5: J8 și „id-uri” este intervalul numit H5: H8.

Explicaţie

Această formulă extrage numele și starea clientului din tabelul clientului în tabelul comenzilor. Funcția MATCH este utilizată pentru a localiza clientul potrivit, iar funcția INDEX este utilizată pentru recuperarea datelor.





Se preia numele clientului

Funcționând din interior spre exterior, funcția MATCH este utilizată pentru a obține un număr de rând ca acesta:

cum se intră într-o celulă în Excel
 
 MATCH ($C5,ids,0)
  • Valoarea de căutare vine cu ID-ul clientului în C5, care este o referință mixtă, cu coloana blocată, astfel încât formula să poată fi copiată cu ușurință.
  • Matricea de căutare este ID-ul intervalului numit (H5: H8), prima coloană din tabelul clientului.
  • Tipul de potrivire este setat la zero pentru a forța o potrivire exactă.

Funcția MATCH returnează 2 în acest caz, care intră în INDEX ca număr de rând:



 
= INDEX (data,2,2)

Cu numărul de coloană codificat ca 2 (numele clienților sunt în coloana 2) și matricea setată la intervalul numit „date” (H5: J8) INDEX returnează: Amy Chang.

Preluarea stării clientului

Formula de recuperare a stării clientului este aproape identică. Singura diferență este că numărul coloanei este codificat cu 3, deoarece informațiile despre stare apar în coloana a 3-a:

 
= INDEX (data, MATCH ($C5,ids,0),2) // get name = INDEX (data, MATCH ($C5,ids,0),3) // get state

Meci dinamic în ambele sensuri

Adăugând o altă funcție MATCH la formulă, puteți configura o potrivire dinamică în două direcții. De exemplu, cu intervalul numit „anteturi” pentru H4: J4, puteți utiliza o formulă de genul acesta:

 
= INDEX (data, MATCH ($C5,ids,0), MATCH (E,headers,0))

Aici, a fost adăugată o a doua funcție MATCH pentru a obține numărul corect de coloană. MATCH folosește antetul coloanei curente din primul tabel pentru a localiza numărul corect al coloanei în al doilea tabel și returnează automat acest număr la INDEX.

Autor Dave Bruns


^