Excel INDEX MATCH vs VLOOKUP - formúludæmi

  • Deildu Þessu
Michael Brown

Þessi kennsla sýnir hvernig á að nota INDEX og MATCH í Excel og hvernig það er betra en VLOOKUP.

Í nokkrum nýlegum greinum gerðum við gott átak til að útskýra grunnatriði VLOOKUP virka fyrir byrjendum og útvega flóknari VLOOKUP formúludæmi fyrir stórnotendur. Og nú mun ég reyna ef ekki að tala þig frá því að nota VLOOKUP, þá að minnsta kosti sýna þér aðra leið til að gera lóðrétta uppflettingu í Excel.

"Til hvers þarf ég það?" þú gætir velt því fyrir þér. Vegna þess að VLOOKUP hefur fjölmargar takmarkanir sem geta komið í veg fyrir að þú fáir tilætluðum árangri í mörgum aðstæðum. Á hinn bóginn er INDEX MATCH samsetningin sveigjanlegri og hefur marga frábæra eiginleika sem gera hana betri en VLOOKUP að mörgu leyti.

    Excel INDEX og MATCH aðgerðir - grunnatriði

    Þar sem markmið þessarar kennslu er að sýna fram á aðra leið til að gera vlookup í Excel með því að nota blöndu af INDEX og MATCH aðgerðum, munum við ekki dvelja mikið við setningafræði þeirra og notar. Við förum aðeins yfir það lágmark sem nauðsynlegt er til að skilja almennu hugmyndina og skoðum síðan ítarlega formúludæmi sem sýna alla kosti þess að nota INDEX MATCH í stað VLOOKUP.

    INDEX fall - setningafræði og notkun

    Excel INDEX aðgerðin skilar gildi í fylki byggt á röðinni og dálknum sem þú tilgreinir. Setningafræði INDEX fallsins er einföld:

    ( viðmið1= svið1) * ( viðmið2= svið2), 0))}

    Athugið. Þetta er fylkisformúla sem þarf að fylla út með flýtileiðinni Ctrl + Shift + Enter.

    Í sýnistöflunni hér að neðan, að því gefnu að þú viljir finna upphæðina út frá 2 forsendum, Viðskiptavinur og Vara .

    Eftirfarandi INDEX MATCH formúla virkar vel:

    =INDEX(C2:C10, MATCH(1, (F1=A2:A10) * (F2=B2:B10), 0))

    Þar sem C2:C10 er svið til að skila gildi frá, F1 er viðmið1, A2:A10 er svið til að bera saman við viðmið1, F2 er viðmið 2 og B2:B10 er svið til að bera saman við viðmið2.

    Mundu að slá formúluna rétt inn með því að ýta á Ctrl + Shift + Enter , og Excel mun sjálfkrafa umlykja það krullaða sviga eins og sýnt er á skjámyndinni:

    Ef þú vilt frekar ekki nota fylkisformúlur í vinnublöðunum þínum skaltu bæta einni INDEX aðgerð í viðbót við formúlu og kláraðu hana með venjulegum Enter höggi:

    Hvernig þessar formúlur virka

    Formúlurnar nota sömu nálgun og grunn INDEX MATCH fallið sem lítur í gegnum einn dálk. Til að meta mörg viðmið, býrðu til tvær eða fleiri fylki af SÖNT og FALSK gildi sem tákna samsvörun og ósamsvörun fyrir hverja einstaka viðmiðun og margfaldar síðan samsvarandi þætti þessara fylkinga. Margföldunaraðgerðin breytir TRUE og FALSE í 1 og 0, í sömu röð, og framleiðir fylki þar sem 1 samsvarar línum sem passa við öll skilyrðin.MATCH fallið með uppflettingargildi 1 finnur fyrsta „1“ í fylkinu og sendir stöðu sína til INDEX, sem skilar gildi í þessari röð úr tilgreindum dálki.

    Formúlan sem ekki er fylki byggir á hæfni INDEX fallsins til að meðhöndla fylki á innfæddan hátt. Önnur INDEX er stillt með 0 row_num þannig að hún sendir alla dálkafylkinguna yfir í MATCH.

    Þetta er útskýring á háu stigi á rökfræði formúlunnar. Fyrir allar upplýsingar, vinsamlegast sjáðu Excel INDEX MATCH með mörgum forsendum.

    Excel INDEX MATCH með AVERAGE, MAX, MIN

    Microsoft Excel hefur sérstakar aðgerðir til að finna lágmarks-, hámarks- og meðalgildi í a svið. En hvað ef þú þarft að fá gildi frá annarri frumu sem tengist þessum gildum? Í þessu tilviki skaltu nota MAX, MIN eða AVERAGE fallið ásamt INDEX MATCH.

    INDEX MATCH með MAX

    Til að finna stærsta gildið í dálki D og skila gildi úr dálki C í sömu röð, notaðu þessa formúlu:

    =INDEX(C2:C10, MATCH(MAX(D2:D10), D2:D10, 0))

    INDEX MATCH með MIN

    Til að finna minnsta gildið í dálki D og draga tilheyrandi gildi úr dálki C, notaðu þetta :

    =INDEX(C2:C10, MATCH(MIN(D2:D10), D2:D10, 0))

    INDEX MATCH með AVERAGE

    Til að reikna út gildið næst meðaltalinu í D2:D10 og fá samsvarandi gildi úr dálki C, þetta er formúlan til að nota:

    =INDEX(C2:C10, MATCH(AVERAGE(D2:D10), D2:D10, -1 ))

    Það fer eftir því hvernig gögnin þín eru skipulögð, gefðu annaðhvort 1 eða -1 í þriðju röksemdina (match_type) afMATCH fallið:

    • Ef uppflettisdálkur þinn (dálkur D í okkar tilfelli) er flokkaður hækkandi , settu 1. Formúlan mun reikna út stærsta gildið sem er minna en eða jafnt og meðalgildi.
    • Ef uppflettisdálkurinn þinn er flokkaður lækkandi skaltu slá inn -1. Formúlan mun reikna út minnsta gildið sem er stærra en eða jafnt meðalgildinu.
    • Ef uppflettifylki þitt inniheldur gildi nákvæmlega jafnt og meðaltalinu, þú getur slegið inn 0 fyrir nákvæma samsvörun. Engin flokkun er nauðsynleg.

    Í dæminu okkar er þýðunum í dálki D raðað í lækkandi röð, þannig að við notum -1 fyrir samsvörunargerð. Fyrir vikið fáum við „Tókýó“ þar sem íbúafjöldi þess (13.189.000) er næst samsvörun sem er meiri en meðaltalið (12.269.006).

    Þú gætir verið forvitinn að vita að VLOOKUP getur líka framkvæmt slíka útreikninga, en sem fylkisformúla: VLOOKUP með AVERAGE, MAX, MIN.

    Notkun INDEX MATCH með IFNA / IFERROR

    Eins og þú hefur líklega tekið eftir, ef INDEX MATCH formúla í Excel finnur ekki uppflettingargildi, hún framleiðir #N/A villu. Ef þú vilt skipta út stöðluðu villumerkinu fyrir eitthvað þýðingarmeira skaltu setja INDEX MATCH formúluna þína inn í IFNA fallið. Til dæmis:

    =IFNA(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "No match is found")

    Og nú, ef einhver setur inn uppflettingartöflu sem er ekki til í uppflettingarsviðinu, mun formúlan skýrt tilkynna notandanum að engin samsvörun séfannst:

    Ef þú vilt ná öllum villum, ekki aðeins #N/A, notaðu IFERROR aðgerðina í stað IFNA:

    =IFERROR(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Oops, something went wrong!")

    Vinsamlegast hafðu í huga að í mörgum tilfellum gæti verið óskynsamlegt að dulbúa allar villur vegna þess að þær láta þig vita um hugsanlegar villur í formúlunni þinni.

    Svona á að nota INDEX og MATCH í Excel. Ég vona að formúludæmin okkar muni reynast þér gagnleg og hlakka til að sjá þig á blogginu okkar í næstu viku!

    Æfðu vinnubók til niðurhals

    Excel INDEX MATCH dæmi (.xlsx skrá)

    INDEX(fylki, röð_tal, [dálkur_tal])

    Hér er mjög einföld útskýring á hverri færibreytu:

    • fylki - svið af frumum sem þú vilt skila gildi frá.
    • röð_númer - línunúmerið í fylkinu sem þú vilt skila gildi úr. Ef því er sleppt þarf dálknúmerið.
    • dálknúmer - dálknúmerið í fylkinu sem þú vilt skila gildi úr. Ef því er sleppt þarf row_num.

    Nánari upplýsingar er að finna í Excel INDEX aðgerðinni.

    Og hér er dæmi um INDEX formúluna í sinni einföldustu mynd:

    =INDEX(A1:C10,2,3)

    Formúlan leitar í reiti A1 til C10 og skilar gildi reitsins í 2. röð og 3. dálki, þ.e. reit C2.

    Mjög auðvelt, ekki satt? Hins vegar, þegar unnið er með raunveruleg gögn myndirðu varla vita hvaða röð og dálk þú vilt, þar kemur MATCH aðgerðin að góðum notum.

    MATCH aðgerð - setningafræði og notkun

    Excel MATCH aðgerðin leitar að uppflettigildi á bili hólfa og skilar hlutfallslegri stöðu þess gildis á bilinu.

    Setjafræði MATCH fallsins er sem hér segir:

    MATCH(leit_gildi , uppflettisfylki, [samsvörunargerð])
    • uppflettingargildi - númerið eða textagildið sem þú ert að leita að.
    • uppflettisfylki - svið fruma sem eru leitað.
    • samsvörunargerð - tilgreinir hvort skila eigi nákvæmri samsvörun eða næstu samsvörun:
      • 1 eða sleppt - finnur stærsta gildið sem er minna en eða jafnt uppflettingargildinu. Krefst flokkunar uppflettifylkisins í hækkandi röð.
      • 0 - finnur fyrsta gildið sem er nákvæmlega jafnt uppflettingargildinu. Í INDEX / MATCH samsetningunni þarftu næstum alltaf nákvæma samsvörun, þannig að þú stillir þriðju röksemd MATCH fallsins á 0.
      • -1 - finnur minnsta gildið sem er stærra en eða jafnt og lookup_value. Krefst flokkunar uppflettifylkis í lækkandi röð.

    Til dæmis, ef sviðið B1:B3 inniheldur gildin "New-York", "Paris", "London", formúlan hér að neðan skilar tölunni 3, vegna þess að "London" er þriðja færslan á bilinu:

    =MATCH("London",B1:B3,0)

    Nánari upplýsingar er að finna í Excel MATCH aðgerðinni.

    Á Við fyrstu sýn kann notagildi MATCH aðgerðarinnar að virðast vafasamt. Hverjum er ekki sama um stöðu gildis á bilinu? Það sem við viljum vita er gildið sjálft.

    Leyfðu mér að minna þig á að hlutfallsleg staða uppflettigildisins (þ.e. röð og dálkanúmer) er nákvæmlega það sem þú þarft að gefa til röð_númer og column_num frumbreytur INDEX fallsins. Eins og þú manst getur Excel INDEX fundið gildið á mótum ákveðinnar línu og dálks, en það getur ekki ákvarðað nákvæmlega hvaða línu og dálk þú vilt.

    Hvernig á að nota INDEX MATCH aðgerðina í Excel

    Nú þegar þú veist grunnatriðin, tel ég að svo séþegar byrjað að skilja hvernig MATCH og INDEX vinna saman. Í hnotskurn finnur INDEX uppflettingargildið eftir dálka- og línunúmerum og MATCH gefur upp þessar tölur. Það er það!

    Til lóðréttrar uppflettingar notarðu MATCH fallið aðeins til að ákvarða línunúmerið og gefur dálksviðið beint í INDEX:

    INDEX ( dálkur til að skila gildi frá, MATCH ( uppflettingargildi, dálkur til að fletta upp á móti, 0))

    Á enn í erfiðleikum með að átta sig á því? Það gæti verið auðveldara að skilja það út frá dæmi. Segjum sem svo að þú sért með lista yfir höfuðborgir þjóðar og íbúa þeirra:

    Til að finna íbúa ákveðinnar höfuðborgar, segjum höfuðborg Japans, notaðu eftirfarandi INDEX MATCH formúlu:

    =INDEX(C2:C10, MATCH("Japan", A2:A10, 0))

    Nú skulum við greina hvað hver hluti þessarar formúlu gerir í raun:

    • MATCH aðgerðin leitar að uppflettigildinu "Japan" á bilinu A2: A10, og skilar tölunni 3, vegna þess að "Japan" er í þriðja sæti í uppflettifylkingunni.
    • Línunúmerið fer beint í row_num röksemdafærslu INDEX sem gefur fyrirmæli um að skila gildi úr því röð.

    Svo, formúlan hér að ofan breytist í einfaldan INDEX(C2:C,3) sem segir að leita í hólfum C2 til C10 og draga gildið úr 3. reit á því bili, þ.e. C4 vegna þess að við byrjum að telja frá annarri röð.

    Viltu ekki harðkóða borgina í formúlunni? Sláðu það inn í einhvern reit, segðu F1, gefðu reitnumtilvísun í MATCH, og þú munt fá kraftmikla uppflettiformúlu:

    =INDEX(C2:C10, MATCH(F1,A2:A10,0))

    Mikilvægt athugið! Fjöldi lína í fylki röksemdafærsla INDEX ætti að passa við fjölda lína í leitarfylki röksemdinni í MATCH, annars mun formúlan gefa ranga niðurstöðu.

    Bíddu, bíddu... hvers vegna ekki Notum við ekki einfaldlega eftirfarandi Vlookup formúlu? Hver er tilgangurinn með því að eyða tíma í að reyna að finna út úr hinu furðulega útúrsnúningi Excel MATCH INDEX?

    =VLOOKUP(F1, A2:C10, 3, FALSE)

    Í þessu tilfelli þýðir ekkert :) Þetta einfalda dæmi er eingöngu til sýnis, þannig að þú færð tilfinningu fyrir því hvernig INDEX og MATCH aðgerðir vinna saman. Önnur dæmi sem fylgja hér að neðan munu sýna þér raunverulegan kraft þessarar samsetningar sem tekst auðveldlega á við margar flóknar aðstæður þegar VLOOKUP hrasar.

    Ráð:

    • Í Excel 365 og Excel 2021, þú getur notað nútímalegri INDEX XMATCH formúlu.
    • Fyrir Google Sheets, sjá formúludæmi með INDEX MATCH í þessari grein.

    INDEX MATCH vs. VLOOKUP

    Hvenær Þegar þeir ákveða hvaða aðgerð á að nota fyrir lóðrétta uppflettingar eru flestir Excel sérfræðingar sammála um að INDEX MATCH sé mun betri en VLOOKUP. Hins vegar eru margir enn með VLOOKUP, í fyrsta lagi vegna þess að það er einfaldara og í öðru lagi vegna þess að þeir skilja ekki að fullu alla kosti þess að nota INDEX MATCH formúluna í Excel. Án slíks skilnings er enginn tilbúinn að eyða tíma sínum í að læraflóknari setningafræði.

    Hér að neðan mun ég benda á helstu kosti MATCH INDEX umfram VLOOKUP og þú ákveður hvort það sé verðug viðbót við Excel vopnabúrið þitt.

    4 helstu ástæður til að nota INDEX MATCH í stað VLOOKUP

    1. Hægri til vinstri uppflettingu. Eins og allir menntaðir notendur vita getur VLOOKUP ekki horft til vinstri, sem þýðir að uppflettingargildið þitt ætti alltaf að vera í dálknum lengst til vinstri á borðið. INDEX MATCH getur gert vinstri leit á auðveldan hátt! Eftirfarandi dæmi sýnir það í aðgerð: Hvernig á að fletta upp gildi til vinstri í Excel.
    2. Setja inn eða eyða dálkum á öruggan hátt. VLOOKUP formúlur brotna eða skila röngum niðurstöðum þegar nýr dálkur er eytt úr eða bætt við uppflettingartöflu vegna þess að setningafræði VLOOKUP krefst þess að tilgreina vísitölu dálksins sem þú vilt draga gögnin úr. Auðvitað, þegar þú bætir við eða eyðir dálkum, breytist vísitalan.

      Með INDEX MATCH tilgreinir þú svið dálksins fyrir skil, ekki vísitölu. Fyrir vikið er þér frjálst að setja inn og fjarlægja eins marga dálka og þú vilt án þess að hafa áhyggjur af því að uppfæra allar tengdar formúlur.

    3. Engin takmörk fyrir stærð uppflettingargildis. Þegar VLOOKUP aðgerðin er notuð, má heildarlengd uppflettingarviðmiðanna ekki fara yfir 255 stafi, annars endarðu með #VALUE ! villa. Þannig að ef gagnasafnið þitt inniheldur langa strengi er INDEX MATCH það eina sem virkarlausn.
    4. Hærri vinnsluhraði. Ef töflurnar þínar eru tiltölulega litlar verður varla marktækur munur á Excel frammistöðu. En ef vinnublöðin þín innihalda hundruð eða þúsund lína, og þar af leiðandi hundruð eða þúsundir formúla, mun MATCH INDEX virka mun hraðar en VLOOKUP vegna þess að Excel verður aðeins að vinna úr uppflettingum og skila dálkum frekar en öllu töflufylkingunni.

      Áhrif VLOOKUP á afköst Excel geta verið sérstaklega áberandi ef vinnubókin þín inniheldur flóknar fylkisformúlur eins og VLOOKUP og SUM. Málið er að það að athuga hvert gildi í fylkinu krefst sérstakrar kalla á VLOOKUP aðgerðina. Svo, því fleiri gildi sem fylkið þitt inniheldur og því fleiri fylkisformúlur sem þú hefur í vinnubók, því hægar virkar Excel.

    Excel INDEX MATCH - formúludæmi

    Að þekkja ástæður til að læra MATCH INDEX fallið skulum við komast að áhugaverðasta hlutanum og sjá hvernig þú getur beitt fræðilegri þekkingu í reynd.

    INDEX MATCH formúla til að fletta upp frá hægri til vinstri

    Sem sem þegar hefur verið nefnt getur VLOOKUP ekki horft til vinstri. Svo, nema uppflettingargildin þín séu dálkurinn lengst til vinstri, þá eru engar líkur á því að Vlookup formúla skili þér niðurstöðuna sem þú vilt. INDEX MATCH aðgerðin í Excel er fjölhæfari og er í raun alveg sama hvar uppfletti- og skiladálkarnir eru staðsettir.

    Fyrir þetta dæmi,við bætum við Rank dálknum vinstra megin við sýnistöfluna okkar og reynum að komast að því hvernig rússneska höfuðborgin, Moskvu, er raðað eftir íbúafjölda.

    Með uppflettigildi í G1, notaðu eftirfarandi formúlu til að leita í C2:C10 og skila samsvarandi gildi frá A2:A10:

    =INDEX(A2:A10,MATCH(G1,C2:C10,0))

    Ábending. Ef þú ætlar að nota INDEX MATCH formúluna þína fyrir fleiri en einn reit, vertu viss um að læsa báðum sviðunum með algerum reittilvísunum (eins og $A$2:$A$10 og $C$2:4C$10) svo þær brenglast ekki þegar afrita formúluna.

    INDEX MATCH MATCH til að leita í línum og dálkum

    Í ofangreindum dæmum notuðum við INDEX MATCH í staðinn fyrir klassíska VLOOKUP til að skila gildi úr fyrirfram skilgreindum eins dálki svið. En hvað ef þú þarft að fletta upp í mörgum línum og dálkum? Með öðrum orðum, hvað ef þú vilt framkvæma svokallaða matrix eða tvíhliða leit?

    Þetta gæti hljómað erfiður, en formúlan er mjög svipuð að grunnaðgerðinni Excel INDEX MATCH, með aðeins einum mun. Giskaðu á hvað?

    Einfaldlega, notaðu tvær MATCH-aðgerðir – annað til að fá línunúmer og hitt til að fá dálknúmer. Og ég óska ​​ykkur sem hafið giskað rétt til hamingju :)

    INDEX (fylki, MATCH ( vlookup value, dálkur til að fletta upp á móti, 0), MATCH ( hlookup gildi, lína til að fletta upp á móti, 0))

    Og nú, vinsamlegast skoðið töfluna hér að neðan og við skulum búa til INDEX MATCH MATCHformúlu til að finna íbúafjölda (í milljónum) í tilteknu landi fyrir tiltekið ár.

    Með marklandinu í G1 (vlookup value) og markárinu í G2 (hlookup value), tekur formúlan þessa mynd :

    =INDEX(B2:D11, MATCH(G1,A2:A11,0), MATCH(G2,B1:D1,0))

    Hvernig þessi formúla virkar

    Þegar þú þarft að skilja flókna Excel formúlu skaltu brjóta hana niður í smærri hluta og sjáðu hvað hver einstök aðgerð gerir:

    MATCH(G1,A2:A11,0) – leitar í gegnum A2:A11 að gildinu í reit G1 ("Kína") og skilar stöðu sinni, sem er 2.

    MATCH(G2,B1:D1,0)) – leitar í gegnum B1:D1 til að fá stöðu gildisins í reit G2 ("2015"), sem er 3.

    Ofngreindar línu- og dálkanúmer fara í samsvarandi rök INDEX fallsins:

    INDEX(B2:D11, 2, 3)

    Í kjölfarið færðu gildi á mótum 2. línu og 3. dálks á bilinu B2:D11, sem er gildið í reit D3. Auðvelt? Já!

    Excel INDEX MATCH til að fletta upp mörgum forsendum

    Ef þú hefðir tækifæri til að lesa Excel VLOOKUP kennsluefnið okkar, hefur þú líklega þegar prófað formúlu fyrir Vlookup með mörgum forsendum. Hins vegar er veruleg takmörkun á þeirri nálgun nauðsyn þess að bæta við hjálparsúlu. Góðu fréttirnar eru þær að INDEX MATCH aðgerðin í Excel getur flett upp með tveimur eða fleiri forsendum líka, án þess að breyta eða endurskipuleggja upprunagögnin þín!

    Hér er almenna INDEX MATCH formúlan með mörgum forsendum:

    {=INDEX( afkomusvið, MATCH(1,

    Michael Brown er hollur tækniáhugamaður með ástríðu fyrir því að einfalda flókna ferla með hugbúnaðarverkfærum. Með meira en áratug af reynslu í tækniiðnaðinum hefur hann aukið færni sína í Microsoft Excel og Outlook, sem og Google Sheets og Docs. Blogg Michael er tileinkað því að deila þekkingu sinni og sérfræðiþekkingu með öðrum, veita auðveld ráð og leiðbeiningar til að bæta framleiðni og skilvirkni. Hvort sem þú ert vanur fagmaður eða byrjandi, þá býður blogg Michaels upp á dýrmæta innsýn og hagnýt ráð til að fá sem mest út úr þessum nauðsynlegu hugbúnaðarverkfærum.