INDEX MATCH MATCH v Excelu za dvodimenzionalno iskanje

  • Deliti To
Michael Brown

V učbeniku je predstavljenih nekaj različnih formul za izvajanje dvodimenzionalnega iskanja v Excelu. Preglejte alternative in izberite svojo najljubšo :)

Ko nekaj iščete v preglednicah programa Excel, največkrat iščete navpično v stolpcih ali vodoravno v vrsticah. Včasih pa morate iskati po vrsticah in stolpcih. Z drugimi besedami, želite najti vrednost na presečišču določene vrstice in stolpca. To se imenuje iskanje matrike (znan tudi kot dvodimenzionalni ali dvosmerno iskanje ), v tem priročniku pa je prikazano, kako to storiti na štiri različne načine.

    Excelova formula INDEX MATCH MATCH

    Najbolj priljubljen način dvosmernega iskanja v Excelu je uporaba funkcije INDEX MATCH MATCH. To je različica klasične formule INDEX MATCH, ki ji dodate še eno funkcijo MATCH, da dobite številke vrstic in stolpcev:

    INDEX ( data_array , MATCH ( vlookup_value , lookup_column_range , 0), MATCH ( vrednost hlookup , lookup_row_range , 0))

    Kot primer naredimo formulo, s katero iz spodnje preglednice izvlečemo populacijo določene živali v določenem letu. Za začetek definiramo vse argumente:

    • Data_array - B2:E4 (podatkovne celice, brez naslovov vrstic in stolpcev)
    • Vlookup_value - H1 (ciljna žival)
    • Lookup_column_range - A2:A4 (naslovi vrstic: imena živali) - A3:A4
    • Hlookup_value - H2 (ciljno leto)
    • Lookup_row_range - B1:E1 (naslovi stolpcev: leta)

    Če združite vse argumente, dobite to formulo za dvosmerno iskanje:

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

    Kako deluje ta formula

    Čeprav je na prvi pogled videti nekoliko zapleteno, je logika formule zelo preprosta in razumljiva. Funkcija INDEX pridobi vrednost iz podatkovnega polja na podlagi številk vrstic in stolpcev, dve funkciji MATCH pa poskrbita za te številke:

    INDEX(B2:E4, številka vrstice, številka stolpca)

    Pri tem izkoristimo možnost MATCH(lookup_value, lookup_array, [match_type]), da vrne relativni položaj na spletnem mestu lookup_value na spletnem mestu lookup_array .

    Številko vrstice dobimo tako, da poiščemo žival, ki nas zanima (H1), v naslovih vrstic (A2:A4):

    MATCH(H1, A2:A4, 0)

    Številko stolpca dobimo tako, da v naslovih stolpcev (B1:E1) poiščemo ciljno leto (H2):

    MATCH(H2, B1:E1, 0)

    V obeh primerih iščemo natančno ujemanje tako, da 3. argument nastavimo na 0.

    V tem primeru prvi MATCH vrne 2, ker je naša vrednost vlookup (Polarni medved) najdena v A3, ki je 2. celica v A2:A4. Drugi MATCH vrne 3, ker je vrednost hlookup (2000) najdena v D1, ki je 3. celica v B1:E1.

    Glede na zgoraj navedeno se formula zmanjša na:

    INDEX(B2:E4, 2, 3)

    In vrnite vrednost na presečišču 2. vrstice in 3. stolpca v podatkovnem polju B2:E4, ki je vrednost v celici D3.

    formuli VLOOKUP in MATCH za dvosmerno iskanje

    Dvodimenzionalno iskanje v Excelu lahko izvedete tudi s kombinacijo funkcij VLOOKUP in MATCH:

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

    Za našo vzorčno tabelo ima formula naslednjo obliko:

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

    Kje:

    • Table_array - A2:E4 (podatkovne celice, vključno z glavo vrstice)
    • Vlookup_value - H1 (ciljna žival)
    • Hlookup_value - H2 (ciljno leto)
    • Lookup_row_range - A1:E1 (naslovi stolpcev: leta)

    Kako deluje ta formula

    Jedro formule je funkcija VLOOKUP, konfigurirana za natančno ujemanje (zadnji argument je nastavljen na FALSE), ki išče vrednost iskanja (H1) v prvem stolpcu tabelarnega polja (A2:E4) in vrne vrednost iz drugega stolpca v isti vrstici. Za določitev stolpca, iz katerega naj se vrne vrednost, uporabite funkcijo MATCH, ki je tudi konfigurirana za natančno ujemanje (zadnji argument je nastavljen na 0):

    MATCH(H2, A1:E1, 0)

    MATCH išče vrednost v H2 v vseh glavi stolpcev (A1:E1) in vrne relativni položaj najdene celice. V našem primeru je ciljno leto (2010) najdeno v E1, ki je 5. v polju iskanja. Torej številka 5 preide v col_index_num argument VLOOKUP:

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

    VLOOKUP jo prevzame, poišče natančno ujemanje z vrednostjo iskanja v A2 in vrne vrednost iz petega stolpca v isti vrstici, ki je celica E2.

    Pomembna opomba! Za pravilno delovanje formule, table_array (A2:E4) iz VLOOKUP in lookup_array MATCH (A1:E1) mora imeti enako število stolpcev, sicer se število, ki ga MATCH posreduje col_index_num bo napačen (ne bo ustrezal položaju stolpca v table_array ).

    funkcija XLOOKUP za iskanje v vrsticah in stolpcih

    Pred kratkim je Microsoft v Excelu predstavil še eno funkcijo, ki naj bi nadomestila vse obstoječe funkcije iskanja, kot so VLOOKUP, HLOOKUP in INDEX MATCH. XLOOKUP lahko med drugim pogleda presečišče določene vrstice in stolpca:

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

    Za naš vzorčni niz podatkov je formula naslednja:

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

    Opomba: Trenutno je XLOOKUP funkcija beta, ki je na voljo samo naročnikom Office 365, ki so vključeni v program Office Insiders.

    Kako deluje ta formula

    Formula uporablja možnost funkcije XLOOKUP za vračanje celotne vrstice ali stolpca. Notranja funkcija poišče ciljno leto v vrstici v glavi in vrne vse vrednosti za to leto (v tem primeru za leto 1980). Te vrednosti se prenesejo v vrstico return_array argumenta zunanjega XLOOKUP:

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

    Zunanja funkcija XLOOKUP poišče ciljno žival v glavi stolpcev in vrne vrednost na istem mestu v polju return_array.

    Formula SUMPRODUCT za dvosmerno iskanje

    Funkcija SUMPRODUCT je kot švicarski nož v Excelu - z njo lahko naredite veliko več, kot je njen namen, zlasti pri ocenjevanju več meril.

    Za iskanje dveh meril v vrsticah in stolpcih uporabite to splošno formulo:

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

    Za izvedbo dvosmernega iskanja v našem naboru podatkov je formula naslednja:

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

    Deluje tudi spodnja sintaksa:

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

    Kako deluje ta formula

    V središču formule je primerjava dveh vrednosti iskanja z naslovi vrstic in stolpcev (ciljna žival v H1 z vsemi imeni živali v A2:A4 in ciljno leto v H2 z vsemi leti v B1:E1):

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

    Tako dobimo 2 polji z vrednostmi TRUE in FALSE, pri čemer vrednosti TRUE pomenijo ujemanje:

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

    Operacija množenja pretvori vrednosti TRUE in FALSE v 1 in 0 ter ustvari dvodimenzionalno polje s 4 stolpci in 3 vrsticami (vrstice so ločene s podpičji, vsak stolpec podatkov pa z vejico):

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

    Funkcija SUMPRODUCT pomnoži elemente zgornjega polja z elementi B2:E4 na istih mestih:

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

    In ker se pri množenju z ničlo dobi ničla, ostane v prvem polju le element, ki ustreza 1:

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

    Na koncu SUMPRODUCT sešteje elemente dobljenega polja in vrne vrednost 2000.

    Opomba: Če ima vaša tabela več vrstic in/ali naslovov stolpcev z istim imenom, bo končna tabela vsebovala več kot eno število, ki ni nič, in vsa ta števila bodo sešteta. Kot rezultat boste dobili vsoto vrednosti, ki izpolnjujejo obe merili. Po tem se formula SUMPRODUCT razlikuje od formul INDEX MATCH MATCH in VLOOKUP, ki vračata prvo najdeno ujemanje.

    Iskanje matrike z imenovanimi območji (eksplicitno presečišče)

    Še en neverjetno preprost način iskanja matrike v Excelu je uporaba poimenovanih obsegov:

    Del 1: Poimenovanje stolpcev in vrstic

    Najhitreje poimenujete vsako vrstico in vsak stolpec v tabeli na naslednji način:

    1. Izberite celotno tabelo (v našem primeru A1:E4).
    2. Na Formule v zavihku Opredeljena imena skupino, kliknite Ustvarjanje iz izbora ali pritisnite bližnjico Ctrl + Shift + F3.
    3. V Ustvarjanje imen iz izbora v pogovornem oknu izberite Zgornja vrsta in . Levi stolpec, in kliknite OK.

    To samodejno ustvari imena na podlagi naslovov vrstic in stolpcev. Vendar pa obstaja nekaj zadržkov:

    • Če so glave vaših stolpcev in/ali vrstic številke ali vsebujejo določene znake, ki niso dovoljeni v Excelovih imenih, imena za take stolpce in vrstice ne bodo ustvarjena. Če si želite ogledati seznam ustvarjenih imen, odprite Upravitelj imen ( Ctrl + F3 ). Če nekaterih imen ni, jih določite ročno, kot je razloženo v poglavju Kako poimenovati območje v Excelu.
    • Če nekateri naslovi vrstic ali stolpcev vsebujejo presledke, bodo presledki nadomeščeni s podčrtankami, na primer, Polar_bear .

    Za našo vzorčno tabelo je Excel samodejno ustvaril samo imena vrstic. Imena stolpcev je treba ustvariti ročno, ker so glave stolpcev številke. To lahko odpravite tako, da pred številke zapišete podčrtanke, kot npr. _1990 .

    Tako imamo naslednja poimenovana območja:

    2. del: Izdelajte formulo za iskanje po matriki

    Če želite izvleči vrednost na presečišču določene vrstice in stolpca, v prazno celico vnesite eno od naslednjih splošnih formul:

    = ime_vrstice ime_stolpca

    Ali obratno:

    = ime_stolpca ime_vrstice

    Na primer, če želite ugotoviti populacijo modrih kitov v letu 1990, je formula preprosta:

    =Blue_whale _1990

    Če kdo potrebuje podrobnejša navodila, ga bodo naslednji koraki vodili skozi postopek:

    1. V celico, v kateri želite prikazati rezultat, vnesite znak za enakost (=).
    2. Začnite vnašati ime ciljne vrstice, na primer, Blue_whale Ko vnesete nekaj znakov, Excel prikaže vsa obstoječa imena, ki se ujemajo z vašim vnosom. Dvakrat kliknite želeno ime in ga vnesite v formulo:
    3. Za imenom vrstice vnesite prostor , ki deluje kot operator presečišča v tem primeru.
    4. Vnesite ime ciljnega stolpca ( _1990 v našem primeru).
    5. Ko vnesete ime vrstice in stolpca, Excel označi ustrezno vrstico in stolpec v tabeli, vi pa pritisnete Enter, da dokončate formulo:

    Iskanje matrike je končano, rezultat pa je prikazan na spodnji sliki zaslona:

    To je način iskanja v vrsticah in stolpcih v Excelu. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!

    Razpoložljivi prenosi

    Vzorec delovnega zvezka za dvodimenzionalno iskanje

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.