Tabela e përmbajtjes
Ky tutorial tregon se si të përdorni INDEX dhe MATCH në Excel dhe se si është më mirë se VLOOKUP.
Në disa artikuj të fundit, ne bëmë një përpjekje të mirë për të shpjeguar bazat e funksionit VLOOKUP për fillestarët dhe për të ofruar shembuj më komplekse të formulave VLOOKUP për përdoruesit e fuqishëm. Dhe tani, do të përpiqem nëse jo t'ju ndaloj të përdorni VLOOKUP, atëherë të paktën t'ju tregoj një mënyrë alternative për të bërë një kërkim vertikal në Excel.
"Për çfarë më nevojitet?" ju mund të pyesni veten. Sepse VLOOKUP ka kufizime të shumta që mund t'ju pengojnë të merrni rezultatin e dëshiruar në shumë situata. Nga ana tjetër, kombinimi INDEX MATCH është më fleksibël dhe ka shumë karakteristika të mrekullueshme që e bëjnë atë superior ndaj VLOOKUP në shumë aspekte.
Excel INDEX dhe funksionet MATCH - bazat
Meqenëse qëllimi i këtij tutoriali është të demonstrojë një mënyrë alternative për të bërë një vlookup në Excel duke përdorur një kombinim të funksioneve INDEX dhe MATCH, ne nuk do të ndalemi shumë në sintaksën e tyre dhe përdor. Ne do të mbulojmë vetëm minimumin e nevojshëm për të kuptuar idenë e përgjithshme dhe më pas do të hedhim një vështrim të thellë në shembujt e formulave që zbulojnë të gjitha avantazhet e përdorimit të INDEX MATCH në vend të VLOOKUP.
Funksioni INDEX - sintaksa dhe përdorimi
Funksioni Excel INDEX kthen një vlerë në një grup bazuar në numrat e rreshtave dhe kolonave që specifikoni. Sintaksa e funksionit INDEX është e drejtpërdrejtë:
( kriteri1= vargu1) * ( kriteri2= vargu2), 0))}Shënim. Kjo është një formulë grupi që duhet të plotësohet me shkurtoren Ctrl + Shift + Enter.
Në tabelën shembull më poshtë, duke supozuar se dëshironi të gjeni shumën bazuar në 2 kritere, Klienti dhe Produkt .
Formula e mëposhtme INDEX MATCH funksionon mirë:
=INDEX(C2:C10, MATCH(1, (F1=A2:A10) * (F2=B2:B10), 0))
Ku C2:C10 është diapazoni për të kthyer një vlerë, F1 është kriteri1, A2:A10 është diapazoni për të krahasuar me kriterin1, F2 është kriteri 2 dhe B2:B10 është diapazoni për të krahasuar me kriteret2.
Mos harroni të futni saktë formulën duke shtypur Ctrl + Shift + Enter , dhe Excel do t'i mbyllë automatikisht kllapat kaçurrelë siç tregohet në pamjen e ekranit:
Nëse preferoni të mos përdorni formula të grupeve në fletët tuaja të punës, shtoni një funksion më shumë INDEX në formulë dhe plotësojeni atë me një goditje të zakonshme Enter:
Si funksionojnë këto formula
Formulat përdorin të njëjtën qasje si funksioni bazë INDEX MATCH që shikon një kolonë e vetme. Për të vlerësuar kritere të shumta, ju krijoni dy ose më shumë grupe vlerash TRUE dhe FALSE që përfaqësojnë përputhje dhe jopërputhje për secilin kriter individual dhe më pas shumëzoni elementët përkatës të këtyre vargjeve. Operacioni i shumëzimit konverton TRUE dhe FALSE në 1 dhe 0, përkatësisht, dhe prodhon një grup ku 1-të korrespondojnë me rreshtat që përputhen me të gjitha kriteret.Funksioni MATCH me një vlerë kërkimi prej 1 gjen "1" të parë në grup dhe ia kalon pozicionin e tij INDEX, i cili kthen një vlerë në këtë rresht nga kolona e specifikuar.
Formula jo e vargut mbështetet në aftësia e funksionit INDEX për të trajtuar vargjet në mënyrë natyrale. INDEX-i i dytë është konfiguruar me 0 row_num në mënyrë që të kalojë të gjithë grupin e kolonave në MATCH.
Ky është një shpjegim i nivelit të lartë i logjikës së formulës. Për detaje të plota, ju lutemi shihni Excel INDEX MATCH me kritere të shumta.
Excel INDEX MATCH me AVERAGE, MAX, MIN
Microsoft Excel ka funksione të veçanta për të gjetur një vlerë minimale, maksimale dhe mesatare në një varg. Por, çka nëse duhet të merrni një vlerë nga një qelizë tjetër që lidhet me ato vlera? Në këtë rast, përdorni funksionin MAX, MIN ose AVERAGE së bashku me INDEX MATCH.
INDEX MATCH me MAX
Për të gjetur vlerën më të madhe në kolonën D dhe për të kthyer një vlerë nga kolona C në të njëjtin rresht, përdorni këtë formulë:
=INDEX(C2:C10, MATCH(MAX(D2:D10), D2:D10, 0))
Përputhja e INDEKSIT me MIN
Për të gjetur vlerën më të vogël në kolonën D dhe për të tërhequr një vlerë të lidhur nga kolona C, përdorni këtë :
=INDEX(C2:C10, MATCH(MIN(D2:D10), D2:D10, 0))
Përputhja e INDEKSIT me MESATAREN
Për të përcaktuar vlerën më të afërt me mesataren në D2:D10 dhe për të marrë një vlerë korresponduese nga kolona C, kjo është formula për të përdorur:
=INDEX(C2:C10, MATCH(AVERAGE(D2:D10), D2:D10, -1 ))
Në varësi të mënyrës se si janë organizuar të dhënat tuaja, jepni 1 ose -1 argumentit të tretë (lloji_përputhje) ifunksioni MATCH:
- Nëse kolona juaj e kërkimit (kolona D në rastin tonë) renditet në rritje , vendosni 1. Formula do të llogarisë vlerën më të madhe që është më pak se ose e barabartë me vlerën mesatare.
- Nëse kolona juaj e kërkimit është e renditur në zbritje , shkruani -1. Formula do të llogarisë vlerën më të vogël që është më e madhe se ose e barabartë me vlerën mesatare.
- Nëse grupi juaj i kërkimit përmban një vlerë saktësisht të barabartë me mesataren, ju mund të fusë 0 për përputhjen e saktë. Nuk kërkohet renditje.
Në shembullin tonë, popullatat në kolonën D janë renditur në rend zbritës, kështu që ne përdorim -1 për llojin e përputhjes. Si rezultat, marrim "Tokio" pasi popullsia e tij (13,189,000) është përputhja më e afërt që është më e madhe se mesatarja (12,269,006).
Ju mund të jeni kurioz të dini se VLOOKUP mund të kryejë edhe llogaritje të tilla, por si formulë grupi: VLOOKUP me AVERAGE, MAX, MIN.
Përdorimi i INDEX MATCH me IFNA / IFERROR
Siç e keni vënë re ndoshta, nëse një INDEX MATCH formula në Excel nuk mund të gjejë një vlerë kërkimi, ajo prodhon një gabim #N/A. Nëse dëshironi të zëvendësoni shënimin standard të gabimit me diçka më kuptimplote, mbështillni formulën tuaj INDEX MATCH në funksionin IFNA. Për shembull:
=IFNA(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "No match is found")
Dhe tani, nëse dikush fut një tabelë kërkimi që nuk ekziston në intervalin e kërkimit, formula do ta informojë në mënyrë eksplicite përdoruesin se nuk ka përputhjegjetur:
Nëse dëshironi të kapni të gjitha gabimet, jo vetëm #N/A, përdorni funksionin IFERROR në vend të IFNA:
=IFERROR(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Oops, something went wrong!")
Ju lutemi mbani në mend se në shumë situata mund të mos jetë e mençur të maskoni të gjitha gabimet sepse ato ju paralajmërojnë për gabime të mundshme në formulën tuaj.
Kjo është mënyra se si të përdorni INDEX dhe MATCH në Excel. Shpresoj që shembujt tanë të formulës do të jenë të dobishëm për ju dhe mezi pres t'ju shohim në blogun tonë javën tjetër!
Praktikoni librin e punës për shkarkim
Shembuj të Excel INDEX MATCH (skedari .xlsx)
INDEX(array, row_num, [column_num])Këtu është një shpjegim shumë i thjeshtë i secilit parametër:
- array - një varg qelizash që dëshironi të ktheni një vlera nga.
- row_num - numri i rreshtit në grup nga i cili dëshironi të ktheni një vlerë. Nëse hiqet, kërkohet kolona_num.
- column_num - numri i kolonës në grup nga i cili dëshironi të ktheni një vlerë. Nëse hiqet, kërkohet row_num.
Për më shumë informacion, ju lutemi shihni funksionin Excel INDEX.
Dhe këtu është një shembull i formulës INDEX në formën e saj më të thjeshtë:
=INDEX(A1:C10,2,3)
Formula kërkon në qelizat A1 deri në C10 dhe kthen një vlerë të qelizës në rreshtin e dytë dhe në kolonën e tretë, d.m.th. qelizën C2.
Shumë e lehtë, apo jo? Megjithatë, kur punoni me të dhëna reale, vështirë se do ta dinit ndonjëherë se cilin rresht dhe kolonë dëshironi, ja ku funksioni MATCH është i dobishëm.
Funksioni MATCH - sintaksa dhe përdorimi
Funksioni MATCH i Excel kërkon për një vlerë kërkimi në një varg qelizash dhe kthen pozicionin relativ të asaj vlere në interval.
Sintaksa e funksionit MATCH është si më poshtë:
MATCH(vlera_kërkimi , grupi_kërkuesi, [lloji_përputhje])- vlera_kërkuese - numri ose vlera e tekstit që po kërkoni.
- array_lookup - një varg qelizash që janë të kërkuara.
- lloji_përputhje - specifikon nëse do të kthehet një përputhje e saktë ose përputhje më e afërt:
- 1 ose i hequr - gjen vlerën më të madhe që është më e vogël ose e barabartë me vlerën e kërkuar. Kërkon renditjen e grupit të kërkimit në rend rritës.
- 0 - gjen vlerën e parë që është saktësisht e barabartë me vlerën e kërkimit. Në kombinimin INDEX / MATCH, pothuajse gjithmonë keni nevojë për një përputhje të saktë, kështu që ju vendosni argumentin e tretë të funksionit tuaj MATCH në 0.
- -1 - gjen vlerën më të vogël që është më e madhe ose e barabartë me vlerën lookup_1. Kërkon renditjen e grupit të kërkimit në rend zbritës.
Për shembull, nëse diapazoni B1:B3 përmban vlerat "New-York", "Paris", "London", formula e mëposhtme kthen numrin 3, sepse "London" është hyrja e tretë në rangun:
=MATCH("London",B1:B3,0)
Për më shumë informacion, ju lutemi shikoni funksionin Excel MATCH.
Në në pamje të parë, dobia e funksionit MATCH mund të duket e dyshimtë. Kush kujdeset për pozicionin e një vlere në një interval? Ajo që duam të dimë është vetë vlera.
Më lejoni t'ju kujtoj se pozicioni relativ i vlerës së kërkimit (d.m.th. numrat e rreshtave dhe kolonave) është pikërisht ajo që ju duhet t'i jepni numri_rrjedhës dhe column_num argumentet e funksionit INDEX. Siç e mbani mend, Excel INDEX mund të gjejë vlerën në kryqëzimin e një rreshti dhe kolone të caktuar, por nuk mund të përcaktojë saktësisht se cilin rresht dhe kolonë dëshironi.
Si të përdorni funksionin INDEX MATCH në Excel
Tani që i dini bazat, besoj se i katashmë kanë filluar të kuptojnë se si MATCH dhe INDEX punojnë së bashku. Me pak fjalë, INDEX gjen vlerën e kërkimit sipas numrave të kolonave dhe rreshtave dhe MATCH i siguron ato numra. Kjo është e gjitha!
Për kërkim vertikal, ju përdorni funksionin MATCH vetëm për të përcaktuar numrin e rreshtit dhe për të furnizuar gamën e kolonës direkt në INDEX:
INDEX ( kolona për të kthyer një vlerë nga, MATCH ( vlera e kërkimit, kolona për të kërkuar, 0))E keni ende vështirësi për ta kuptuar këtë? Mund të jetë më e lehtë për t'u kuptuar nga një shembull. Supozoni se keni një listë të kryeqyteteve kombëtare dhe popullsisë së tyre:
Për të gjetur popullsinë e një kryeqyteti të caktuar, le të themi kryeqytetin e Japonisë, përdorni formulën e mëposhtme të INDEX MATCH:
=INDEX(C2:C10, MATCH("Japan", A2:A10, 0))
Tani, le të analizojmë se çfarë bën në të vërtetë secili komponent i kësaj formule:
- Funksioni MATCH kërkon vlerën e kërkimit "Japan" në diapazonin A2: A10, dhe kthen numrin 3, sepse "Japania" është e treta në grupin e kërkimit.
- Numri i rreshtit shkon drejtpërdrejt në argumentin row_num të INDEX duke e udhëzuar atë të kthejë një vlerë nga ai rreshti.
Pra, formula e mësipërme kthehet në një INDEX të thjeshtë(C2:C,3) që thotë të kërkosh në qelizat C2 deri në C10 dhe të tërhiqësh vlerën nga qeliza e tretë në atë diapazon, d.m.th. C4 sepse fillojmë të numërojmë nga rreshti i dytë.
Nuk dëshironi të kodoni qytetin në formulë? Futeni atë në një qelizë, të themi F1, furnizoni qelizënreferojuni MATCH, dhe do të merrni një formulë kërkimi dinamik:
=INDEX(C2:C10, MATCH(F1,A2:A10,0))
Shënim i rëndësishëm! Numri i rreshtave në Argumenti array i INDEX duhet të përputhet me numrin e rreshtave në argumentin lookup_array të MATCH, përndryshe formula do të prodhojë një rezultat të pasaktë.
Prisni, prisni… pse don A nuk përdorim thjesht formulën e mëposhtme Vlookup? Çfarë kuptimi ka të humbni kohë duke u përpjekur të kuptoni kthesat misterioze të Excel MATCH INDEX?
=VLOOKUP(F1, A2:C10, 3, FALSE)
Në këtë rast, nuk ka kuptim :) Ky shembull i thjeshtë është vetëm për qëllime demonstrimi, në mënyrë që të merrni një ndjenjë sesi funksionet INDEX dhe MATCH funksionojnë së bashku. Shembuj të tjerë që vijojnë më poshtë do t'ju tregojnë fuqinë e vërtetë të këtij kombinimi që përballon lehtësisht shumë skenarë kompleksë kur VLOOKUP pengohet.
Këshilla:
- Në Excel 365 dhe Excel 2021, ju mund të përdorë një formulë më moderne INDEX XMATCH.
- Për Fletët e Google, shihni shembujt e formulave me INDEX MATCH në këtë artikull.
INDEX MATCH vs. VLOOKUP
Kur Duke vendosur se cilin funksion të përdoret për kërkime vertikale, shumica e guruve të Excel pajtohen që INDEX MATCH është shumë më i mirë se VLOOKUP. Megjithatë, shumë njerëz vazhdojnë të qëndrojnë me VLOOKUP, së pari, sepse është më e thjeshtë dhe, së dyti, sepse nuk i kuptojnë plotësisht të gjitha përfitimet e përdorimit të formulës INDEX MATCH në Excel. Pa një kuptim të tillë, askush nuk është i gatshëm të investojë kohën e tij për të mësuarnjë sintaksë më komplekse.
Më poshtë, unë do të theksoj avantazhet kryesore të MATCH INDEX mbi VLOOKUP, dhe ju vendosni nëse është një shtesë e denjë për arsenalin tuaj të Excel.
4 arsye kryesore për t'u përdorur INDEX MATCH në vend të VLOOKUP
- Kërkimi nga e djathta në të majtë. Siç e di çdo përdorues i arsimuar, VLOOKUP nuk mund të shikojë në të majtë, që do të thotë se vlera juaj e kërkimit duhet të qëndrojë gjithmonë në kolonën më të majtë të tavolina. INDEX MATCH mund të bëjë kërkimin në të majtë me lehtësi! Shembulli i mëposhtëm e tregon atë në veprim: Si të vendosni një vlerë në të majtë në Excel.
- Futni ose fshini kolonat në mënyrë të sigurt. Formulat VLOOKUP prishen ose japin rezultate të pasakta kur një kolonë e re është fshihet nga ose shtohet në një tabelë kërkimi sepse sintaksa e VLOOKUP kërkon të specifikoni numrin e indeksit të kolonës nga e cila dëshironi të nxirrni të dhënat. Natyrisht, kur shtoni ose fshini kolona, numri i indeksit ndryshon.
Me INDEX MATCH, ju specifikoni diapazonin e kolonës së kthimit, jo një numër indeksi. Si rezultat, ju jeni të lirë të futni dhe hiqni sa më shumë kolona që dëshironi pa u shqetësuar për përditësimin e çdo formule të lidhur.
- Nuk ka kufi për madhësinë e një vlere kërkimi. Kur përdorni funksionin VLOOKUP, gjatësia totale e kritereve tuaja të kërkimit nuk mund të kalojë 255 karaktere, përndryshe do të përfundoni të keni #VALUE ! gabim. Pra, nëse grupi juaj i të dhënave përmban vargje të gjata, INDEX MATCH është i vetmi që funksiononzgjidhje.
- Shpejtësia më e lartë e përpunimit. Nëse tabelat tuaja janë relativisht të vogla, vështirë se do të ketë ndonjë ndryshim të rëndësishëm në performancën e Excel. Por nëse fletët tuaja të punës përmbajnë qindra ose mijëra rreshta, dhe rrjedhimisht qindra ose mijëra formula, MATCH INDEX do të funksionojë shumë më shpejt se VLOOKUP sepse Excel do të duhet të përpunojë vetëm kolonat e kërkimit dhe kthimit dhe jo të gjithë grupin e tabelës.
Ndikimi i VLOOKUP në performancën e Excel mund të jetë veçanërisht i dukshëm nëse libri juaj i punës përmban formula komplekse të grupeve si VLOOKUP dhe SUM. Çështja është se kontrollimi i secilës vlerë në grup kërkon një thirrje të veçantë të funksionit VLOOKUP. Pra, sa më shumë vlera të përmbajë grupi juaj dhe sa më shumë formula të grupeve të keni në një libër pune, aq më i ngadalshëm funksionon Excel.
Excel INDEX MATCH - shembuj formulash
Duke ditur arsyet për të mësuar funksionin MATCH INDEX, le të kalojmë në pjesën më interesante dhe të shohim se si mund t'i zbatoni njohuritë teorike në praktikë.
Formula INDEX MATCH për të parë nga e djathta në të majtë
Si përmendur tashmë, VLOOKUP nuk mund të shikojë majtas. Pra, nëse vlerat e kërkimit tuaj nuk janë kolona më e majtë, nuk ka asnjë shans që një formulë Vlookup t'ju sjellë rezultatin që dëshironi. Funksioni INDEX MATCH në Excel është më i gjithanshëm dhe nuk i intereson vërtet se ku ndodhen kolonat e kërkimit dhe të kthimit.
Për këtë shembull,ne do të shtojmë kolonën Rank në të majtë të tabelës sonë të mostrës dhe do të përpiqemi të kuptojmë se si renditet kryeqyteti rus, Moska, për sa i përket popullsisë.
Me vlerën e kërkimit në G1, përdorni formulën e mëposhtme për të kërkuar në C2:C10 dhe ktheni një vlerë përkatëse nga A2:A10:
=INDEX(A2:A10,MATCH(G1,C2:C10,0))
Këshillë. Nëse planifikoni të përdorni formulën tuaj INDEX MATCH për më shumë se një qelizë, sigurohuni që të kyçni të dy vargjet me referenca absolute të qelizave (si $A$2:$A$10 dhe $C$2:4C$10) në mënyrë që ato të mos shtrembërohen kur duke kopjuar formulën.
INDEX MATCH MATCH për të kërkuar në rreshta dhe kolona
Në shembujt e mësipërm, kemi përdorur INDEX MATCH si zëvendësim për VLOOKUP klasik për të kthyer një vlerë nga një kolonë e paracaktuar varg. Por, çka nëse duhet të kërkoni në rreshta dhe kolona të shumta? Me fjalë të tjera, çka nëse dëshironi të kryeni të ashtuquajturin kërkim matricë ose dykahësh ?
Kjo mund të duket e ndërlikuar, por formula është shumë e ngjashme në funksionin bazë Excel INDEX MATCH, me vetëm një ndryshim. Merreni me mend çfarë?
Thjesht, përdorni dy funksione MATCH - një për të marrë një numër rreshti dhe tjetri për të marrë një numër kolone. Dhe unë përgëzoj ata prej jush që e kanë hamendësuar mirë :)
INDEX (array, MATCH ( vlera vlookup, kolona për të parë kundër, 0), MATCH ( Vlera hlookup, rresht për të parë kundër, 0))Dhe tani, ju lutemi hidhini një sy tabelës më poshtë dhe le të ndërtojmë një Ndeshje INDEKSIformula për të gjetur popullsinë (në miliona) në një vend të caktuar për një vit të caktuar.
Me vendin e synuar në G1 (vlera vlookup) dhe vitin e synuar në G2 (vlera hlookup), formula merr këtë formë :
=INDEX(B2:D11, MATCH(G1,A2:A11,0), MATCH(G2,B1:D1,0))
Si funksionon kjo formulë
Sa herë që keni nevojë të kuptoni një formulë komplekse të Excel-it, ndajeni atë në pjesë më të vogla dhe shikoni se çfarë bën çdo funksion individual:
MATCH(G1,A2:A11,0)
– kërkon përmes A2:A11 për vlerën në qelizën G1 ("Kinë") dhe kthen pozicionin e tij, i cili është 2.
MATCH(G2,B1:D1,0))
- kërkon përmes B1:D1 për të marrë pozicionin e vlerës në qelizën G2 ("2015"), e cila është 3.
Numrat e rreshtave dhe kolonave të mësipërme shkojnë te argumentet përkatëse të funksionit INDEX:
INDEX(B2:D11, 2, 3)
Si rezultat, ju merrni një vlerë në kryqëzimin e rreshtit të dytë dhe kolonës së tretë në intervalin B2:D11, që është vlera në qelizën D3. Lehtë? Po!
Excel INDEX MATCH për të kërkuar kritere të shumta
Nëse keni pasur mundësinë të lexoni tutorialin tonë të Excel VLOOKUP, ndoshta keni testuar tashmë një formulë për Vlookup me shumë kritere. Megjithatë, një kufizim domethënës i kësaj qasjeje është nevoja për të shtuar një kolonë ndihmëse. Lajmi i mirë është se funksioni INDEX MATCH i Excel-it mund të shikohet edhe me dy ose më shumë kritere, pa modifikuar ose ristrukturuar të dhënat tuaja burimore!
Këtu është formula e përgjithshme INDEX MATCH me kritere të shumta:
{=INDEX( varg_kthimi, MATCH(1,