Ítarlegt VLOOKUP í Excel: margfalt, tvöfalt, hreiður

  • Deildu Þessu
Michael Brown

Þessi dæmi munu kenna þér hvernig á að Vlookup mörg skilyrði, skila tilteknu tilviki eða öllum samsvörun, gera kraftmikla Vlookup í mörgum blöðum og fleira.

Þetta er seinni hluti af röðin sem mun hjálpa þér að virkja kraft Excel VLOOKUP. Dæmin gefa til kynna að þú veist hvernig þessi aðgerð virkar. Ef ekki, þá er ástæða til að byrja á grunnnotkun VLOOKUP í Excel.

Áður en lengra er haldið, leyfðu mér að minna þig stuttlega á setningafræðina:

VLOOKUP(útlitsgildi, töflufylki, kolvísitala, [sviðsleit] )

Nú þegar allir eru á sömu blaðsíðu skulum við líta nánar á háþróaða VLOOKUP formúludæmin:

    Hvernig á að Vlookup mörg skilyrði

    Excel VLOOKUP virka er mjög gagnleg þegar kemur að því að leita í gagnagrunni að ákveðnu gildi. Hins vegar skortir það mikilvægan eiginleika - setningafræði þess leyfir aðeins eitt uppflettingargildi. En hvað ef þú vilt líta upp með nokkrum skilyrðum? Það eru nokkrar mismunandi lausnir sem þú getur valið úr.

    Formúla 1. ÚTLIT með tveimur forsendum

    Segjum að þú sért með lista yfir pantanir og viljir finna magnið út frá 2 forsendum, Nafn viðskiptavinar og vara . Flækjandi þáttur er að hver viðskiptavinur pantaði margar vörur, eins og sýnt er í töflunni hér að neðan:

    Venjuleg VLOOKUP formúla mun ekki virka í þessum aðstæðum vegna þess að hún skilar því fyrsta sem fannst samsvörun byggð á asvæði:

    Eins og í fyrra dæmi, byrjum við á því að skilgreina nokkur nöfn:

    • Svið A2:B5 í CA blaði heitir CA_Sales .
    • Svið A2:B5 í FL blaðinu heitir FL_Sales .
    • Svið A2:B5 í KS blaðinu heitir KS_Sales .

    Eins og þú sérð hafa öll nefnd svið sameiginlegan hluta ( Sala ) og einstaka hluta ( CA , FL , KS ). Vinsamlegast vertu viss um að nefna svið þín á svipaðan hátt þar sem það er nauðsynlegt fyrir formúluna sem við ætlum að búa til.

    Formúla 1. ÓBEIN ÚTLIT til að draga gögn úr mismunandi blöðum á virkan hátt

    Ef þitt verkefni er að sækja gögn úr mörgum blöðum, VLOOKUP INDIRECT formúla er besta lausnin – fyrirferðarlítil og auðskilin.

    Í þessu dæmi skipuleggjum við yfirlitstöfluna á þennan hátt:

    • Sláðu inn áhugaverðar vörur í A2 og A3. Þetta eru uppflettigildin okkar.
    • Sláðu inn einstaka hluta nafngreindra sviða í B1, C1 og D1.

    Og nú sameinum við reitinn sem inniheldur einstaka hlutann (B1) með sameiginlega hlutanum ("_Sales"), og færðu strenginn sem myndast í INDIRECT:

    INDIRECT(B$1&"_Sales")

    ÓBEIN aðgerðin umbreytir strengnum í nafn sem Excel getur skilið og þú setur það inn í table_array rökin í VLOOKUP:

    =VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)

    Oftangreind formúla fer í B2 og síðan afritarðu hana niður og til hægri.

    Vinsamlegast gaum að því að í uppflettigildinu ($A2),við höfum læst dálkhnitinu með algerri frumutilvísun þannig að dálkurinn haldist fastur þegar formúlan er afrituð til hægri. Í B$1 tilvísuninni læstum við röðinni vegna þess að við viljum að dálkhnitið breytist og gefi viðeigandi nafnhluta í INDIRECT eftir dálknum sem formúlan er afrituð í:

    Ef aðaltaflan þín er skipulögð á annan hátt, uppflettingargildin í röð og einstök hlutar sviðsheita í dálki, þá ættir þú að læsa línuhnitinu í uppflettingargildinu (B$1) og dálkhnitinu í nafnahlutunum ($A2):

    =VLOOKUP(B$1, INDIRECT($A2&"_Sales"), 2, FALSE)

    Formúla 2. VLOOKUP og hreiður IF til að fletta upp mörgum blöðum

    Í aðstæðum þegar þú hefur bara tvö eða þrjú uppflettiblöð, þú getur notað frekar einfalda VLOOKUP formúlu með hreiðrum IF aðgerðum til að velja rétta blaðið byggt á lykilgildi í tilteknu reit:

    =VLOOKUP($A2, IF(B$1="CA", CA_Sales, IF(B$1="FL", FL_Sales, IF(B$1="KS", KS_Sales,""))), 2, FALSE)

    Where $A2 er uppflettingargildi (heiti vöru) og B$1 er lykilgildi (ástand):

    Í þessu tilviki þarftu ekki endilega að skilgreina nöfn og getur notað utanaðkomandi tilvísanir til að vísa í annað blað eða vinnubók.

    Til að fá frekari formúlu exa dæmi, vinsamlegast sjáðu Hvernig á að VLOOKUP yfir mörg blöð í Excel.

    Svona á að nota VLOOKUP í Excel. Ég þakka þér fyrir lesturinn og vonast til að sjá þig á blogginu okkar í næstu viku!

    Æfingabók til niðurhals

    Ítarleg VLOOKUP formúludæmi (.xlsxskrá)

    eitt uppflettingargildi sem þú tilgreinir.

    Til að vinna bug á þessu geturðu bætt við hjálpardálki og sameinað gildin úr tveimur uppflettisdálkum ( Customer og Product ) þar. Það er mikilvægt að hjálpardálkurinn sé lengst til vinstri dálksins í töflufylkingunni því það er þar sem Excel VLOOKUP leitar alltaf að uppflettigildinu.

    Svo skaltu bæta við dálki vinstra megin við töflu og afritaðu formúluna hér að neðan yfir þann dálk. Þetta mun fylla hjálpardálkinn með gildunum úr dálkum B og C (bilstafurinn er samtengdur þar á milli til að auðveldari læsileika):

    =B2&" "&C2

    Og síðan, notaðu venjulega VLOOKUP formúlu og stað bæði viðmiðin í lookup_value röksemdinni, aðskilin með bili:

    =VLOOKUP("Jeremy Sweets", A2:D11, 4, FALSE)

    Eða, sláðu inn viðmiðin í aðskildar reiti (G1 og G2 í okkar tilfelli) og sameinuðu þau frumur:

    =VLOOKUP(G1&" "&G2, A2:D11, 4, FALSE)

    Þar sem við viljum skila gildi úr dálki D, sem er fjórði í töflufylkingunni, notum við 4 fyrir col_index_num . range_lookup rökin eru stillt á FALSE til að Vlookup nákvæma samsvörun. Skjámyndin hér að neðan sýnir niðurstöðuna:

    Ef uppflettingartaflan þín er í önnu blaði skaltu láta nafn blaðsins fylgja með VLOOKUP formúlunni þinni. Til dæmis:

    =VLOOKUP(G1&" "&G2, Orders!A2:D11, 4, FALSE)

    Að öðrum kosti skaltu búa til nefnt svið fyrir uppflettitöfluna (td pantanir ) til að gera formúluna auðveldari að lesa:

    =VLOOKUP(G1&" "&G2, Orders, 4, FALSE)

    Nánari upplýsingar er að finna í Hvernig á aðVlookup úr öðru blaði í Excel.

    Athugið. Til þess að formúlan virki rétt ættu gildin í hjálpardálknum að vera samtengd nákvæmlega á sama hátt og í leit_gildi röksemdinni. Til dæmis notuðum við bilstaf til að aðgreina viðmiðin í bæði hjálpardálknum (B2&" "&C2) og VLOOKUP formúlu (G1&" "&G2).

    Formúla 2. Excel VLOOKUP með mörgum skilyrðum

    Fræðilega séð geturðu notað ofangreinda nálgun við Vlookup fleiri en tvö skilyrði. Hins vegar eru nokkrir fyrirvarar. Í fyrsta lagi er uppflettingargildi takmarkað við 255 stafi og í öðru lagi er hugsanlegt að hönnun vinnublaðsins leyfir ekki að bæta við hjálpardálki.

    Sem betur fer býður Microsoft Excel oft upp á fleiri en eina leið til að gera það sama. Til að fletta upp mörgum forsendum geturðu notað annað hvort INDEX MATCH samsetningu eða XLOOKUP aðgerðina sem nýlega var kynnt í Office 365.

    Til dæmis til að fletta upp út frá 3 mismunandi gildum ( Date , Nafn viðskiptavinar og Vöru ), notaðu eina af eftirfarandi formúlum:

    =INDEX(D2:D11, MATCH(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), 0))

    =XLOOKUP(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), D2:D11)

    Hvar:

    • G1 er skilyrði 1 (dagsetning)
    • G2 er viðmið 2 (nafn viðskiptavinar)
    • G3 er viðmið 3 (vara)
    • A2:A11 er uppfletting svið 1 (dagsetningar)
    • B2:B11 er uppflettingarsvið 2 (nöfn viðskiptavina)
    • C2:C11 er uppflettingarsvið 3 (vörur)
    • D2:D11 er ávöxtun svið (magn)

    Athugið. Í öllum útgáfum nema Excel 365, INDEXMATCH ætti að slá inn sem CSE fylkisformúlu með því að ýta á Ctrl + Shift + Enter. Í Excel 365 sem styður kraftmikla fylki virkar það líka sem venjuleg formúla.

    Fyrir nákvæma útskýringu á formúlunum, vinsamlegast sjá:

    • XLOOKUP með mörgum forsendum
    • INDEX MATCH formúla með mörgum forsendum

    Hvernig á að notaðu VLOOKUP til að fá 2., 3. eða n. samsvörun

    Eins og þú veist nú þegar getur Excel VLOOKUP aðeins sótt eitt samsvarandi gildi, nánar tiltekið, það skilar fyrstu samsvöruninni sem fannst. En hvað ef það eru nokkrar samsvörun í uppflettifylki þínu og þú vilt fá 2. eða 3. tilvikið? Verkefnið hljómar nokkuð flókið, en lausnin er til!

    Formula 1. Vlookup Nth instance

    Segjum að þú sért með nöfn viðskiptavina í einum dálki, vörurnar sem þeir keyptu í öðrum og þú ert að leita að til að finna 2. eða 3. vöru sem tiltekinn viðskiptavinur keypti.

    Einfaldasta leiðin er að bæta við hjálpardálki vinstra megin við töfluna eins og við gerðum í fyrsta dæminu. En að þessu sinni munum við fylla það með nöfnum viðskiptavina og tilvikanúmerum eins og " John Doe1 ", " John Doe2 ", o.s.frv.

    Til að fá tilvikið, notaðu COUNTIF fallið með tilvísun í blandað svið (fyrsta tilvísunin er algjör og sú seinni er afstæð eins og $B$2:B2). Þar sem hlutfallsleg tilvísun breytist miðað við staðsetningu reitsins þar sem formúlan er afrituð, verður hún í röð 3 $B$2:B3, í röð 4 -$B$2:B4, og svo framvegis.

    Tengd við nafn viðskiptavinar (B2), er formúlan á þessa leið:

    =B2&COUNTIF($B$2:B2, B2)

    Ofngreind formúla fer í A2 , og síðan afritarðu það niður í eins marga reiti og þarf.

    Sláðu síðan inn marknafnið og tilviksnúmerið í aðskildum hólfum (F1 og F2) og notaðu formúluna hér að neðan til að leita að tilteknu tilviki:

    =VLOOKUP(F1&F2, A2:C11, 3, FALSE)

    Formula 2. Vlookup 2. tilvik

    Ef þú ert að leita að 2. tilviki uppflettigildisins, þá geturðu gera án hjálparsúlunnar. Í staðinn skaltu búa til töflufylkinguna á kraftmikinn hátt með því að nota INDIRECT aðgerðina ásamt MATCH:

    =VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11"), 2, FALSE)

    Hvar:

    • E1 er uppflettingargildið
    • A2:A11 er uppflettingarsviðið
    • B11 er síðasta (neðst til hægri) reitinn í uppflettitöflunni

    Vinsamlegast athugaðu að formúlan hér að ofan er skrifuð fyrir tiltekið tilvik þar sem gagnafrumur í uppflettitöflunni byrja í röð 2. Ef taflan þín er einhvers staðar í miðju blaðsins skaltu nota þessa alhliða formúlu, þar sem A1 er efst til vinstri í uppflettitöflunni sem inniheldur dálkhaus:

    =VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+1+ROW(A1))&":B11"), 2, FALSE)

    Hvernig þessi formúla virkar

    Hér er lykilhluti formúlunnar sem býr til dynamískt vlookup svið :

    INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11")

    MATCH fallið sem er stillt fyrir nákvæma samsvörun (0 í síðustu viðfangsefninu) ber saman marknafnið (E1) við nafnalistann (A2:A11) og skilar stöðu þess sem fyrst fannst leik, sem er 3í okkar tilviki. Þetta númer verður notað sem upphafslínuhnit fyrir vlookup sviðið, svo við bætum 2 við það (+1 til að útiloka fyrsta tilvikið og +1 til að útiloka línu 1 með dálkahausunum). Að öðrum kosti er hægt að nota 1+ROW(A1) til að reikna út nauðsynlega leiðréttingu sjálfkrafa út frá staðsetningu hauslínunnar (A1 í okkar tilfelli).

    Í kjölfarið fáum við eftirfarandi textastreng, sem INDIRECT breytist í sviðsviðmiðun:

    INDIRECT("A"&5&":B11") -> A5:B11

    Þetta svið fer í table_array rökin í VLOOKUP sem neyðir það til að byrja að leita í röð 5, sleppa fyrsta tilvikinu af uppflettingargildið:

    VLOOKUP(E1, A5:B11, 2, FALSE)

    Hvernig á að Vlookup og skila mörgum gildum í Excel

    Excel VLOOKUP aðgerðin er hönnuð til að skila aðeins einni samsvörun. Er einhver leið til að Vlookup mörg tilvik? Já, það er til, þó ekki auðvelt. Þetta krefst samsettrar notkunar á nokkrum föllum eins og INDEX, SMALL og ROW er fylkisformúla.

    Til dæmis getur neðangreind tilvik fundið allar tilvik uppflettigildis F2 í uppflettingarsviðinu B2:B16 og skilað margfeldi samsvarar úr dálki C:

    {=IFERROR(INDEX($C$2:$C$11, SMALL(IF($F$1=$B$2:$B$11, ROW($C$2:$C$11)-1,""), ROW()-1)),"")}

    Það eru tvær leiðir til að slá inn formúluna í vinnublaðinu þínu:

    1. Sláðu inn formúluna í fyrsta reitinn, ýttu á Ctrl + Shift + Enter , og dragðu það svo niður í nokkrar hólf í viðbót.
    2. Veldu nokkrar aðliggjandi reiti í einum dálki (F1:F11 á skjámyndinni fyrir neðan), sláðu inn formúluna og ýttu á Ctrl +Shift + Enter til að klára hana.

    Hvort sem er, þá ætti fjöldi hólfa sem þú slærð formúluna inn í að vera jafn eða stærri en hámarksfjöldi mögulegra samsvörunar.

    Fyrir nákvæma útskýringu á formúlurökfræðinni og fleiri dæmum, vinsamlegast sjáðu Hvernig á að VLOOKUP mörg gildi í Excel.

    Hvernig á að Vlookup í röðum og dálkum (tvíhliða uppflettingu)

    Tvíhliða uppfletting (aka fylkisuppfletting eða tvívídd uppfletting ) er fínt orð til að fletta upp gildi á mótum milli ákveðin röð og dálkur. Það eru nokkrar mismunandi leiðir til að gera tvívíð uppflettingu í Excel, en þar sem áherslan í þessari kennslu er á VLOOKUP aðgerðina, munum við að sjálfsögðu nota hana.

    Fyrir þetta dæmi tökum við eftirfarandi fyrir neðan. töflu með mánaðarsölu og útbúið VLOOKUP formúlu til að sækja sölutölu fyrir tiltekna vöru í tilteknum mánuði.

    Með vöruheiti í A2:A9, mánaðarnöfn í B1:F1, markhlutur í I1 og markmánuðurinn í I2, formúlan er sem hér segir:

    =VLOOKUP(I1, A2:F9, MATCH(I2, A1:F1, 0), FALSE)

    Hvernig þessi formúla virkar

    Kjarni formúlunnar er staðlaða VLOOKUP aðgerðin sem leitar að nákvæmri samsvörun við uppflettingargildið í I1. En þar sem við vitum ekki nákvæmlega í hvaða dálki sölurnar fyrir tiltekinn mánuð eru, getum við ekki gefið dálknúmerið beint í col_index_num rökin. Til að finna þann dálk notum við eftirfarandi MATCHfall:

    MATCH(I2, A1:F1, 0)

    Þýtt á ensku segir formúlan: flettu upp I2 gildinu í A1:F1 og skilaðu hlutfallslegri stöðu þess í fylkinu. Með því að gefa 0 í 3. frumbreytuna, gefur þú MATCH fyrirmæli um að finna gildið nákvæmlega jafnt og uppflettingargildinu (það er eins og að nota FALSE fyrir svið_útlit rökin í VLOOKUP).

    Síðan Mar er í 4. dálki í uppflettifylki, MATCH fallið skilar 4, sem fer beint í col_index_num röksemdafærslu VLOOKUP:

    VLOOKUP(I1, A2:F9, 4, FALSE)

    Vinsamlegast athugaðu að þó mánaðarnöfnin byrji í dálki B notum við A1:I1 fyrir uppflettifylki. Þetta er gert til þess að talan sem MATCH skilar samsvari staðsetningu dálksins í table_array í VLOOKUP.

    Til að læra fleiri leiðir til að framkvæma fylkisleit í Excel, vinsamlegast sjá INDEX MATCH MATCH og aðrar formúlur fyrir tvívíddar uppflettingar.

    Hvernig á að gera margar Vlookup í Excel (nested Vlookup)

    Stundum getur það gerst að aðaltaflan þín og uppflettingartaflan hafi ekki einn dálk í common, sem kemur í veg fyrir að þú getir gert Vlookup á milli tveggja borða. Hins vegar er til önnur tafla sem inniheldur ekki þær upplýsingar sem þú ert að leita að en hefur einn sameiginlegan dálk með aðaltöflunni og annan sameiginlegan dálk með uppflettitöflunni.

    Á myndinni hér að neðan sýnir ástandið:

    Markmiðið er að afrita verð í aðaltöflu út frá Auðkenni vöru . Vandamálið er að taflan sem inniheldur verð hefur ekki vöruauðkennin , sem þýðir að við verðum að gera tvær Vlookups í einni formúlu.

    Til þæginda, skulum við búa til nokkra nefnd svið fyrst:

    • Upplitstafla 1 heitir Vörur (D3:E10)
    • Upplitstafla 2 heitir Verð ( G3:H10 )

    Töflurnar geta verið í sömu eða mismunandi vinnublöðum.

    Og nú munum við framkvæma svokallaða tvöfalda Vlookup , aka hreiður Vlookup .

    Búaðu fyrst til VLOOKUP formúlu til að finna vöruheitið í leitartöflu 1 (sem heitir Products ) byggt á hlutnum id (A3):

    =VLOOKUP(A3, Products, 2, FALSE)

    Næst skaltu setja ofangreinda formúlu í upplitsgildi röksemdafærslu annarrar VLOOKUP falls til að draga verð úr uppflettitöflu 2 (sem heitir Verð ) byggt á vöruheitinu sem hreiður VLOOKUP skilar:

    =VLOOKUP(VLOOKUP(A3, Products, 2, FALSE), Prices, 2, FALSE)

    Skjámyndin hér að neðan sýnir hreiðra Vlookup formúluna okkar í aðgerð:

    Hvernig á að fletta mörgum blöðum á virkan hátt

    Stundum, y Þú gætir haft gögn á sama sniði skipt yfir nokkur vinnublöð. Og markmið þitt er að draga gögn úr tilteknu blaði eftir lykilgildi í tilteknu reit.

    Þetta gæti verið auðveldara að skilja út frá dæmi. Segjum að þú sért með nokkrar svæðisbundnar söluskýrslur á sama sniði og þú ert að leita að sölutölum fyrir tiltekna vöru í ákveðnum

    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.