INDEX MATCH MATCH Excelis kahemõõtmelise otsingu jaoks

  • Jaga Seda
Michael Brown

Õpetus tutvustab mõningaid erinevaid valemeid, et teha Excelis kahesuunalist otsingut. Vaadake lihtsalt läbi alternatiivid ja valige oma lemmik :)

Kui otsite midagi oma Exceli tabelitest, siis enamasti otsite ülespoole vertikaalselt veergudes või horisontaalselt ridades. Kuid mõnikord on vaja otsida nii ridade kui ka veergude vahel. Teisisõnu, teie eesmärk on leida väärtus teatud rea ja veeru ristumiskohas. Seda nimetatakse maatriksi otsing (ehk 2-mõõtmeline või 2-suunaline otsing ) ja see õpetus näitab, kuidas seda teha 4 erineval viisil.

    Exceli INDEX MATCH MATCH valemiga

    Kõige populaarsem viis kahesuunalise otsingu tegemiseks Excelis on kasutada INDEX MATCH MATCH-i. See on klassikalise INDEX MATCH-valemi variant, millele lisate veel ühe MATCH-funktsiooni, et saada nii rea kui ka veeru numbrid:

    INDEX ( data_array , MATCH ( vlookup_value , lookup_column_range , 0), MATCH ( hlookup väärtus , lookup_row_range , 0))

    Teeme näiteks valemi, et tõmmata tabelist välja teatud looma populatsioon teataval aastal. Alustuseks defineerime kõik argumendid:

    • Data_array - B2:E4 (andmerakud, v.a ridade ja veergude päised)
    • Vlookup_value - H1 (sihtloom)
    • Lookup_column_range - A2:A4 (rea pealkirjad: loomade nimed) - A3:A4
    • Hlookup_value - H2 (sihtaasta)
    • Lookup_row_range - B1:E1 (veeru pealkirjad: aastad)

    Pange kõik argumendid kokku ja saate selle kahesuunalise otsingu valemi:

    =INDEX(B2:E4, MATCH(H1, A2:A4, 0), MATCH(H2, B1:E1, 0))

    Kuidas see valem töötab

    Kuigi see võib esmapilgul tunduda veidi keeruline, on valemi loogika tegelikult lihtne ja arusaadav. Funktsioon INDEX võtab andmemassiivist väärtuse, mis põhineb rea ja veeru numbritel, ning kaks MATCH-funktsiooni annavad need numbrid:

    INDEX(B2:E4, row_num, column_num)

    Siinkohal kasutame ära MATCH(lookup_value, lookup_array, [match_type]) võimet tagastada suhteline positsioon aadressilt lookup_value aadressil lookup_array .

    Nii et rea numbri saamiseks otsime huvipakkuva looma (H1) üle rea pealkirjade (A2:A4):

    MATCH(H1, A2:A4, 0)

    Veergude numbri leidmiseks otsime eesmärgi aasta (H2) üle veergude pealkirjade (B1:E1):

    MATCH(H2, B1:E1, 0)

    Mõlemal juhul otsime täpset kokkulangevust, seades 3. argumendi väärtuseks 0.

    Selles näites annab esimene MATCH tulemuseks 2, sest meie vlookup-väärtus (jääkaru) on leitud lahtrist A3, mis on A2:A4 teine lahter. Teine MATCH annab tulemuseks 3, sest hlookup-väärtus (2000) on leitud lahtrist D1, mis on B1:E1 kolmas lahter.

    Eespool öeldut arvesse võttes taandub valem järgmiselt:

    INDEX(B2:E4, 2, 3)

    Ja tagastada väärtus andmemassiivi B2:E4 2. rea ja 3. veeru ristumiskohas, mis on väärtus lahtris D3.

    VLOOKUP ja MATCH valem 2-suunalise otsingu jaoks

    Teine võimalus teha Excelis kahemõõtmelist otsingut on kasutada VLOOKUP- ja MATCH-funktsioonide kombinatsiooni:

    VLOOKUP( vlookup_value , table_array , MATCH( hlookup_value , lookup_row_range , 0), FALSE)

    Meie näidistabeli puhul on valem järgmine:

    =VLOOKUP(H1, A2:E4, MATCH(H2, A1:E1, 0), FALSE)

    Kus:

    • Table_array - A2:E4 (andmerakud, sealhulgas rea päised)
    • Vlookup_value - H1 (sihtloom)
    • Hlookup_value - H2 (sihtaasta)
    • Lookup_row_range - A1:E1 (veeru pealkirjad: aastad)

    Kuidas see valem töötab

    Valemi tuum on funktsioon VLOOKUP, mis on konfigureeritud täpseks kokkulangevuseks (viimane argument on seatud FALSE), mis otsib otsinguväärtust (H1) tabeli massiivi esimeses veerus (A2:E4) ja tagastab väärtuse sama rea teisest veerust. Et määrata, millisest veerust väärtus tagastada, kasutatakse funktsiooni MATCH, mis on samuti konfigureeritud täpseks kokkulangevuseks (viimane argument on seatud 0):

    MATCH(H2, A1:E1, 0)

    MATCH otsib väärtust H2-s üle veeru pealkirjade (A1:E1) ja tagastab leitud lahtri suhtelise positsiooni. Meie puhul leitakse sihtaasta (2010) E1-st, mis on otsingumassiivi 5. Seega läheb number 5 aadressile col_index_num VLOOKUPi argument:

    VLOOKUP(H1, A2:E4, 5, FALSE)

    VLOOKUP võtab selle sealt, leiab oma otsinguväärtusele A2 täpse vaste ja tagastab väärtuse sama rea 5. veerust, mis on lahter E2.

    Oluline märkus! Et valem töötaks õigesti, table_array (A2:E4) VLOOKUP ja lookup_array MATCH (A1:E1) peab olema sama arv veerge, vastasel juhul peab MATCHi poolt edastatav arv olema sama arv veerge. col_index_num on vale (ei vasta veergu positsioonile veergu table_array ).

    XLOOKUP funktsioon ridade ja veergude vaatamiseks

    Hiljuti võttis Microsoft Excelis kasutusele veel ühe funktsiooni, mis on mõeldud asendama kõiki olemasolevaid otsingufunktsioone nagu VLOOKUP, HLOOKUP ja INDEX MATCH. XLOOKUP saab muuhulgas vaadata konkreetse rea ja veeru ristmikku:

    XLOOKUP( vlookup_value , vlookup_column_range , XLOOKUP( hlookup_value , hlookup_row_range , data_array ))

    Meie näidisandmestiku puhul on valem järgmine:

    =XLOOKUP(H1, A2:A4, XLOOKUP(H2, B1:E1, B2:E4))

    Märkus. Praegu on XLOOKUP beetafunktsioon, mis on saadaval ainult Office 365 tellijatele, kes on Office Insiders programmi liikmed.

    Kuidas see valem töötab

    Valem kasutab XLOOKUPi võimet tagastada terve rida või veerg. Sisemine funktsioon otsib pealkirjaribalt sihtaastat ja tagastab kõik selle aasta väärtused (antud näites aasta 1980). Need väärtused lähevad tabelisse return_array välise XLOOKUPi argument:

    XLOOKUP(H1, A2:A4, {22000;25000;700}))

    Välimine XLOOKUP-funktsioon otsib sihtlooma üle veeru päiste ja tagastab samas positsioonis oleva väärtuse return_array'st.

    SUMPRODUCT valem kahesuunalise otsingu jaoks

    Funktsioon SUMPRODUCT on Excelis nagu Šveitsi nuga - see võib teha nii palju asju, mis lähevad kaugemale selle eesmärgist, eriti kui tegemist on mitme kriteeriumi hindamisega.

    Kahe kriteeriumi otsimiseks ridades ja veergudes kasutage seda üldist valemit:

    SUMPRODUCT( vlookup_column_range = vlookup_value ) * ( hlookup_row_range = hlookup_value ), data_array )

    2-suunalise otsingu tegemiseks meie andmekogumis on valem järgmine:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2), B2:E4)

    Allpool toodud süntaks töötab samuti:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2) * B2:E4)

    Kuidas see valem töötab

    Valemi keskmes võrreldakse kahte otsinguväärtust rea ja veeru pealkirjade vastu (sihtloom H1-s kõigi loomade nimede vastu A2:A4-s ja sihtaasta H2-s kõigi aastate vastu B1:E1-s):

    (A2:A4=H1) * (B1:E1=H2)

    Selle tulemuseks on 2 TRUE ja FALSE väärtuste massiivi, kus TRUE tähistab vasteid:

    {FALSE;FALSE;TRUE} * {FALSE,TRUE,FALSE,FALSE,FALSE}

    Korrutamisoperatsioon sunnib TRUE ja FALSE väärtused 1 ja 0 väärtusteks ning annab tulemuseks 4 veerust ja 3 reast koosneva kahemõõtmelise massiivi (read on eraldatud semikooloniga ja iga andmesammas komaga):

    {0,0,0,0;0,0,0,0;0,1,0,0}

    Funktsioon SUMPRODUCT korrutab ülaltoodud massiivi elemendid B2:E4 elementidega samades positsioonides:

    {0,0,0,0;0,0,0,0;0,1,0,0} * {22000,13800,8500,3500;25000,23000,22000,20000;700,2000,2300,2500}

    Ja kuna nulliga korrutamine annab nulli, jääb alles ainult esimese massiivi elemendile 1 vastav element:

    SUMPRODUCT({0,0,0,0;0,0,0,0;0,2000,0,0})

    Lõpuks liidab SUMPRODUCT saadud massiivi elemendid kokku ja tagastab väärtuse 2000.

    Märkus. Kui teie tabelis on rohkem kui üks sama nimega rea või/ja veeru pealkirju, sisaldab lõplik massiiv rohkem kui ühte numbrit peale nulli ja kõik need numbrid liidetakse kokku. Tulemusena saate mõlemale kriteeriumile vastavate väärtuste summa. See eristab valemit SUMPRODUCT valemitest INDEX MATCH MATCH ja VLOOKUP, mis annavad tagasi esimese leitud kokkulangevuse.

    Maatriksi otsing nimetatud vahemikega (selgesõnaline ristumine)

    Veel üks hämmastavalt lihtne viis Exceli maatriksi otsingu tegemiseks on kasutada nimelisi vahemikke. Siin on, kuidas:

    1. osa: Veergude ja ridade nimetamine

    Kiireim viis oma tabeli iga rea ja iga veeru nimetamiseks on järgmine:

    1. Valige kogu tabel (meie puhul A1:E4).
    2. On Valemid vahekaardil Määratletud nimed rühma, klõpsake Loo valikust või vajutage klahvikombinatsiooni Ctrl + Shift + F3.
    3. In the Nimede loomine valikust dialoogiaknas valige Ülemine rida ja Vasakpoolne veerg, ja klõpsake OK.

    See loob automaatselt nimed, mis põhinevad ridade ja veergude pealkirjadel. Siiski on paar ettevaatust:

    • Kui teie veergude ja/või ridade pealkirjad on numbrid või sisaldavad konkreetseid märke, mis ei ole Exceli nimedes lubatud, ei looda selliste veergude ja ridade nimesid. Loodud nimede nimekirja vaatamiseks avage nimehaldur ( Ctrl + F3 ). Kui mõned nimed puuduvad, määratlege need käsitsi, nagu on selgitatud peatükis Kuidas nimetada vahemikku Excelis.
    • Kui mõni teie rea või veeru pealkiri sisaldab tühikuid, asendatakse tühikud näiteks allajoonega, Polar_bear .

    Meie näidistabeli puhul lõi Excel automaatselt ainult rea nimed. Veergude nimed tuleb luua käsitsi, sest veergude pealkirjad on numbrid. Selle ületamiseks võite lihtsalt numbreid eelistada allakriipsudega, nagu näiteks _1990 .

    Selle tulemusena on meil järgmised nimetatud vahemikud:

    2. osa: Tee maatriksi otsinguvormel

    Et tõmmata väärtus antud rea ja veeru ristumiskohas, sisestage tühja lahtrisse üks järgmistest üldvalemitest:

    = row_name veeru_nimi

    Või vastupidi:

    = veeru_nimi row_name

    Näiteks sinivaalade populatsiooni saamiseks 1990. aastal on valem nii lihtne kui:

    =Blue_whale _1990

    Kui keegi vajab üksikasjalikumaid juhiseid, siis järgmised sammud juhatavad teid protsessi läbi:

    1. Kirjutage lahtrisse, kuhu soovite, et tulemus ilmuks, võrdsusmärk (=).
    2. Alustage sihtrivi nime kirjutamist, näiteks, Blue_whale Pärast paari tähemärgi sisestamist kuvab Excel kõik olemasolevad nimed, mis vastavad teie sisestusele. Topeltklõpsake soovitud nime, et sisestada see oma valemisse:
    3. Pärast rea nime sisestage a kosmos , mis toimib kui ristumise operaator sel juhul.
    4. Sisestage sihtveergu nimi ( _1990 meie puhul).
    5. Niipea, kui nii rea kui ka veeru nimi on sisestatud, tõstab Excel vastava rea ja veeru tabelis esile ning vajutate valemi täitmiseks Enter:

    Teie maatriksi otsing on tehtud ja alloleval ekraanipildil on tulemus näha:

    Nii saab Excelis ridades ja veergudes otsida. Tänan teid lugemast ja loodan, et näeme teid järgmisel nädalal meie blogis!

    Saadaolevad allalaadimised

    2-mõõtmelise otsingu näidistööraamat

    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.