Excel INDEX MATCH vs. VLOOKUP - mga halimbawa ng formula

  • Ibahagi Ito
Michael Brown

Ipinapakita ng tutorial na ito kung paano gamitin ang INDEX at MATCH sa Excel at kung paano ito mas mahusay kaysa sa VLOOKUP.

Sa ilang kamakailang artikulo, gumawa kami ng mahusay na pagsisikap na ipaliwanag ang mga pangunahing kaalaman ng VLOOKUP function sa mga nagsisimula at magbigay ng mas kumplikadong mga halimbawa ng formula ng VLOOKUP sa mga power user. At ngayon, susubukan ko kung hindi man sabihin na huwag kang gumamit ng VLOOKUP, pagkatapos ay magpapakita man lang sa iyo ng alternatibong paraan para gumawa ng vertical lookup sa Excel.

"Para saan ko iyon kailangan?" baka magtaka ka. Dahil maraming limitasyon ang VLOOKUP na maaaring makahadlang sa iyong makuha ang ninanais na resulta sa maraming sitwasyon. Sa kabilang banda, ang kumbinasyon ng INDEX MATCH ay mas nababaluktot at mayroong maraming kahanga-hangang mga tampok na ginagawang mas mataas kaysa sa VLOOKUP sa maraming aspeto.

    Excel INDEX at mga function ng MATCH - ang mga pangunahing kaalaman

    Dahil ang layunin ng tutorial na ito ay magpakita ng alternatibong paraan upang magsagawa ng vlookup sa Excel sa pamamagitan ng paggamit ng kumbinasyon ng mga function ng INDEX at MATCH, hindi na namin tatalakayin ang kanilang syntax at gamit. Sasaklawin lamang namin ang minimum na kinakailangan para sa pag-unawa sa pangkalahatang ideya at pagkatapos ay titingnan ang mga halimbawa ng formula na nagpapakita ng lahat ng mga pakinabang ng paggamit ng INDEX MATCH sa halip na VLOOKUP.

    INDEX function - syntax at paggamit

    Ang Excel INDEX function ay nagbabalik ng halaga sa isang array batay sa mga numero ng row at column na iyong tinukoy. Ang syntax ng INDEX function ay diretso:

    ( criteria1= range1) * ( criteria2= range2), 0))}

    Tandaan. Isa itong array formula na dapat kumpletuhin gamit ang shortcut na Ctrl + Shift + Enter.

    Sa sample na talahanayan sa ibaba, ipagpalagay na gusto mong hanapin ang halaga batay sa 2 pamantayan, Customer at Produkto .

    Ang sumusunod na formula ng INDEX MATCH ay gumagana:

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

    Kung saan ang C2:C10 ay ang hanay kung saan magmumula ang isang halaga, F1 ay pamantayan1, A2:A10 ang hanay na ihahambing laban sa pamantayan1, F2 ay pamantayan 2, at B2:B10 ang hanay na ihahambing laban sa pamantayan2.

    Tandaang ipasok ang formula nang tama sa pamamagitan ng pagpindot sa Ctrl + Shift + Enter , at awtomatikong isasama ng Excel ang mga kulot na bracket tulad ng ipinapakita sa screenshot:

    Kung mas gusto mong hindi gumamit ng mga array formula sa iyong mga worksheet, magdagdag ng isa pang INDEX function sa formula at kumpletuhin ito ng karaniwang Enter hit:

    Paano gumagana ang mga formula na ito

    Gumagamit ang mga formula ng parehong diskarte gaya ng pangunahing INDEX MATCH function na tumitingin isang column. Upang suriin ang maraming pamantayan, gagawa ka ng dalawa o higit pang array ng TRUE at FALSE value na kumakatawan sa mga tugma at hindi tugma para sa bawat indibidwal na criterion, at pagkatapos ay i-multiply ang mga katumbas na elemento ng mga array na ito. Kino-convert ng multiplication operation ang TRUE at FALSE sa 1 at 0, ayon sa pagkakabanggit, at gumagawa ng array kung saan ang 1 ay tumutugma sa mga row na tumutugma sa lahat ng pamantayan.Ang MATCH function na may lookup value na 1 ay hinahanap ang unang "1" sa array at ipinapasa ang posisyon nito sa INDEX, na nagbabalik ng value sa row na ito mula sa tinukoy na column.

    Ang non-array formula ay umaasa sa ang kakayahan ng function ng INDEX na pangasiwaan ang mga array nang native. Ang pangalawang INDEX ay na-configure na may 0 row_num upang maipasa nito ang buong hanay ng column sa MATCH.

    Iyon ay isang mataas na antas na paliwanag ng lohika ng formula. Para sa buong detalye, pakitingnan ang Excel INDEX MATCH na may maraming pamantayan.

    Excel INDEX MATCH na may AVERAGE, MAX, MIN

    May mga espesyal na function ang Microsoft Excel upang makahanap ng minimum, maximum at average na halaga sa isang saklaw. Ngunit paano kung kailangan mong makakuha ng isang halaga mula sa isa pang cell na nauugnay sa mga halagang iyon? Sa kasong ito, gamitin ang MAX, MIN o AVERAGE function kasama ng INDEX MATCH.

    INDEX MATCH na may MAX

    Upang mahanap ang pinakamalaking value sa column D at magbalik ng value mula sa column C sa parehong row, gamitin ang formula na ito:

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

    INDEX MATCH na may MIN

    Upang mahanap ang pinakamaliit na value sa column D at kumuha ng nauugnay na value mula sa column C, gamitin ang isang ito :

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

    INDEX MATCH na may AVERAGE

    Upang gawin ang value na pinakamalapit sa average sa D2:D10 at makakuha ng katumbas na value mula sa column C, ito ang formula gamitin:

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

    Depende sa kung paano nakaayos ang iyong data, magbigay ng alinman sa 1 o -1 sa ikatlong argumento (match_type) ngang MATCH function:

    • Kung ang iyong lookup column (column D sa aming kaso) ay pinagsunod-sunod pataas , ilagay ang 1. Kakalkulahin ng formula ang pinakamalaking value na mas mababa kaysa sa o katumbas ng average na halaga.
    • Kung ang iyong hanay ng paghahanap ay pinagsunod-sunod pababa , ilagay ang -1. Kakalkulahin ng formula ang pinakamaliit na value na mas malaki kaysa sa o katumbas ng average na halaga.
    • Kung ang iyong lookup array ay naglalaman ng value na eksaktong katumbas ng sa average, ikaw maaaring magpasok ng 0 para sa eksaktong tugma. Walang kinakailangang pag-uuri.

    Sa aming halimbawa, ang mga populasyon sa column D ay pinagbukud-bukod sa pababang pagkakasunud-sunod, kaya ginagamit namin ang -1 para sa uri ng pagtutugma. Bilang resulta, nakuha namin ang "Tokyo" dahil ang populasyon nito (13,189,000) ay ang pinakamalapit na tugma na mas malaki kaysa sa karaniwan (12,269,006).

    Maaaring gusto mong malaman na Magagawa rin ng VLOOKUP ang mga ganoong kalkulasyon, ngunit bilang isang array formula: VLOOKUP na may AVERAGE, MAX, MIN.

    Paggamit ng INDEX MATCH sa IFNA / IFERROR

    Tulad ng malamang na napansin mo, kung isang INDEX MATCH Ang formula sa Excel ay hindi makakahanap ng halaga ng paghahanap, nagdudulot ito ng #N/A error. Kung gusto mong palitan ang karaniwang notasyon ng error ng isang bagay na mas makabuluhan, balutin ang iyong INDEX MATCH formula sa IFNA function. Halimbawa:

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

    At ngayon, kung may nag-input ng lookup table na wala sa hanay ng lookup, tahasang ipapaalam ng formula sa user na walang tugma angfound:

    Kung gusto mong mahuli ang lahat ng error, hindi lang #N/A, gamitin ang IFERROR function sa halip na IFNA:

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

    Pakitandaan na sa maraming sitwasyon, maaaring hindi matalinong itago ang lahat ng error dahil inaalerto ka nila tungkol sa mga posibleng pagkakamali sa iyong formula.

    Ganyan gamitin ang INDEX at MATCH sa Excel. Umaasa ako na ang aming mga halimbawa ng formula ay magiging kapaki-pakinabang para sa iyo at umaasa na makita ka sa aming blog sa susunod na linggo!

    Magsanay ng workbook para sa pag-download

    Mga halimbawa ng Excel INDEX MATCH (.xlsx file)

    INDEX(array, row_num, [column_num])

    Narito ang napakasimpleng paliwanag ng bawat parameter:

    • array - isang hanay ng mga cell na gusto mong ibalik value mula sa.
    • row_num - ang row number sa array kung saan mo gustong magbalik ng value. Kung aalisin, kinakailangan ang column_num.
    • column_num - ang numero ng column sa array kung saan mo gustong magbalik ng value. Kung aalisin, kailangan ang row_num.

    Para sa higit pang impormasyon, pakitingnan ang Excel INDEX function.

    At narito ang isang halimbawa ng INDEX formula sa pinakasimpleng anyo nito:

    =INDEX(A1:C10,2,3)

    Naghahanap ang formula sa mga cell A1 hanggang C10 at nagbabalik ng value ng cell sa 2nd row at ng 3rd column, ibig sabihin, cell C2.

    Napakadali, tama? Gayunpaman, kapag nagtatrabaho sa totoong data ay halos hindi mo malalaman kung aling row at column ang gusto mo, diyan magagamit ang MATCH function.

    MATCH function - syntax at paggamit

    Ang Excel MATCH function naghahanap ng lookup value sa hanay ng mga cell at ibinabalik ang relative position ng value na iyon sa range.

    Ang syntax ng MATCH function ay ang sumusunod:

    MATCH(lookup_value , lookup_array, [match_type])
    • lookup_value - ang numero o text value na hinahanap mo.
    • lookup_array - isang hanay ng mga cell na hinanap.
    • match_type - tumutukoy kung magbabalik ng eksaktong tugma o pinakamalapit na tugma:
      • 1 o inalis - hinahanap ang pinakamalaking value na mas mababa sa o katumbas ng lookup value. Nangangailangan ng pag-uuri ng lookup array sa pataas na pagkakasunud-sunod.
      • 0 - hinahanap ang unang value na eksaktong katumbas ng lookup value. Sa kumbinasyon ng INDEX / MATCH, halos palaging kailangan mo ng eksaktong tugma, kaya itinakda mo ang pangatlong argument ng iyong MATCH function sa 0.
      • -1 - hinahanap ang pinakamaliit na value na mas malaki sa o katumbas ng lookup_value. Nangangailangan ng pag-uuri ng lookup array sa pababang pagkakasunod-sunod.

    Halimbawa, kung ang hanay na B1:B3 ay naglalaman ng mga value na "New-York", "Paris", "London", ibinabalik ng formula sa ibaba ang numero 3, dahil ang "London" ay ang ikatlong entry sa hanay:

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

    Para sa higit pang impormasyon, pakitingnan ang Excel MATCH function.

    Sa unang tingin, ang pagiging kapaki-pakinabang ng MATCH function ay maaaring mukhang kaduda-dudang. Sino ang nagmamalasakit sa posisyon ng isang halaga sa isang hanay? Ang gusto naming malaman ay ang mismong halaga.

    Hayaan akong ipaalala sa iyo na ang kaugnay na posisyon ng halaga ng paghahanap (ibig sabihin, mga numero ng row at column) ay ang eksaktong kailangan mong ibigay sa row_num at column_num na mga argumento ng INDEX function. Gaya ng natatandaan mo, mahahanap ng Excel INDEX ang value sa juncture ng isang ibinigay na row at column, ngunit hindi nito matukoy kung aling eksaktong row at column ang gusto mo.

    Paano gamitin ang INDEX MATCH function sa Excel

    Ngayong alam mo na ang mga pangunahing kaalaman, naniniwala ako na mayroon nanagsimula nang magkaroon ng kahulugan kung paano gumagana ang MATCH at INDEX. Sa madaling sabi, hinahanap ng INDEX ang halaga ng paghahanap ayon sa mga numero ng column at row, at ibinibigay ng MATCH ang mga numerong iyon. Iyon lang!

    Para sa vertical lookup, gagamitin mo lang ang MATCH function para matukoy ang row number at direktang ibigay ang hanay ng column sa INDEX:

    INDEX ( column na magbabalik ng value mula sa, MATCH ( lookup value, column na hahanapin laban sa, 0))

    Nahihirapan pa rin bang malaman iyon? Maaaring mas madaling maunawaan mula sa isang halimbawa. Ipagpalagay na mayroon kang isang listahan ng mga pambansang kabisera at ang kanilang populasyon:

    Upang mahanap ang populasyon ng isang partikular na kabisera, sabihin ang kabisera ng Japan, gamitin ang sumusunod na INDEX MATCH formula:

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

    Ngayon, suriin natin kung ano talaga ang ginagawa ng bawat bahagi ng formula na ito:

    • Hinahanap ng MATCH function ang lookup value na "Japan" sa hanay na A2: A10, at ibinabalik ang numero 3, dahil ang "Japan" ay pangatlo sa lookup array.
    • Direkta ang row number sa row_num argument ng INDEX na nagtuturo dito na magbalik ng value mula doon row.

    Kaya, ang formula sa itaas ay nagiging isang simpleng INDEX(C2:C,3) na nagsasabing maghanap sa mga cell C2 hanggang C10 at hilahin ang value mula sa ika-3 cell sa hanay na iyon, i.e. C4 dahil nagsisimula kaming magbilang mula sa pangalawang row.

    Ayaw mong i-hardcode ang lungsod sa formula? Ipasok ito sa ilang cell, sabihin ang F1, ibigay ang cellreference sa MATCH, at makakakuha ka ng dynamic na lookup formula:

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

    Mahalagang tala! Ang bilang ng mga row sa Ang array argument ng INDEX ay dapat tumugma sa bilang ng mga row sa lookup_array argument ng MATCH, kung hindi, ang formula ay maglalabas ng maling resulta.

    Teka, teka... bakit don 't ginagamit lang natin ang sumusunod na formula ng Vlookup? Ano ang silbi ng pag-aaksaya ng oras sa pagsubok na alamin ang mga arcane twists ng Excel MATCH INDEX?

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

    Sa kasong ito, walang kabuluhan :) Ang simpleng halimbawang ito ay para sa mga layunin ng pagpapakita lamang, para maramdaman mo kung paano gumagana ang INDEX at MATCH function na magkasama. Ipapakita sa iyo ng iba pang mga sumusunod na halimbawa sa ibaba ang tunay na kapangyarihan ng kumbinasyong ito na madaling makayanan ang maraming kumplikadong mga sitwasyon kapag natitisod ang VLOOKUP.

    Mga Tip:

    • Sa Excel 365 at Excel 2021, ikaw maaaring gumamit ng mas modernong formula ng INDEX XMATCH.
    • Para sa Google Sheets, tingnan ang mga halimbawa ng formula na may INDEX MATCH sa artikulong ito.

    INDEX MATCH vs. VLOOKUP

    Kailan sa pagpapasya kung aling function ang gagamitin para sa mga vertical lookup, karamihan sa mga Excel guru ay sumasang-ayon na ang INDEX MATCH ay mas mahusay kaysa sa VLOOKUP. Gayunpaman, marami pa rin ang nananatili sa VLOOKUP, una, dahil ito ay mas simple at, pangalawa, dahil hindi nila lubos na nauunawaan ang lahat ng mga benepisyo ng paggamit ng INDEX MATCH formula sa Excel. Kung walang ganitong pag-unawa walang sinuman ang handang maglaan ng kanilang oras upang matutoisang mas kumplikadong syntax.

    Sa ibaba, ituturo ko ang mga pangunahing bentahe ng MATCH INDEX sa VLOOKUP, at magpapasya ka kung ito ay isang karapat-dapat na karagdagan sa iyong Excel arsenal.

    4 pangunahing dahilan para gamitin INDEX MATCH sa halip na VLOOKUP

    1. Pakanan pakaliwa lookup. Gaya ng alam ng sinumang edukadong user, ang VLOOKUP ay hindi maaaring tumingin sa kaliwa nito, ibig sabihin, ang iyong lookup value ay dapat palaging nasa kaliwang column ng ang lamesa. Ang INDEX MATCH ay maaaring gawin ang kaliwang paghahanap nang madali! Ipinapakita ito ng sumusunod na halimbawa sa pagkilos: Paano mag-Vlookup ng value sa kaliwa sa Excel.
    2. Ligtas na maglagay o magtanggal ng mga column. Nasisira ang mga formula ng VLOOKUP o naghahatid ng mga maling resulta kapag may bagong column. tinanggal mula sa o idinagdag sa isang lookup table dahil ang syntax ng VLOOKUP ay nangangailangan ng pagtukoy sa index number ng column kung saan mo gustong kunin ang data. Naturally, kapag nagdagdag o nagtanggal ka ng mga column, nagbabago ang index number.

      Sa INDEX MATCH, tinukoy mo ang hanay ng return column, hindi isang index number. Bilang resulta, malaya kang magpasok at mag-alis ng maraming column hangga't gusto mo nang hindi nababahala tungkol sa pag-update ng bawat nauugnay na formula.

    3. Walang limitasyon para sa laki ng value ng lookup. Kapag ginagamit ang VLOOKUP function, hindi maaaring lumampas sa 255 character ang kabuuang haba ng iyong pamantayan sa paghahanap, kung hindi, magkakaroon ka ng #VALUE ! pagkakamali. Kaya, kung ang iyong dataset ay naglalaman ng mahabang string, INDEX MATCH ang tanging gumaganasolusyon.
    4. Mas mataas na bilis ng pagproseso. Kung ang iyong mga talahanayan ay medyo maliit, halos hindi magkakaroon ng anumang makabuluhang pagkakaiba sa pagganap ng Excel. Ngunit kung ang iyong mga worksheet ay naglalaman ng daan-daan o libu-libong mga row, at dahil dito ay daan-daan o libu-libong mga formula, ang MATCH INDEX ay gagana nang mas mabilis kaysa sa VLOOKUP dahil ang Excel ay kailangang magproseso lamang ng mga hanay ng paghahanap at pagbabalik kaysa sa buong hanay ng talahanayan.

      Ang epekto ng VLOOKUP sa performance ng Excel ay maaaring maging partikular na kapansin-pansin kung ang iyong workbook ay naglalaman ng mga kumplikadong array formula tulad ng VLOOKUP at SUM. Ang punto ay ang pagsuri sa bawat halaga sa array ay nangangailangan ng isang hiwalay na tawag ng VLOOKUP function. Kaya, mas maraming value ang nilalaman ng iyong array at mas maraming array formula ang mayroon ka sa isang workbook, mas mabagal ang performance ng Excel.

    Excel INDEX MATCH - mga halimbawa ng formula

    Alam ang dahilan para matutunan ang MATCH INDEX function, pumunta tayo sa pinakakawili-wiling bahagi at tingnan kung paano mo mailalapat ang teoretikal na kaalaman sa pagsasanay.

    INDEX MATCH formula upang tumingin mula kanan pakaliwa

    Bilang nabanggit na, hindi makatingin ang VLOOKUP sa kaliwa nito. Kaya, maliban kung ang iyong mga halaga ng paghahanap ay ang pinakakaliwang column, walang pagkakataon na ang isang Vlookup formula ay magdadala sa iyo ng resulta na gusto mo. Ang function na INDEX MATCH sa Excel ay mas maraming nalalaman at wala talagang pakialam kung saan matatagpuan ang lookup at return column.

    Para sa halimbawang ito,idaragdag namin ang column ng Rank sa kaliwa ng aming sample na talahanayan at susubukan naming malaman kung paano nagra-rank ang kabisera ng Russia, ang Moscow, sa mga tuntunin ng populasyon.

    Gamit ang lookup value sa G1, gamitin ang sumusunod na formula upang maghanap sa C2:C10 at magbalik ng katumbas na halaga mula sa A2:A10:

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

    Tip. Kung plano mong gamitin ang iyong INDEX MATCH formula para sa higit sa isang cell, tiyaking i-lock ang parehong mga hanay na may ganap na mga sanggunian sa cell (tulad ng $A$2:$A$10 at $C$2:4C$10) para hindi sila masira kapag pagkopya ng formula.

    INDEX MATCH MATCH para maghanap sa mga row at column

    Sa mga halimbawa sa itaas, ginamit namin ang INDEX MATCH bilang kapalit ng classic na VLOOKUP para magbalik ng value mula sa isang paunang natukoy na isang column saklaw. Ngunit paano kung kailangan mong maghanap sa maraming row at column? Sa madaling salita, paano kung gusto mong gawin ang tinatawag na matrix o two-way lookup?

    Maaaring nakakalito ito, ngunit halos magkapareho ang formula sa pangunahing function ng Excel INDEX MATCH, na may isang pagkakaiba lang. Guess what?

    Simple lang, gumamit ng dalawang MATCH function – isa para makakuha ng row number at isa pa para makakuha ng column number. At binabati ko iyong mga nakahula ng tama :)

    INDEX (array, MATCH ( vlookup value, column to look up against, 0), MATCH ( hlookup value, row to look up against, 0))

    At ngayon, mangyaring tingnan ang talahanayan sa ibaba at bumuo tayo ng INDEX MATCH MATCHformula upang mahanap ang populasyon (sa milyun-milyon) sa isang partikular na bansa para sa isang partikular na taon.

    Gamit ang target na bansa sa G1 (value ng vlookup) at ang target na taon sa G2 (hlookup value), ganito ang hugis ng formula :

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

    Paano gumagana ang formula na ito

    Sa tuwing kailangan mong maunawaan ang isang kumplikadong formula ng Excel, hatiin ito sa mas maliliit na bahagi at tingnan kung ano ang ginagawa ng bawat indibidwal na function:

    MATCH(G1,A2:A11,0) – naghahanap sa pamamagitan ng A2:A11 para sa value sa cell G1 ("China") at ibinalik ang posisyon nito, na 2.

    MATCH(G2,B1:D1,0)) – naghahanap sa pamamagitan ng B1:D1 para makuha ang posisyon ng value sa cell G2 ("2015"), na 3.

    Ang mga numero ng row at column sa itaas ay pumupunta sa mga katumbas na argumento ng INDEX function:

    INDEX(B2:D11, 2, 3)

    Bilang resulta, makakakuha ka ng value sa intersection ng 2nd row at 3rd column sa range B2:D11, na siyang value sa cell D3. Madali? Oo!

    Excel INDEX MATCH para maghanap ng maraming pamantayan

    Kung nagkaroon ka ng pagkakataong basahin ang aming Excel VLOOKUP tutorial, malamang na nasubok mo na ang isang formula sa Vlookup na may maraming pamantayan. Gayunpaman, ang isang makabuluhang limitasyon ng diskarte na iyon ay ang pangangailangan na magdagdag ng isang helper column. Ang magandang balita ay ang INDEX MATCH function ng Excel ay makakahanap din ng dalawa o higit pang pamantayan, nang hindi binabago o binabago ang iyong source data!

    Narito ang generic na INDEX MATCH formula na may maraming pamantayan:

    {=INDEX(( return_range, MATCH(1,

    Si Michael Brown ay isang dedikadong mahilig sa teknolohiya na may hilig sa pagpapasimple ng mga kumplikadong proseso gamit ang mga tool sa software. Sa higit sa isang dekada ng karanasan sa industriya ng tech, hinasa niya ang kanyang mga kasanayan sa Microsoft Excel at Outlook, pati na rin ang Google Sheets at Docs. Ang blog ni Michael ay nakatuon sa pagbabahagi ng kanyang kaalaman at kadalubhasaan sa iba, na nagbibigay ng madaling sundan na mga tip at mga tutorial para sa pagpapabuti ng pagiging produktibo at kahusayan. Isa ka mang batikang propesyonal o baguhan, nag-aalok ang blog ni Michael ng mahahalagang insight at praktikal na payo para masulit ang mahahalagang software tool na ito.