INDEX MATCH Google Sheetsis - teine viis vertikaalseks otsinguks

  • Jaga Seda
Michael Brown

Kui teil on vaja leida oma lehel andmeid, mis vastavad teatud võtmekirjele, siis tavaliselt pöördute Google Sheetsi VLOOKUPi poole. Aga siit tulebki: VLOOKUP lööb teile peaaegu kohe piiranguid. Seepärast on parem suurendada ülesande jaoks vajalikke ressursse, õppides ära INDEX MATCHi.

INDEX MATCH Google Sheetsis on kombinatsioon kahest funktsioonist: INDEX ja MATCH. Tandemina kasutades toimivad nad parema alternatiivina Google Sheets VLOOKUPile. Tutvustame nende võimalusi koos selles blogipostituses. Kuid kõigepealt tahaksin anda teile kiire ülevaate nende enda rollidest tabelites.

    Google Sheets MATCH funktsioon

    Ma tahaksin alustada Google Sheetsi MATCHiga, sest see on väga lihtne. See otsib teie andmeid konkreetse väärtuse järgi ja tagastab selle positsiooni:

    =MATCH(search_key, range, [search_type])
    • search_key on see rekord, mida te otsite. Vajalik.
    • vahemik on kas rida või veerg, mida vaadata. Nõutav.

      Märkus. MATCH aktsepteerib ainult ühemõõtmelisi massiive: kas rida või veerg.

    • search_type on valikuline ja määrab, kas vaste peaks olema täpne või ligikaudne. Kui see jäetakse välja, on vaikimisi 1:
      • 1 tähendab, et vahemik sorteeritakse kasvavas järjekorras. Funktsioon saab suurima väärtuse, mis on väiksem või võrdne sinu search_key .
      • 0 paneb funktsiooni otsima täpset kokkulangevust, kui teie vahemik ei ole sorteeritud.
      • -1 viitab sellele, et kirjeid järjestatakse kahaneva sorteerimise abil. Sel juhul saab funktsioon väikseima väärtuse, mis on suurem või võrdne sinu search_key .

    Siin on näide: et saada teatud marja positsiooni kõigi marjade nimekirjas, vajan ma oma Google Sheetsis järgmist MATCH-valemit:

    =MATCH("Blueberry", A1:A10, 0)

    Google Sheets INDEX funktsioon

    Kui MATCH näitab, kust oma väärtust otsida (selle asukoht vahemikus), siis Google Sheetsi INDEX-funktsioon otsib väärtuse ise selle rea ja veeru nihete alusel:

    =INDEX(viide, [rida], [veerg])
    • viide on vahemik, mida otsida. Nõutav.
    • rida on ridade arv, mis tuleb nihutada teie vahemiku esimesest lahtrist. Valikuline, 0, kui see jäetakse välja.
    • veerg , nagu ka rida , on nihkesammaste arv. Samuti valikuline, samuti 0, kui see jäetakse välja.

    Kui määrate mõlemad valikulised argumendid (rida ja veerg), tagastab Google Sheets INDEX kirje sihtruutu lahtrist:

    =INDEX(A1:C10, 7, 1)

    Jäta üks neist argumentidest vahele ja funktsioon annab sulle vastavalt kogu rea või veeru:

    =INDEX(A1:C10, 7)

    Kuidas kasutada INDEX MATCHi Google Sheetsis - valemite näited

    Kui INDEXi ja MATCHi kasutatakse tabelites koos, on nad kõige võimsamad. Nad võivad täiesti asendada Google Sheets VLOOKUPi ja tuua vajaliku kirje tabelist teie võtmeväärtuse alusel.

    Koostage oma esimene INDEX MATCH valem Google Sheets jaoks

    Oletame, et soovite saada varude infot jõhvika kohta samast tabelist, mida kasutasin eespool. Ma vahetasin ainult veerud B ja C (miks, saate veidi hiljem teada).

    1. Nüüd on kõik marjad loetletud veerus C. Google Sheets MATCH funktsioon aitab teil leida täpse jõhvika rea: 8

      =MATCH("Cranberry", C1:C10, 0)

    2. Pange kogu see MATCH valemiga rida argument INDEX funktsioonis:

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))

      See toob tagasi kogu rea jõhvikaid.

    3. Aga kuna teil on vaja ainult varude infot, määrake ka otsingusammiku number: 3

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)

    4. Voila!

    5. Võite minna kaugemale ja loobuda viimasest veeru näitajast ( 2 ). Seda ei ole üldse vaja, kui kasutate ainult otsingusammast ( B1:B10 ), mitte kogu tabelit ( A1:C10 ) esimese argumendina:

      =INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))

      Vihje. Mugavam viis erinevate marjade kättesaadavuse kontrollimiseks oleks paigutada need ripploendistikku ( E2 ) ja viidake oma MATCH-funktsioonile lahtrile, kus on see nimekiri:

      =INDEX(B1:B10, MATCH(E2, C1:C10, 0))

      Kui valite marja, muutub sellega seotud väärtus vastavalt:

    Miks INDEX MATCH Google Sheetsis on parem kui VLOOKUP

    Te juba teate, et Google Sheets INDEX MATCH otsib teie väärtuse tabelis üles ja tagastab teise seotud kirje samast reast. Ja te teate, et Google Sheets VLOOKUP teeb täpselt sama. Miks siis vaeva näha?

    Asi on nii, INDEX MATCH on mõned olulised eelised üle VLOOKUP:

    1. Vasakpoolne otsing on võimalik . ma muutsin varem veergude kohti, et seda illustreerida: INDEX MATCH funktsioon Google Sheetsis võib otsida ja otsib ka otsingusammast vasakule. VLOOKUP otsib alati vahemiku kõige esimest veergu ja otsib vasteid sellest paremale - muidu saab ainult #N/A vigu:

    2. Uute veergude lisamisel ja olemasolevate liigutamisel ei ole segaseid viiteid. Kui te lisate või liigutate veerge, kajastab INDEX MATCH muudatusi automaatselt, ilma tulemustesse sekkumata. Kuna te kasutate veeruviiteid, kohandab Google Sheets neid koheselt:

      Mine edasi ja proovi seda teha VLOOKUPiga: see nõuab järjekorranumbrit, mitte lahtriviiteid lookup veergu jaoks. Seega, sa saad lõpuks lihtsalt vale väärtuse, sest teine veerg võtab sama koha - veeru 2 minu näites:

    3. Arvestab teksti puhul kui see on vajalik (rohkem sellest allpool).
    4. Saab kasutada vertikaalseks otsinguks mitme kriteeriumi alusel.

    Kutsun teid üles vaatama kahte viimast punkti üksikasjalikult allpool.

    Suur- ja väiketähtedega v-lookup koos INDEX MATCHiga Google Sheetsis

    INDEX MATCH on hea valik, kui tegemist on suur- ja väiketähendusega.

    Oletame, et kõiki marju müüakse kahel viisil - lahtiselt (leti juures kaalutud) ja kastidesse pakituna. Seega on iga marja kaks esinemist, mis on loendis eri juhtudel kirjas, mõlemal on oma ID, mis samuti on kastide lõikes erinev:

    Kuidas saab siis otsida varude infot teatud viisil müüdud marja kohta? VLOOKUP tagastab esimese nime, mille ta leiab, olenemata selle juhtumist.

    Õnneks suudab INDEX MATCH for Google Sheets seda korrektselt teha. Teil on vaja kasutada vaid ühte lisafunktsiooni - FIND või EXACT.

    Näide 1. FIND suur- ja väiketähelepanu Vlookup'i jaoks

    FIND on Google Sheetsis suur- ja väiketähtedega funktsioon, mis muudab selle suurepäraseks suur- ja väiketähtedega vertikaalseks otsinguks:

    =ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))

    Vaatame, mis selle valemiga juhtub:

    1. FIND otsib veergu C ( C2:C19 ) rekordiks alates E2 ( kirss ), arvestades selle tähtedega. Kui valem on leitud, "märgistab" see lahter numbriga - 1 .
    2. MATCH otsib seda märki - 1 - samas veerus ( C ) ja annab selle rea numbri INDEXile.
    3. INDEX jõuab alla selle rea veerus B ( B2:B19 ) ja toob teile vajaliku kirje.
    4. Kui olete valemi koostamise lõpetanud, vajutage Ctrl+Shift+Enter, et lisada algusse ArrayFormula. See on vajalik, sest ilma selleta ei saa FIND otsida massiividest (rohkem kui ühes lahtris). Või võite sisestada ' ArrayFormula ' oma klaviatuurilt.

    Näide 2. EXACT suur- ja väiketähendusega Vlookup'i jaoks

    Kui asendate FIND-i EXACT-iga, otsib viimane kirjeid, millel on täpselt samad tähemärgid, kaasa arvatud nende tekstisuurused.

    Ainus erinevus on see, et EXACT "tähistab" mängu koos TÕELINE mitte number 1 Seega peaks MATCHi esimene argument olema järgmine TÕELINE :

    =ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))

    Google Sheets INDEX MATCH mitme kriteeriumiga

    Mis siis, kui on mitu tingimust, mille alusel soovite kirje välja otsida?

    Kontrollime hinda kirss mida müüakse PP ämbrid ja on juba otsa saab :

    Ma paigutasin kõik kriteeriumid ripploeteludesse veerus F. Ja see on Google Sheets INDEX MATCH, mis toetab mitut kriteeriumi, mitte VLOOKUP. Siin on valem, mida peate kasutama:

    =ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))

    Ärge paanitsege! :) Selle loogika on tegelikult üsna lihtne:

    1. CONCATENATE(F2:F4) ühendab kõik kolm kirjet lahtritest, millel on kriteeriumid, üheks stringiks, näiteks nii:

      CherryPP ämberJooksu lõppemine

      See on search_key jaoks MATCH ehk teisisõnu, mida te tabelis otsite.

    2. A2:A24&C2:C24&D2:D24 moodustavad vahemik MATCH-funktsiooni jaoks. Kuna kõik kolm kriteeriumi leiavad aset kolmes eraldi veerus, siis kombineerite need omamoodi:

      CherryKartongist kandikLaos

      CherryFilmi pakendLaos on otsas

      CherryPP ämberJooksu lõppemine

      jne.

    3. Viimane argument MATCH - 0 - võimaldab leida täpse vaste CherryPP ämberJooksu lõppemine kõigi nende kombineeritud veergude ridade vahel. Nagu näete, on see 3. reas.
    4. Ja siis teeb INDEX oma tööd: ta otsib kirje veeru B kolmandast reast.
    5. ArrayFormula kasutatakse selleks, et teised funktsioonid saaksid töötada massiividega.

    Vihje. Kui teie valem ei leia vastet, annab see tagasi vea. Selle vältimiseks võite kogu selle valemi mähendada IFERRORiga (tehke see esimeseks argumendiks) ja sisestada teise argumendina vea asemel lahtrisse mis tahes, mida soovite näha:

    =IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Ei leitud")

    Parem alternatiiv INDEX MATCHile Google Sheetsis - mitu VLOOKUPi vastet

    Ükskõik, millist otsingufunktsiooni te eelistate, kas VLOOKUP või INDEX MATCH, on mõlemale parem alternatiiv.

    Multiple VLOOKUP Matches on Google Sheets'i jaoks spetsiaalne lisa, mille eesmärk on:

    • otsing ilma valemiteta
    • otsing kõikides suundades
    • otsida erinevate andmetüüpide puhul mitme tingimuse alusel: tekst, numbrid, kuupäevad, aeg, jne.
    • tuua mitu mängu, nii palju kui vaja (muidugi tingimusel, et neid on tabelis sama palju).

    Kasutajaliides on lihtne, nii et te ei pea kahtlema, kas teete kõike õigesti:

    1. Valige allikate vahemik.
    2. Määrake tagastatavate vastete ja veergude arv.
    3. Tingimuste peenhäälestamine, kasutades eelnevalt määratud operaatoreid ( sisaldab, =, ei ole tühi , vahel. jne).

    Saate ka järgmist:

    • tulemuse eelvaade
    • otsustada, kuhu seda paigutada
    • ja kuidas: valemina või lihtsalt väärtustena

    Ära jäta seda võimalust kasutamata, et seda lisandit kontrollida. Mine ja paigalda see Google Workspace Marketplace'ist. Selle õpetuslehel selgitatakse iga võimalust üksikasjalikult.

    Valmistasime ka spetsiaalse õppevideo:

    Kohtumiseni kommentaarides allpool või järgmises artiklis ;)

    Michael Brown on pühendunud tehnoloogia entusiast, kelle kirg on tarkvaratööriistade abil keerukate protsesside lihtsustamine. Rohkem kui kümneaastase kogemusega tehnoloogiatööstuses on ta lihvinud oma oskusi Microsoft Excelis ja Outlookis, samuti Google Sheetsis ja Docsis. Michaeli ajaveebi eesmärk on jagada oma teadmisi ja teadmisi teistega, pakkudes hõlpsasti järgitavaid näpunäiteid ja õpetusi tootlikkuse ja tõhususe parandamiseks. Olenemata sellest, kas olete kogenud professionaal või algaja, pakub Michaeli ajaveebi väärtuslikke teadmisi ja praktilisi nõuandeid nende oluliste tarkvaratööriistade maksimaalseks kasutamiseks.