Talaan ng nilalaman
Kapag kailangan mong maghanap ng data sa iyong sheet na tumutugma sa isang partikular na key record, kadalasan ay Google Sheets VLOOKUP ang iyong pinupuntahan. Ngunit hayan ka na: Sinasampal ka ng VLOOKUP ng mga limitasyon halos kaagad. Kaya naman mas mabuting dagdagan mo ang mga mapagkukunan para sa gawain sa pamamagitan ng pag-aaral ng INDEX MATCH.
INDEX MATCH sa Google Sheets ay isang kumbinasyon ng dalawang function: INDEX at MATCH. Kapag ginamit nang magkasabay, kumikilos sila bilang isang mas mahusay na alternatibo para sa Google Sheets VLOOKUP. Sama-sama nating alamin ang kanilang mga kakayahan sa blog post na ito. Ngunit una, gusto kong bigyan ka ng mabilisang paglilibot sa sarili nilang mga tungkulin sa mga spreadsheet.
Google Sheets MATCH function
Gusto kong magsimula sa Google Sheets MATCH kasi simple lang talaga. Ini-scan nito ang iyong data para sa isang partikular na halaga at ibinabalik ang posisyon nito:
=MATCH(search_key, range, [search_type])- search_key ang talang iyon na hinahanap mo. Kinakailangan.
- range ay alinman sa isang row o column na titingnan. Kinakailangan.
Tandaan. Tumatanggap lang ang MATCH ng mga one-dimensional na array: alinman sa row o column. Ang
- search_type ay opsyonal at tinutukoy kung ang tugma ay dapat na eksakto o tinatayang. Kung aalisin, ito ay 1 bilang default:
- 1 ay nangangahulugan na ang hanay ay pinagsunod-sunod sa pataas na pagkakasunud-sunod. Nakukuha ng function ang pinakamalaking value na mas mababa sa o katumbas ng iyong search_key .
- 0 ay gagawing hanapin ng function ang eksaktong tugma kung sakaling ang iyong hanay ay hindipinagsunod-sunod.
- -1 ay nagpapahiwatig na ang mga tala ay niraranggo gamit ang pababang pag-uuri. Sa kasong ito, nakukuha ng function ang pinakamaliit na value na mas malaki kaysa o katumbas ng iyong search_key .
Narito ang isang halimbawa: upang makakuha ng posisyon ng isang tiyak berry sa listahan ng lahat ng berries, kailangan ko ang sumusunod na MATCH formula sa aking Google Sheets:
=MATCH("Blueberry", A1:A10, 0)
Google Sheets INDEX function
Habang ipinapakita ng MATCH kung saan hahanapin ang iyong value (lokasyon nito sa range), kinukuha ng function ng Google Sheets INDEX ang value mismo batay sa mga offset ng row at column nito:
=INDEX(reference, [row], [column]) Ang- reference ay ang hanay na titingnan. Kinakailangan.
- row ay ang bilang ng mga row na i-offset mula sa pinakaunang cell ng iyong range . Opsyonal, 0 kung aalisin.
- column , tulad ng row , ay ang bilang ng mga offset na column. Opsyonal din, 0 din kung tinanggal.
Kung tutukuyin mo ang parehong opsyonal na argumento (row at column), magbabalik ang Google Sheets INDEX ng record mula sa patutunguhang cell:
=INDEX(A1:C10, 7, 1)
Laktawan ang isa sa mga argumentong iyon at ibibigay sa iyo ng function ang buong row o column nang naaayon:
=INDEX(A1:C10, 7)
Paano gamitin ang INDEX MATCH sa Google Sheets — mga halimbawa ng formula
Kapag ang INDEX at MATCH ay ginamit nang magkasama sa mga spreadsheet, ang mga ito ang pinakamalakas. Maaari nilang ganap na palitan ang Google Sheets VLOOKUP at kunin ang kinakailangang tala mula sa isang talahanayan batay saiyong key value.
Buuin ang iyong unang INDEX MATCH formula para sa Google Sheets
Ipagpalagay na gusto mong makuha ang impormasyon ng stock sa cranberry mula sa parehong talahanayan na ginamit ko sa itaas. Pinalitan ko lang ang column B at C (malalaman mo kung bakit sa ibang pagkakataon).
- Ngayon, nakalista na ang lahat ng berries sa column C. Tutulungan ka ng Google Sheets MATCH function na mahanap ang eksaktong row ng cranberry: 8
=MATCH("Cranberry", C1:C10, 0)
- Ilagay ang buong MATCH formula sa isang row argument sa INDEX function:
=INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))
Ibabalik ng isang ito ang buong row na may cranberry sa loob nito.
- Ngunit dahil ang kailangan mo lang ay ang impormasyon ng stock, tukuyin din ang numero ng hanay ng paghahanap: 3
=INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)
- Voila !
- Maaari kang magpatuloy at isuko ang huling tagapagpahiwatig ng column ( 2 ). Hindi mo ito kakailanganin kung gagamitin mo lang ang hanay ng paghahanap ( B1:B10 ) sa halip na ang buong talahanayan ( A1:C10 ) bilang unang argumento:
=INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))
Tip. Ang isang mas maginhawang paraan upang suriin ang pagkakaroon ng iba't ibang berry ay ilagay ang mga ito sa isang drop-down na listahan ( E2 ) at i-refer ang iyong MATCH function sa cell na may listahang iyon:
=INDEX(B1:B10, MATCH(E2, C1:C10, 0))
Kapag pinili mo ang berry, magbabago ang nauugnay na value:
Bakit mas mahusay ang INDEX MATCH sa Google Sheets kaysa sa VLOOKUP
Alam mo na na ang Google Sheets INDEX MATCH ay tumitingin sa iyong halaga sa isang talahanayan at nagbabalik ng isa pang nauugnay na tala mula sa parehonghilera. At alam mo na ang Google Sheets VLOOKUP ay eksaktong pareho. Kaya bakit mag-abala?
Ang bagay ay, INDEX MATCH ay may ilang pangunahing bentahe kaysa sa VLOOKUP:
- Kaliwang bahagi posible ang paghahanap . Binago ko ang mga lugar ng column kanina upang ilarawan ang isang ito: Ang function ng INDEX MATCH sa Google Sheets ay maaari at tumingin sa kaliwa ng column ng paghahanap. Palaging hinahanap ng VLOOKUP ang pinakaunang column ng hanay at naghahanap ng mga tugma sa kanan nito — kung hindi, nakakakuha lang ito ng #N/A error:
- Walang magulo mga sanggunian kapag nagdaragdag ng mga bagong column at naglilipat ng mga dati nang column. Kung magdadagdag ka o maglilipat ng mga column, awtomatikong ipapakita ng INDEX MATCH ang mga pagbabago nang hindi nakikialam sa resulta. Dahil gumagamit ka ng mga sanggunian sa column, ang mga ito ay agad na inaayos ng Google Sheets:
Sige at subukang gawin ito sa VLOOKUP: nangangailangan ito ng numero ng order sa halip na mga cell reference para sa hanay ng paghahanap. Kaya, magkakaroon ka lang ng maling halaga dahil ang isa pang column ay nasa parehong lugar — column 2 sa aking halimbawa:
- Isinasaalang-alang ang text case kung kinakailangan (higit pa dito sa ibaba).
- Maaaring gamitin para sa vertical lookup batay sa maraming pamantayan.
Iniimbitahan kitang tumingin sa huling dalawang punto nang detalyado sa ibaba.
Case-sensitive na v-lookup na may INDEX MATCH sa Google Sheets
INDEX MATCH ay isang go-to pagdating sa case-pagiging sensitibo.
Ipagpalagay na ang lahat ng mga berry ay ibinebenta sa dalawang paraan — maluwag (tinitimbang sa counter) at nakaimpake sa mga kahon. Kaya, mayroong dalawang paglitaw ng bawat berry na nakasulat sa magkakaibang mga kaso sa listahan, bawat isa ay may sariling ID na iba-iba rin sa mga kaso:
Kaya paano mo makikita ang impormasyon ng stock sa isang berry na ibinebenta sa isang tiyak na paraan? Ibabalik ng VLOOKUP ang unang pangalan na mahanap nito anuman ang kaso nito.
Sa kabutihang palad, magagawa ito ng INDEX MATCH para sa Google Sheets nang tama. Kakailanganin mo lang gumamit ng isang karagdagang function — FIND o EXACT.
Halimbawa 1. FIND para sa case-sensitive na Vlookup
Ang FIND ay isang case-sensitive na function sa Google Sheets na ginagawang mahusay para sa case-sensitive vertical lookup:
=ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))
Tingnan natin kung ano ang mangyayari sa formula na ito:
- HANAPIN ang mga pag-scan sa column C ( C2:C19 ) para sa record mula sa E2 ( cherry ) na isinasaalang-alang ang letter case nito. Kapag nahanap na, "minarkahan" ng formula ang cell na iyon ng isang numero — 1 .
- Hinahanap ng MATCH ang markang ito — 1 — sa parehong column ( C ) at ibibigay ang numero ng row nito sa INDEX.
- INDEX ay bumaba sa row na iyon sa column B ( B2:B19 ) at kinukuha ang kinakailangang record sa iyo.
- Kapag natapos mo na ang pagbuo ng formula, pindutin ang Ctrl+Shift+Enter upang magdagdag ng ArrayFormula sa simula. Kinakailangan ito dahil kung wala ito, hindi makakapaghanap ang FIND sa mga arrays (sa higit sa isang cell). O maaari mong i-type' ArrayFormula ' mula sa iyong keyboard.
Halimbawa 2. EXACT para sa case-sensitive na Vlookup
Kung papalitan mo ang FIND ng EXACT, ang huli ay maghahanap ng mga tala na may eksaktong parehong mga character, kasama ang kanilang text case.
Ang pagkakaiba lang ay ang EXACT na "nagmarka" ng tugma ng TRUE sa halip na numero 1 . Kaya, ang unang argument para sa MATCH ay dapat na TRUE :
=ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))
Google Sheets INDEX MATCH na may maraming pamantayan
Paano kung may ilang kundisyon batay sa kung saan mo gustong kunin ang record?
Tingnan natin ang presyo ng cherry na ibinebenta sa PP bucket at ubos na :
Inayos ko ang lahat ng pamantayan sa mga drop-down na listahan sa column F. At ito ay Google Sheets INDEX MATCH na sumusuporta sa maraming pamantayan, hindi VLOOKUP. Narito ang formula na kakailanganin mong gamitin:
=ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))
Huwag mag-panic! :) Ang logic nito ay talagang simple:
- CONCATENATE(F2:F4) pinagsasama ang lahat ng tatlong record mula sa mga cell na may pamantayan sa isang string tulad nito:
CherryPP bucketUbos na
Ito ay isang search_key para sa MATCH, o, sa madaling salita, kung ano ang iyong hinahanap sa talahanayan.
- A2:A24&C2:C24&D2:D24 ay bumubuo ng isang hanay para tingnan ang MATCH function. Dahil lahat ng tatlong pamantayan ay nagaganap sa tatlong magkahiwalay na column, sa ganitong paraan ay pagsasamahin mo ang mga ito:
CherryCardboard trayIn stock
CherryFilm packagingOut of stock
CherryPP bucketUbos na
etc .
- Ang huling argumento sa MATCH — 0 — ay ginagawang posible na mahanap ang eksaktong tugma para sa CherryPP bucketRunning out sa lahat ng mga row ng pinagsamang column. Gaya ng nakikita mo, ito ay nasa ika-3 row.
- At pagkatapos ay ginagawa ng INDEX ang bagay nito: kinukuha nito ang record mula sa ika-3 hilera ng column B.
- Ginagamit ang ArrayFormula upang payagan ang iba pang mga function na gumana sa mga array.
Tip. Kung walang mahanap na tugma ang iyong formula, magbabalik ito ng error. Upang maiwasan iyon, maaari mong balutin ang buong formula na ito sa IFERROR (gawin itong unang argumento) at ilagay ang anumang nais mong makita sa isang cell sa halip na mga error bilang pangalawang argumento:
=IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")
Mas magandang alternatibo sa INDEX MATCH sa Google Sheets — Maramihang VLOOKUP Matches
Anumang lookup function na gusto mo, VLOOKUP o INDEX MATCH, may mas magandang alternatibo sa kanilang dalawa.
Maramihan Ang VLOOKUP Matches ay isang espesyal na add-on para sa Google Sheets na idinisenyo upang:
- paghanap nang walang mga formula
- paghanap sa lahat ng direksyon
- paghanap ayon sa maraming kundisyon para sa iba't ibang uri ng data : teksto, mga numero, petsa, oras, atbp.
- kumuha ng ilang tugma, hangga't kailangan mo (siyempre, kung gaano karami ang mga ito sa iyong talahanayan)
Ang interface ay diretso, kaya hindi mo kailangang mag-alinlangan kung ginagawa mo itolahat nang tama:
- Piliin ang hanay ng pinagmulan.
- Itakda ang bilang ng mga tugma at column na ibabalik.
- I-fine-tune ang mga kundisyon gamit ang mga paunang natukoy na operator ( naglalaman, =, hindi walang laman , sa pagitan ng , atbp.).
Magagawa mo ring:
- i-preview ang resulta
- magpasya kung saan ito ilalagay
- at kung paano: bilang isang formula o mga value lang
Huwag palampasin ang pagkakataong ito na tingnan ang add-on. Sige at i-install ito mula sa Google Workspace Marketplace. Ang pahina ng tutorial nito ay magpapaliwanag sa bawat opsyon nang detalyado.
Naghanda din kami ng isang espesyal na video sa pagtuturo:
Magkita tayo sa mga komento sa ibaba o sa susunod na artikulo ;)