VLOOKUP i avancuar në Excel: i shumëfishtë, i dyfishtë, i ndërthurur

  • Shperndaje Kete
Michael Brown

Këta shembuj do t'ju mësojnë se si të Vlookuponi disa kritere, të ktheni një shembull specifik ose të gjitha ndeshjet, të bëni Vlookup dinamik në fletë të shumta dhe më shumë.

Është pjesa e dytë e seritë që do t'ju ndihmojnë të shfrytëzoni fuqinë e Excel VLOOKUP. Shembujt nënkuptojnë se ju e dini se si funksionon ky funksion. Nëse jo, është e arsyeshme të fillojmë me përdorimet bazë të VLOOKUP-it në Excel.

Para se të vazhdojmë më tej, më lejoni t'ju kujtoj shkurtimisht sintaksën:

VLOOKUP(vlera_lookup, grup_tabele, col_index_num, [range_lookup] )

Tani që të gjithë janë në të njëjtën faqe, le t'i hedhim një vështrim më të afërt shembujve të formulës së avancuar VLOOKUP:

    Si të Vlookuponi disa kritere

    Excel Funksioni VLOOKUP është vërtet i dobishëm kur bëhet fjalë për kërkimin në një bazë të dhënash për një vlerë të caktuar. Megjithatë, i mungon një veçori e rëndësishme - sintaksa e saj lejon vetëm një vlerë kërkimi. Por, çka nëse doni të kërkoni me disa kushte? Ka disa zgjidhje të ndryshme nga të cilat mund të zgjidhni.

    Formula 1. VLOOKUP me dy kritere

    Supozoni se keni një listë porosish dhe dëshironi të gjeni sasinë bazuar në 2 kritere, Emri i klientit dhe Produkti . Një faktor ndërlikues është se çdo klient ka porositur produkte të shumta, siç tregohet në tabelën më poshtë:

    Një formulë e zakonshme VLOOKUP nuk do të funksionojë në këtë situatë, sepse ajo kthen të parën e gjetur ndeshje bazuar në arajonet:

    Si në shembullin e mëparshëm, fillojmë me përcaktimin e disa emrave:

    • Rapsi A2:B5 në fletën CA quhet CA_Sales .
    • Sfera A2:B5 në fletën FL quhet FL_Sales .
    • Sfera A2:B5 në fletën KS quhet KS_Sales .

    Siç mund ta shihni, të gjitha sferat e emërtuara kanë një pjesë të përbashkët ( Shitjet ) dhe pjesë unike ( CA , FL , KS ). Ju lutemi sigurohuni që të emërtoni vargjet tuaja në një mënyrë të ngjashme pasi është thelbësore për formulën që do të ndërtojmë.

    Formula 1. VLOOKUP INDIRECT për të tërhequr në mënyrë dinamike të dhëna nga fletë të ndryshme

    Nëse detyra juaj është marrja e të dhënave nga fletë të shumta, një formulë VLOOKUP INDIRECT është zgjidhja më e mirë - kompakte dhe e lehtë për t'u kuptuar.

    Për këtë shembull, ne organizojmë tabelën përmbledhëse në këtë mënyrë:

    • Fut produktet me interes në A2 dhe A3. Këto janë vlerat tona të kërkimit.
    • Fut pjesët unike të vargjeve të emërtuara në B1, C1 dhe D1.

    Dhe tani, ne bashkojmë qelizën që përmban pjesën unike (B1) me pjesën e përbashkët ("_Sales"), dhe ushqeni vargun që rezulton në INDIRECT:

    INDIRECT(B$1&"_Sales")

    Funksioni INDIRECT e transformon vargun në një emër që Excel mund ta kuptojë, dhe ju e vendosni atë në argumenti table_array i VLOOKUP:

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

    Formula e mësipërme shkon në B2, dhe më pas ju kopjoni atë poshtë dhe djathtas.

    Ju lutemi kushtojini vëmendje që, në vlerën e kërkimit ($A2),ne kemi kyçur koordinatat e kolonës me referencë absolute të qelizës në mënyrë që kolona të mbetet e fiksuar kur formula kopjohet në të djathtë. Në referencën B$1, ne e mbyllëm rreshtin sepse duam që koordinata e kolonës të ndryshojë dhe të japë një pjesë të duhur të emrit në INDIRECT në varësi të kolonës në të cilën formula është kopjuar:

    Nëse tabela juaj kryesore është e organizuar ndryshe, vlerat e kërkimit në një rresht dhe pjesët unike të emrave të diapazonit në një kolonë, atëherë duhet të kyçni koordinatat e rreshtit në vlerën e kërkimit (B$1) dhe koordinatat e kolonës në pjesët e emrit ($A2):

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

    Formula 2. VLOOKUP dhe IF të vendosura për të kërkuar fletë të shumta

    Në situatën kur keni vetëm dy ose tre fletë kërkimi, mund të përdorni një formulë mjaft të thjeshtë VLOOKUP me funksione të ndërlidhura IF për të zgjedhur fletën e saktë bazuar në vlerën kryesore në një qelizë të veçantë:

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

    Where $A2 është vlera e kërkimit (emri i artikullit) dhe B$1 është vlera kryesore (gjendja):

    Në këtë rast, nuk keni nevojë domosdoshmërisht të përcaktoni emra dhe mund të përdorni të jashtëm referenca për t'iu referuar një flete ose libri tjetër pune.

    Për më shumë formulë exa shumë, ju lutemi shikoni Si të VLOOKUP nëpër fletë të shumta në Excel.

    Kjo është se si të përdorni VLOOKUP në Excel. Ju falënderoj që lexoni dhe shpresoj t'ju shohim në blogun tonë javën tjetër!

    Praktikoni librin e punës për shkarkim

    Shembuj të formulës së avancuar VLOOKUP (.xlsxskedar)

    Vlera e vetme e kërkimit që specifikoni.

    Për ta kapërcyer këtë, mund të shtoni një kolonë ndihmëse dhe të bashkoni vlerat nga dy kolonat e kërkimit ( Klienti dhe Produkti ) atje. Është e rëndësishme që kolona ndihmëse të jetë kolona më e majta në grupin e tabelës, sepse është vendi ku Excel VLOOKUP gjithmonë kërkon vlerën e kërkimit.

    Pra, shtoni një kolonë në të majtë të tabelën dhe kopjoni formulën e mëposhtme në atë kolonë. Kjo do të plotësojë kolonën ndihmëse me vlerat nga kolonat B dhe C (karakteri i hapësirës lidhet në mes për lexueshmëri më të mirë):

    =B2&" "&C2

    Dhe më pas, përdorni një formulë standarde VLOOKUP dhe vendosni të dy kriteret në argumentin lookup_value , të ndara me një hapësirë:

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

    Ose, futni kriteret në qeliza të veçanta (G1 dhe G2 në rastin tonë) dhe bashkojini ato qelizat:

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

    Ndërsa duam të kthejmë një vlerë nga kolona D, e cila është e katërta në grupin e tabelës, ne përdorim 4 për col_index_num . Argumenti range_lookup është vendosur në FALSE në Vlookup një përputhje të saktë. Pamja e mëposhtme e ekranit tregon rezultatin:

    Në rast se tabela juaj e kërkimit është në një fletë tjetër , përfshini emrin e fletës në formulën tuaj VLOOKUP. Për shembull:

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

    Përndryshe, krijoni një gamë të emërtuar për tabelën e kërkimit (të themi, Urdhërat ) për ta bërë formulën më të lehtë për t'u lexuar:

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

    Për më shumë informacion, ju lutemi shikoni Si tëVlookup nga një fletë tjetër në Excel.

    Shënim. Që formula të funksionojë si duhet, vlerat në kolonën ndihmëse duhet të bashkohen saktësisht në të njëjtën mënyrë si në argumentin vlera_lookup . Për shembull, kemi përdorur një karakter hapësinor për të ndarë kriteret si në kolonën ndihmëse (B2&" "&C2) ashtu edhe në formulën VLOOKUP (G1&" "&G2).

    Formula 2. Excel VLOOKUP me kushte të shumta

    Teorikisht, ju mund të përdorni qasjen e mësipërme për Vlookup më shumë se dy kritere. Megjithatë, ka disa paralajmërime. Së pari, një vlerë kërkimi është e kufizuar në 255 karaktere dhe së dyti, dizajni i fletës së punës mund të mos lejojë shtimin e një kolone ndihmëse.

    Për fat, Microsoft Excel shpesh ofron më shumë se një mënyrë për të bërë të njëjtën gjë. Për të kupuar kritere të shumëfishta, mund të përdorni ose një kombinim INDEX MATCH ose funksionin XLOOKUP të prezantuar së fundi në Office 365.

    Për shembull, për të kërkuar bazuar në 3 vlera të ndryshme ( Data , Emri i klientit dhe Produkti ), përdorni një nga formulat e mëposhtme:

    =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)

    Ku:

    • G1 është kriteri 1 (data)
    • G2 është kriteri 2 (emri i klientit)
    • G3 është kriteri 3 (produkt)
    • A2:A11 është kërkim diapazoni 1 (datat)
    • B2:B11 është diapazoni i kërkimit 2 (emrat e klientëve)
    • C2:C11 është diapazoni i kërkimit 3 (produktet)
    • D2:D11 është kthimi diapazoni (sasia)

    Shënim. Në të gjitha versionet përveç Excel 365, INDEXMATCH duhet të futet si një formulë e grupit CSE duke shtypur Ctrl + Shift + Enter. Në Excel 365 që mbështet vargje dinamike, funksionon gjithashtu si një formulë e rregullt.

    Për shpjegimin e detajuar të formulave, ju lutemi shihni:

    • XLOOKUP me kritere të shumta
    • Formula INDEX MATCH me shumë kritere

    Si të përdorni VLOOKUP për të marrë përputhjen e 2-të, të 3-të ose të n-të

    Siç e dini tashmë, Excel VLOOKUP mund të marrë vetëm një vlerë që përputhet, më saktë, ai kthen përputhjen e parë të gjetur. Por, çka nëse ka disa ndeshje në grupin tuaj të kërkimit dhe dëshironi të merrni shembullin e dytë ose të tretë? Detyra tingëllon mjaft e ndërlikuar, por zgjidhja ekziston!

    Formula 1. Vlookup shembulli i N-të

    Supozoni se keni emrat e klientëve në një kolonë, produktet që ata blenë në një tjetër dhe po kërkoni për të gjetur produktin e dytë ose të tretë të blerë nga një klient i caktuar.

    Mënyra më e thjeshtë është të shtoni një kolonë ndihmëse në të majtë të tabelës siç bëmë në shembullin e parë. Por këtë herë, ne do ta mbushim atë me emrat e klientëve dhe numrat e ndodhive si " John Doe1 ", " John Doe2 ", etj.

    Për të marrë ndodhinë, përdorni funksionin COUNTIF me një referencë të intervalit të përzier (referenca e parë është absolute dhe e dyta është relative si $B$2:B2). Meqenëse referenca relative ndryshon bazuar në pozicionin e qelizës ku kopjohet formula, në rreshtin 3 do të bëhet $B$2:B3, në rreshtin 4 -$B$2:B4, e kështu me radhë.

    E lidhur me emrin e klientit (B2), formula merr këtë formë:

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

    Formula e mësipërme shkon në A2 , dhe më pas e kopjoni në aq qeliza sa të nevojitet.

    Pas kësaj, futni emrin e synuar dhe numrin e ndodhisë në qeliza të veçanta (F1 dhe F2) dhe përdorni formulën e mëposhtme për të Vloookupuar një ndodhi specifike:

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

    Formula 2. Dukuria e dytë e Vlookup

    Nëse jeni duke kërkuar për shembullin e dytë të vlerës së kërkimit, atëherë mund të bëni pa kolonën ndihmëse. Në vend të kësaj, krijoni grupin e tabelës në mënyrë dinamike duke përdorur funksionin INDIRECT së bashku me MATCH:

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

    Ku:

    • E1 është vlera e kërkimit
    • A2:A11 është diapazoni i kërkimit
    • B11 është qeliza e fundit (poshtë djathtas) e tabelës së kërkimit

    Ju lutemi vini re se formula e mësipërme është shkruar për një rast specifik ku qelizat e të dhënave në tabelën e kërkimit fillojnë në rreshtin 2. Nëse tabela juaj është diku në mes të fletës, përdorni këtë formulë universale, ku A1 është qeliza lart majtas e tabelës së kërkimit që përmban një kokë kolone:

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

    Si funksionon kjo formulë

    Këtu është pjesa kryesore e formulës që krijon një varg vlookup dinamik :

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

    Funksioni MATCH i konfiguruar për përputhje të saktë (0 në argumentin e fundit) krahason emrin e synuar (E1) me listën e emrave (A2:A11) dhe kthen pozicionin e të parës së gjetur ndeshje, e cila është 3në rastin tonë. Ky numër do të përdoret si koordinata e rreshtit fillestar për diapazonin vlookup, kështu që ne i shtojmë 2 (+1 për të përjashtuar shembullin e parë dhe +1 për të përjashtuar rreshtin 1 me kokën e kolonës). Përndryshe, mund të përdorni 1+ROW(A1) për të llogaritur automatikisht rregullimin e nevojshëm bazuar në pozicionin e rreshtit të kokës (në rastin tonë A1).

    Si rezultat, marrim vargun e tekstit të mëposhtëm, i cili INDIRECT konverton në një referencë diapazoni:

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

    Ky diapazon shkon te argumenti array_tabelë i VLOOKUP duke e detyruar atë të fillojë kërkimin në rreshtin 5, duke lënë jashtë shembullin e parë të vlera e kërkimit:

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

    Si të Vlookup dhe të kthehen vlera të shumta në Excel

    Funksioni Excel VLOOKUP është krijuar për të kthyer vetëm një përputhje. A ka ndonjë mënyrë për të Vlookup instanca të shumta? Po, ka, edhe pse jo e lehtë. Kjo kërkon një përdorim të kombinuar të disa funksioneve si INDEX, SMALL dhe ROW është një formulë grupi.

    Për shembull, më poshtë mund të gjejmë të gjitha dukuritë e vlerës së kërkimit F2 në diapazonin e kërkimit B2:B16 dhe të kthejnë shumëfish përputhet nga kolona C:

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

    Ka 2 mënyra për të futur formulën në fletën tuaj të punës:

    1. Shkruani formulën në qelizën e parë, shtypni Ctrl + Shift + Enter dhe më pas tërhiqeni në disa qeliza të tjera.
    2. Zgjidhni disa qeliza ngjitur në një kolonë të vetme (F1:F11 në pamjen e mëposhtme), shkruani formulën dhe shtypni Ctrl +Shift + Enter për ta përfunduar atë.

    Sido që të jetë, numri i qelizave në të cilat futni formulën duhet të jetë i barabartë ose më i madh se numri maksimal i përputhjeve të mundshme.

    Për shpjegimin e detajuar të logjikës së formulës dhe shembuj të tjerë, ju lutemi shikoni Si të VLOOKUP vlerat e shumta në Excel.

    Si të Vlookuponi në rreshta dhe kolona (kërkim në dy drejtime)

    Kërkimi në dy drejtime (aka kërkim matricë ose kërkim 2-dimensionale ) është një fjalë e bukur për të kërkuar një vlerë në kryqëzimin e një rresht dhe kolonë të caktuar. Ka disa mënyra të ndryshme për të bërë kërkime dydimensionale në Excel, por duke qenë se fokusi i këtij udhëzuesi është në funksionin VLOOKUP, ne natyrisht do ta përdorim atë.

    Për këtë shembull, do të marrim sa më poshtë tabelë me shitjet mujore dhe përpunoni një formulë VLOOKUP për të tërhequr shifrën e shitjeve për një artikull specifik në një muaj të caktuar.

    Me emrat e artikujve në A2:A9, emrat e muajve në B1:F1, artikullin e synuar në I1 dhe muajin e synuar në I2, formula shkon si më poshtë:

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

    Si funksionon kjo formulë

    Thelbi i formulës është funksioni standard VLOOKUP që kërkon një përputhje të saktë me vlerën e kërkimit në I1. Por meqenëse nuk e dimë se në cilën kolonë janë shitjet për një muaj të caktuar, nuk mund ta japim numrin e kolonës drejtpërdrejt në argumentin col_index_num . Për të gjetur atë kolonë, ne përdorim MATCH-in e mëposhtëmfunksioni:

    MATCH(I2, A1:F1, 0)

    Përkthyer në anglisht, formula thotë: kërkoni vlerën I2 në A1:F1 dhe ktheni pozicionin e saj relativ në grup. Duke i dhënë 0 argumentit të tretë, ju udhëzoni MATCH të gjejë vlerën saktësisht të barabartë me vlerën e kërkimit (është si të përdorni FALSE për argumentin range_lookup të VLOOKUP).

    Meqë Mar është në kolonën e 4-të në grupin e kërkimit, funksioni MATCH kthen 4, i cili shkon drejtpërdrejt në argumentin col_index_num të VLOOKUP:

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

    Ju lutemi kushtojini vëmendje që megjithëse emrat e muajve fillojnë në kolonën B, ne përdorim A1:I1 për grupin e kërkimit. Kjo bëhet në mënyrë që numri i kthyer nga MATCH të korrespondojë me pozicionin e kolonës në table_array të VLOOKUP.

    Për të mësuar më shumë mënyra për të kryer kërkimin e matricës në Excel, ju lutemi shihni INDEX MATCH MATCH dhe formula të tjera për kërkimin 2-dimensional.

    Si të bëni Vlookup të shumëfishtë në Excel (Vlookup i vendosur)

    Ndonjëherë mund të ndodhë që tabela juaj kryesore dhe tabela e kërkimit të mos kenë një kolonë të vetme në e zakonshme, e cila ju pengon të bëni një Vlookup midis dy tabelave. Megjithatë, ekziston një tabelë tjetër, e cila nuk përmban informacionin që kërkoni, por ka një kolonë të përbashkët me tabelën kryesore dhe një kolonë tjetër të përbashkët me tabelën e kërkimit.

    Në imazhin e mëposhtëm ilustron situatën:

    Qëllimi është kopjimi i çmimeve në tabelën kryesore bazuar në ID-të e artikujve . Problemi është se tabela që përmban çmimet nuk ka ID-të e artikujve , që do të thotë se do të duhet të bëjmë dy Vlookup në një formulë.

    Për hir të lehtësisë, le të krijojmë disa vargjet e emëruara së pari:

    • Tabela e kërkimit 1 emërtohet Produktet (D3:E10)
    • Tabela e kërkimit 2 emërtohet Çmimet ( G3:H10 )

    Tabelat mund të jenë në të njëjtat ose në fletë pune të ndryshme.

    Dhe tani, ne do të kryejmë të ashtuquajturin vlookup të dyfishtë , i njohur ndryshe si Vlookup i mbivendosur .

    Së pari, bëni një formulë VLOOKUP për të gjetur emrin e produktit në tabelën e kërkimit 1 (me emrin Produktet ) bazuar në artikullin id (A3):

    =VLOOKUP(A3, Products, 2, FALSE)

    Më pas, vendosni formulën e mësipërme në argumentin lookup_value të një funksioni tjetër VLOOKUP për të tërhequr çmimet nga tabela e kërkimit 2 (me emrin Çmimet ) bazuar në emrin e produktit të kthyer nga VLOOKUP-i i ndërlidhur:

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

    Pastroja më poshtë tregon formulën tonë të ndërlidhur Vlookup në veprim:

    Si të kërkohen fletë të shumta në mënyrë dinamike

    Ndonjëherë, y ju mund të keni të dhëna në të njëjtin format të ndarë në disa fletë pune. Dhe qëllimi juaj është të tërhiqni të dhëna nga një fletë specifike në varësi të vlerës kryesore në një qelizë të caktuar.

    Kjo mund të jetë më e lehtë për t'u kuptuar nga një shembull. Le të themi, ju keni disa raporte rajonale të shitjeve në të njëjtin format dhe po kërkoni të merrni shifrat e shitjeve për një produkt specifik në disa

    Michael Brown është një entuziast i përkushtuar i teknologjisë me një pasion për thjeshtimin e proceseve komplekse duke përdorur mjete softuerike. Me më shumë se një dekadë përvojë në industrinë e teknologjisë, ai ka përmirësuar aftësitë e tij në Microsoft Excel dhe Outlook, si dhe Google Sheets dhe Docs. Blogu i Michael është i përkushtuar ndaj ndarjes së njohurive dhe ekspertizës së tij me të tjerët, duke ofruar këshilla dhe mësime të thjeshta për t'u ndjekur për të përmirësuar produktivitetin dhe efikasitetin. Pavarësisht nëse jeni një profesionist me përvojë apo fillestar, blogu i Michael ofron njohuri të vlefshme dhe këshilla praktike për të përfituar sa më shumë nga këto mjete softuerike thelbësore.