Efnisyfirlit
Kennslan sýnir nokkrar mismunandi formúlur til að framkvæma tvívíddar uppflettingu í Excel. Skoðaðu bara valkostina og veldu uppáhalds :)
Þegar þú leitar að einhverju í Excel töflureiknunum þínum myndirðu oftast fletta upp lóðrétt í dálkum eða lárétt í röðum. En stundum þarf að líta yfir bæði raðir og dálka. Með öðrum orðum, þú miðar að því að finna gildi á mótum ákveðinnar línu og dálks. Þetta er kallað fylkisuppfletting (aka tvívídd eða tvíhliða leit ), og þessi kennsla sýnir hvernig á að gera það á 4 mismunandi vegu.
Excel INDEX MATCH MATCH formúla
Vinsælasta leiðin til að gera tvíhliða uppflettingu í Excel er með því að nota INDEX MATCH MATCH. Þetta er afbrigði af klassísku INDEX MATCH formúlunni sem þú bætir við einni MATCH falli í viðbót til að fá bæði röð og dálknúmer:
INDEX ( data_array, MATCH ( vlookup_value, upplitsdálkasvið, 0), MATCH ( hleðslugildi, upplitsröð, 0))Sem dæmi skulum við búa til formúlu til að draga þýði af tilteknu dýri á tilteknu ári úr töflunni hér að neðan. Til að byrja með skilgreinum við öll rökin:
- Data_array - B2:E4 (gagnafrumur, án línu- og dálkahausa)
- Vlookup_value - H1 (markdýr)
- Upplitsdálkasvið - A2:A4 (línuhausar: dýranöfn) -A3:A4
- Hútlitsgildi - H2 (markár)
- Upplitsröð - B1:E1 (dálkahausar: ár)
Settu öll rökin saman og þú færð þessa formúlu fyrir tvíhliða uppflettingu:
=INDEX(B2:E4, MATCH(H1, A2:A4, 0), MATCH(H2, B1:E1, 0))
Hvernig þessi formúla virkar
Þó hún gæti litið svolítið út flókið við fyrstu sýn, rökfræði formúlunnar er mjög einföld og auðskilin. INDEX aðgerðin sækir gildi úr gagnafylki byggt á línu- og dálkanúmerum og tvær MATCH föll gefa þessar tölur:
INDEX(B2:E4, row_num, column_num)
Hér nýtum við getu MATCH(lookup_value, uppflettisfylki, [samsvörunargerð]) til að skila hlutfallslegri stöðu af uppflettingargildi í upplitsfylki .
Þannig að til að fá línunúmerið leitum við fyrir dýrið sem vekur áhuga (H1) yfir línuhausana (A2:A4):
MATCH(H1, A2:A4, 0)
Til að fá dálknúmerið leitum við að markárinu (H2) yfir dálkahausana (B1:E1):
MATCH(H2, B1:E1, 0)
Í báðum tilfellum leitum við að nákvæmri samsvörun með því að stilla 3. röksemdina á 0.
Í þessu dæmi skilar fyrsta MATCH 2 vegna þess að vlookup gildið okkar (Ísbjörn) er að finna í A3, sem er 2. reiturinn í A2:A4. Önnur MATCH skilar 3 vegna þess að hlookup gildið (2000) er að finna í D1, sem er 3. reitinn í B1:E1.
Í ljósi ofangreinds minnkar formúlan í:
INDEX(B2:E4, 2, 3)
Og skila gildi á skurðpunkti 2. línu og 3. dálks í gagnafylki B2:E4, sem ergildi í reitnum D3.
VLOOKUP og MATCH formúla fyrir tvíhliða uppflettingu
Önnur leið til að gera tvívíða uppflettingu í Excel er með því að nota blöndu af VLOOKUP og MATCH aðgerðum:
VLOOKUP( vlookup_value , table_array , MATCH( hllookup_value , lookup_row_range , 0), FALSE)Fyrir sýnishornstöfluna okkar , formúlan tekur á sig eftirfarandi lögun:
=VLOOKUP(H1, A2:E4, MATCH(H2, A1:E1, 0), FALSE)
Hvar:
- Table_array - A2:E4 (gagnafrumur að meðtöldum línuhausum)
- Vlookup_value - H1 (markdýr)
- Hlookup_value - H2 (markár)
- Lookup_row_range - A1:E1 (dálkahausar: ár)
Hvernig þessi formúla virkar
Kjarni formúlunnar er VLOOKUP fallið sem er stillt fyrir nákvæma samsvörun (síðasta rökin stillt á FALSE), sem leitar að uppflettigildinu (H1) í fyrsta dálki töflufylkisins (A2:E4) og skilar gildi úr öðrum dálki í sömu röð. Til að ákvarða hvaða dálk á að skila gildi úr, notarðu MATCH fallið sem er einnig stillt fyrir nákvæma samsvörun (síðasta frumbreytan stillt á 0):
MATCH(H2, A1:E1, 0)
MATCH leitar að gildinu í H2 yfir dálkahausana (A1:E1) og skilar hlutfallslegri staðsetningu reitsins sem fannst. Í okkar tilviki er markárið (2010) að finna í E1, sem er í 5. sæti í uppflettifylkingunni. Svo, talan 5 fer í col_index_num rökin í VLOOKUP:
VLOOKUP(H1, A2:E4, 5, FALSE)
VLOOKUP tekur það þaðan, finnurnákvæm samsvörun fyrir uppflettingargildi þess í A2 og skilar gildi úr 5. dálki í sömu röð, sem er reiturinn E2.
Mikilvægt athugið! Til þess að formúlan virki rétt verða töflufylki (A2:E4) í VLOOKUP og upplitsfylki í MATCH (A1:E1) að hafa sama fjölda dálka, annars er talan sem MATCH fer yfir til col_index_num verður rangt (mun ekki samsvara staðsetningu dálksins í table_array ).
XLOOKUP aðgerð til að skoða línur og dálka
Nýlega hefur Microsoft kynnt eina aðgerð í viðbót í Excel sem er ætlað að koma í stað allra núverandi uppflettingaraðgerða eins og VLOOKUP, HLOOKUP og INDEX MATCH. XLOOKUP getur meðal annars horft á skurðpunkt ákveðinnar línu og dálks:
XLOOKUP( vlookup_value , vlookup_column_range , XLOOKUP( hllookup_value , hlookup_row_range , data_array ))Fyrir sýnishornsgagnasettið okkar er formúlan svona:
=XLOOKUP(H1, A2:A4, XLOOKUP(H2, B1:E1, B2:E4))
Athugið. Eins og er er XLOOKUP beta aðgerð, sem er aðeins í boði fyrir Office 365 áskrifendur sem eru hluti af Office Insiders forritinu.
Hvernig þessi formúla virkar
Formúlan notar getu XLOOKUP til að skila heila röð eða dálk. Innri aðgerðin leitar að markárinu í hauslínunni og skilar öllum gildum fyrir það ár (í þessu dæmi, fyrir árið 1980). Þessi gildi fara í return_array rökin ytraXLOOKUP:
XLOOKUP(H1, A2:A4, {22000;25000;700}))
Ytra XLOOKUP aðgerðin leitar að markdýrinu yfir dálkahausana og skilar gildinu í sömu stöðu úr return_array.
SUMPRODUCT formúla fyrir tvo -leiða uppflettingu
SUMPRODUCT aðgerðin er eins og svissneskur hnífur í Excel – hún getur gert svo margt umfram tilgreindan tilgang, sérstaklega þegar kemur að því að meta mörg skilyrði.
Til að fletta upp tveimur viðmið, í línum og dálkum, notaðu þessa almennu formúlu:
SUMPRODUCT( vlookup_column_range = vlookup_value ) * ( hlookup_row_range = hllookup_value ), data_array )Til að framkvæma tvíhliða uppflettingu í gagnasafninu okkar, er formúlan sem hér segir:
=SUMPRODUCT((A2:A4=H1) * (B1:E1=H2), B2:E4)
Neðangreind setningafræði mun líka virka:
=SUMPRODUCT((A2:A4=H1) * (B1:E1=H2) * B2:E4)
Hvernig þessi formúla virkar
Í hjarta formúlunnar berum við saman tvö uppflettingargildi á móti línu- og dálkahausum (markdýrið í H1 á móti öllum dýrum nöfn í A2:A4 og markárið í H2 á móti öllum árum í B1:E1):
(A2:A4=H1) * (B1:E1=H2)
Þessi uppl. ults í 2 fylki af SÖNN og FALSK gildi, þar sem TRUE táknar samsvörun:
{FALSE;FALSE;TRUE} * {FALSE,TRUE,FALSE,FALSE}
Margföldunaraðgerðin þvingar TRUE og FALSE gildin í 1 og 0 og framleiðir tvívítt fylki 4 dálkar og 3 raðir (línur eru aðskildar með semíkommum og hver gagnadálkur með kommu):
{0,0,0,0;0,0,0,0;0,1,0,0}
SUMPRODUCT föllin margfalda þætti ofangreindrar fylkis með hlutunum íB2:E4 í sömu stöðu:
{0,0,0,0;0,0,0,0;0,1,0,0} * {22000,13800,8500,3500;25000,23000,22000,20000;700,2000,2300,2500}
Og vegna þess að margföldun með núll gefur núll, lifir aðeins hluturinn sem samsvarar 1 í fyrsta fylkinu:
SUMPRODUCT({0,0,0,0;0,0,0,0;0,2000,0,0})
Að lokum, SUMPRODUCT leggur saman þætti fylkisins sem myndast og skilar gildinu 2000.
Athugið. Ef taflan þín hefur fleiri en eina línu eða/og dálkahausa með sama nafni, mun loka fylkið innihalda fleiri en eina tölu aðra en núll og allar þessar tölur verða lagðar saman. Fyrir vikið færðu summu gilda sem uppfylla bæði skilyrðin. Það er það sem gerir SUMPRODUCT formúluna frábrugðna INDEX MATCH MATCH og VLOOKUP, sem skila fyrstu samsvöruninni sem fannst.
Matrix leit með nafngreindum sviðum (skýr skurðpunktur)
Ein ótrúlega einföld leið til að gera fylkisleit í Excel er með því að nota nafngreind svið. Svona er þetta:
Hluti 1: Nefndu dálka og raðir
Fljótlegasta leiðin til að nefna hverja línu og hvern dálk í töflunni þinni er þessi:
- Veldu alla töfluna (A1:E4 í okkar tilfelli).
- Á flipanum Formúlur , í hópnum Skilgreind nöfn , smelltu á Búa til úr vali eða ýttu á Ctrl + Shift + F3 flýtileiðina.
- Í Búa til nöfn úr vali valmynd skaltu velja Efri röð og Vinstri dálki, og smelltu á OK.
Þetta býr sjálfkrafa til nöfn byggt á línu- og dálkahausum. Hins vegar eru nokkrir fyrirvarar:
- Ef dálkurinn þinn og/eðaraðhausar eru tölur eða innihalda tiltekna stafi sem eru ekki leyfðir í Excel nöfnum, nöfnin fyrir slíka dálka og raðir verða ekki búin til. Til að sjá lista yfir stofnuð nöfn skaltu opna nafnastjórnun (Ctrl + F3). Ef einhver nöfn vantar skaltu skilgreina þau handvirkt eins og útskýrt er í Hvernig á að nefna svið í Excel.
- Ef sumir af línu- eða dálkahausum þínum innihalda bil, verður bilunum skipt út fyrir undirstrik, til dæmis Polar_bear .
Fyrir sýnishornstöfluna okkar bjó Excel sjálfkrafa til aðeins línunöfnin. Stofna þarf dálkanöfnin handvirkt því dálkhausarnir eru tölur. Til að vinna bug á þessu geturðu einfaldlega lagt undirstrik fyrir tölurnar, eins og _1990 .
Sem afleiðing höfum við eftirfarandi nefnd svið:
2. hluti : Búðu til fylkisleitarformúlu
Til að draga gildi á mótum ákveðinnar línu og dálks skaltu bara slá inn eina af eftirfarandi almennu formúlum í tóman reit:
= röð_nafn dálknafnEða öfugt:
= dálknafn nafn röðTil dæmis til að fá stofn steypireyðar árið 1990 , formúlan er eins einföld og:
=Blue_whale _1990
Ef einhver þarf ítarlegri leiðbeiningar munu eftirfarandi skref leiða þig í gegnum ferlið:
- Í reit þar sem þú vilt að niðurstaðan birtist skaltu slá inn jafnréttismerkið (=).
- Byrjaðu að slá inn nafn marklínunnar, segjum Bláhvalur . Eftirþegar þú hefur slegið inn nokkra stafi, mun Excel birta öll núverandi nöfn sem passa við inntakið þitt. Tvísmelltu á nafnið sem óskað er eftir til að slá það inn í formúluna þína:
- Á eftir heiti línunnar skaltu slá inn bil , sem virkar sem gatnamótakerfi í þessu tilviki.
- Sláðu inn heiti marksúlunnar ( _1990 í okkar tilfelli).
- Um leið og bæði línu- og dálknöfnin eru slegin inn mun Excel auðkenna samsvarandi röð og dálk í töflunni þinni og þú ýtir á Enter til að klára formúluna:
Þitt fylkisleit er lokið og skjámyndin hér að neðan sýnir niðurstöðuna:
Svona á að fletta upp í röðum og dálkum í Excel. Ég þakka þér fyrir lesturinn og vonast til að sjá þig á blogginu okkar í næstu viku!
Laust niðurhal
dæmisvinnubók fyrir tvívídd uppfletti