INDEX MATCH MATCH u Excelu za dvodimenzionalno traženje

  • Podijeli Ovo
Michael Brown

Vodič prikazuje nekoliko različitih formula za obavljanje dvodimenzionalnog pretraživanja u Excelu. Samo pregledajte alternative i odaberite svoju omiljenu :)

Kada tražite nešto u vašim Excel tabelama, većinu vremena ćete tražiti okomito u stupcima ili horizontalno u redovima. Ali ponekad morate pogledati i redove i kolone. Drugim riječima, cilj vam je pronaći vrijednost na sjecištu određenog reda i stupca. Ovo se zove matrično traženje (aka 2-dimenzionalno ili 2-smjerno traženje ), a ovaj vodič pokazuje kako to učiniti na 4 različita načina.

    Formula INDEX MATCH MATCH u Excelu

    Najpopularniji način za dvosmjerno traženje u Excelu je korištenje INDEX MATCH MATCH. Ovo je varijacija klasične formule INDEX MATCH kojoj dodajete još jednu funkciju MATCH kako biste dobili i brojeve reda i stupaca:

    INDEX ( podatak_niz, MATCH ( vlookup_value, lookup_column_range, 0), MATCH ( hlookup value, lookup_row_range, 0))

    Kao primjer, napravimo formulu za povlačenje populacije određene životinje u datoj godini iz donje tabele. Za početak, definiramo sve argumente:

    • Data_array - B2:E4 (ćelije s podacima, ne uključujući zaglavlja redaka i stupaca)
    • Vlookup_value - H1 (ciljana životinja)
    • Raspon_kolone_traži - A2:A4 (zaglavlja reda: imena životinja) -A3:A4
    • Hlookup_value - H2 (ciljna godina)
    • Lookup_row_range - B1:E1 (zaglavlja kolona: godine)

    Skupite sve argumente zajedno i dobit ćete ovu formulu za dvosmjerno traženje:

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

    Kako ova formula funkcionira

    Dok može izgledati malo na prvi pogled složena, logika formule je zaista jasna i lako razumljiva. Funkcija INDEX dohvaća vrijednost iz niza podataka na osnovu brojeva redaka i stupca, a dvije funkcije MATCH osiguravaju te brojeve:

    INDEX(B2:E4, row_num, column_num)

    Ovdje koristimo mogućnost MATCH(lookup_value, lookup_array, [match_type]) da vrati relativnu poziciju od lookup_value u lookup_array .

    Dakle, da bismo dobili broj reda, tražimo za životinju od interesa (H1) preko zaglavlja redova (A2:A4):

    MATCH(H1, A2:A4, 0)

    Da bismo dobili broj kolone, tražimo ciljnu godinu (H2) u zaglavljima kolona (B1:E1):

    MATCH(H2, B1:E1, 0)

    U oba slučaja tražimo tačno podudaranje postavljanjem 3. argumenta na 0.

    U ovom primjeru, prvi MATCH vraća 2 jer se naša vlookup vrijednost (polarni medvjed) nalazi u A3, što je 2. ćelija u A2:A4. Drugi MATCH vraća 3 jer se hlookup vrijednost (2000) nalazi u D1, što je 3. ćelija u B1:E1.

    S obzirom na gore navedeno, formula se svodi na:

    INDEX(B2:E4, 2, 3)

    I vrati vrijednost na sjecištu 2. reda i 3. stupca u nizu podataka B2:E4, što jevrijednost u ćeliji D3.

    VLOOKUP i MATCH formula za 2-smjerno traženje

    Drugi način da se izvrši dvodimenzionalno pretraživanje u Excelu je korištenje kombinacije funkcija VLOOKUP i MATCH:

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

    Za našu tablicu uzorka , formula ima sljedeći oblik:

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

    Gdje:

    • Table_array - A2:E4 (ćelije sa podacima uključujući zaglavlja redova)
    • Vlookup_value - H1 (ciljana životinja)
    • Hlookup_value - H2 (ciljna godina)
    • Lookup_row_range - A1:E1 (zaglavlja kolona: godine)

    Kako ova formula radi

    Srž formule je funkcija VLOOKUP konfigurirana za točno podudaranje (posljednji argument postavljeno na FALSE), koji traži traženu vrijednost (H1) u prvoj koloni niza tablice (A2:E4) i vraća vrijednost iz druge kolone u istom redu. Da biste odredili iz kojeg stupca želite vratiti vrijednost, koristite funkciju MATCH koja je također konfigurirana za točno podudaranje (posljednji argument postavljen na 0):

    MATCH(H2, A1:E1, 0)

    MATCH traži vrijednost u H2 preko zaglavlja kolona (A1:E1) i vraća relativnu poziciju pronađene ćelije. U našem slučaju, ciljna godina (2010) nalazi se u E1, koji je 5. u nizu pretraživanja. Dakle, broj 5 ide u col_index_num argument VLOOKUP-a:

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

    VLOOKUP ga uzima odatle, pronalazitačno podudaranje za njegovu vrijednost pretraživanja u A2 i vraća vrijednost iz 5. kolone u istom redu, a to je ćelija E2.

    Važna napomena! Da bi formula ispravno radila, table_array (A2:E4) od VLOOKUP i lookup_array od MATCH (A1:E1) moraju imati isti broj kolona, ​​u suprotnom broj proslijeđen od strane MATCH do col_index_num će biti netačno (neće odgovarati poziciji stupca u table_array ).

    XLOOKUP funkcija za gledanje u redove i stupce

    Nedavno je Microsoft predstavio još jednu funkciju u Excelu koja treba da zameni sve postojeće funkcije pretraživanja kao što su VLOOKUP, HLOOKUP i INDEX MATCH. Između ostalog, XLOOKUP može pogledati sjecište određenog reda i stupca:

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

    Za naš skup uzoraka podataka, formula glasi kako slijedi:

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

    Napomena. Trenutno je XLOOKUP beta funkcija, koja je dostupna samo pretplatnicima na Office 365 koji su dio programa Office Insiders.

    Kako ova formula funkcionira

    Formula koristi sposobnost XLOOKUP-a da vrati cijeli red ili kolonu. Unutrašnja funkcija traži ciljnu godinu u redu zaglavlja i vraća sve vrijednosti za tu godinu (u ovom primjeru za 1980. godinu). Te vrijednosti idu u return_array argument vanjskogXLOOKUP:

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

    Vanjski XLOOKUP funkcija traži ciljnu životinju preko zaglavlja stupaca i vraća vrijednost na istoj poziciji iz return_array.

    SUMPRODUCT formula za dva -way lookup

    Funkcija SUMPRODUCT je poput švicarskog noža u Excelu – može učiniti mnogo stvari izvan svoje namjene, posebno kada je u pitanju procjenjivanje više kriterija.

    Potražiti dva kriterijumi, u redovima i kolonama, koristite ovu generičku formulu:

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

    Da bismo izvršili dvosmjerno traženje u našem skupu podataka, formula ide kako slijedi:

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

    Donja sintaksa će također raditi:

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

    Kako ova formula funkcionira

    U srcu formule, uspoređujemo dvije vrijednosti pretraživanja sa zaglavljem redaka i stupca (ciljna životinja u H1 sa svim životinjama imena u A2:A4 i ciljnu godinu u H2 u odnosu na sve godine u B1:E1):

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

    Ovo res. daje 2 niza TRUE i FALSE vrijednosti, gdje TRUE predstavljaju podudaranja:

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

    Operacija množenja prisiljava vrijednosti TRUE i FALSE u 1 i 0 i proizvodi dvodimenzionalni niz od 4 kolone i 3 reda (redovi su odvojeni tačkom i zarezom, a svaki stupac podataka zarezom):

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

    Funkcija SUMPRODUCT množi elemente gornjeg niza sa stavkamaB2:E4 na istim pozicijama:

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

    I pošto množenje sa nulom daje nulu, preživi samo stavka koja odgovara 1 u prvom nizu:

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

    Konačno, SUMPRODUCT zbraja elemente rezultirajućeg niza i vraća vrijednost od 2000.

    Napomena. Ako vaša tabela ima više od jednog zaglavlja reda i/ili stupca sa istim imenom, konačni niz će sadržavati više od jednog broja osim nule, a svi ti brojevi će se zbrajati. Kao rezultat, dobit ćete zbir vrijednosti koje zadovoljavaju oba kriterija. To je ono po čemu se formula SUMPRODUCT razlikuje od INDEX MATCH MATCH i VLOOKUP, koji vraćaju prvo pronađeno podudaranje.

    Traženje matrice s imenovanim rasponima (eksplicitno presjek)

    Još jedan nevjerojatno jednostavan način za matrično traženje u Excelu je korištenjem imenovanih raspona. Evo kako:

    Dio 1: Imenujte stupce i redove

    Najbrži način da imenujete svaki red i svaku kolonu u vašoj tablici je ovaj:

    1. Odaberite cijelu tabelu (A1:E4 u našem slučaju).
    2. Na kartici Formule , u grupi Definirana imena kliknite na Kreiraj iz odabira ili pritisnite prečicu Ctrl + Shift + F3.
    3. U dijaloškom okviru Kreiraj imena iz odabira odaberite Gornji red i lijevo stupac, i kliknite na OK.

    Ovo automatski kreira imena na osnovu zaglavlja redova i kolona. Međutim, postoji nekoliko upozorenja:

    • Ako vaša kolona i/iliZaglavlja redova su brojevi ili sadrže specifične znakove koji nisu dozvoljeni u Excel imenima, nazivi za takve kolone i redove neće biti kreirani. Da vidite listu kreiranih imena, otvorite Upravitelj imena ( Ctrl + F3 ). Ako neka imena nedostaju, definirajte ih ručno kao što je objašnjeno u Kako imenovati raspon u Excelu.
    • Ako neki od vaših zaglavlja reda ili stupaca sadrže razmake, razmaci će biti zamijenjeni podvlakama, na primjer, Polar_bear .

    Za našu tabelu uzorka, Excel je automatski kreirao samo imena redova. Imena kolona se moraju kreirati ručno jer su zaglavlja kolona brojevi. Da biste ovo prevazišli, možete jednostavno predbrojiti brojeve podvlakama, kao što je _1990 .

    Kao rezultat, imamo sljedeće imenovane raspone:

    2. dio : Napravite formulu za traženje matrice

    Da biste povukli vrijednost na sjecištu datog reda i stupca, samo upišite jednu od sljedećih generičkih formula u praznu ćeliju:

    = ime_reda ime_stupca

    Ili obrnuto:

    = naziv_kolone naziv_reda

    Na primjer, da se dobije populacija plavih kitova 1990. , formula je jednostavna kao:

    =Blue_whale _1990

    Ako su nekome potrebne detaljnije upute, sljedeći koraci će vas provesti kroz proces:

    1. U ćeliji gdje želite da se pojavi rezultat, upišite znak jednakosti (=).
    2. Počnite kucati ime ciljnog reda, recimo, Plavi_kit . Poslijeupisali ste nekoliko znakova, Excel će prikazati sva postojeća imena koja odgovaraju vašem unosu. Dvaput kliknite na željeno ime da ga unesete u formulu:
    3. Nakon naziva reda, upišite razmak , koji radi kao operater presjeka u ovom slučaju.
    4. Unesite naziv ciljne kolone ( _1990 u našem slučaju).
    5. Čim se unesu i nazivi reda i stupaca, Excel će istaknuti odgovarajući red i stupac u vašoj tabeli, a vi pritisnete Enter da dovršite formulu:

    Vaše traženje matrice je završeno, a snimak ekrana ispod prikazuje rezultat:

    Tako možete tražiti redove i stupce u Excelu. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!

    Dostupna preuzimanja

    2-dimenzionalni primjer radne knjige za pretraživanje

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.