INDEX MATCH MATCH u Excelu za dvodimenzionalno pretraživanje

  • Podijeli Ovo
Michael Brown

Udžbenik prikazuje nekoliko različitih formula za izvođenje dvodimenzionalnog pretraživanja u programu Excel. Samo pregledajte alternative i odaberite svoju omiljenu :)

Kada tražite nešto u svojim Excel proračunskim tablicama, većinu vremena tražite okomito u stupcima ili vodoravno u recima. Ali ponekad morate pregledati i retke i stupce. Drugim riječima, nastojite pronaći vrijednost na sjecištu određenog retka i stupca. To se zove matrično traženje (odnosno 2-dimenzionalno ili 2-smjerno traženje ), a ovaj vodič pokazuje kako to učiniti na 4 različita načina.

    Excel INDEX MATCH MATCH formula

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

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

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

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

    Skupite sve argumente i dobit ćete ovu formulu za dvosmjerno pretraživanje:

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

    Kako ova formula radi

    Iako može izgledati malo na prvi pogled složena, logika formule je doista jednostavna i lako razumljiva. Funkcija INDEX dohvaća vrijednost iz niza podataka na temelju brojeva redaka i stupaca, a dvije funkcije MATCH daju te brojeve:

    INDEX(B2:E4, row_num, column_num)

    Ovdje koristimo mogućnost MATCH(lookup_value, lookup_array, [match_type]) za vraćanje relativne pozicije od lookup_value u lookup_array .

    Dakle, da bismo dobili broj retka, tražimo za životinju od interesa (H1) u zaglavljima redaka (A2:A4):

    MATCH(H1, A2:A4, 0)

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

    MATCH(H2, B1:E1, 0)

    U oba slučaja, tražimo toč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 druga ćelija u A2:A4. Drugi MATCH vraća 3 jer se vrijednost hlookup (2000) nalazi u D1, što je treća ćelija u B1:E1.

    S obzirom na gore navedeno, formula se smanjuje na:

    INDEX(B2:E4, 2, 3)

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

    Formula VLOOKUP i MATCH za dvosmjerno traženje

    Drugi način za 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 oglednu tablicu , formula ima sljedeći oblik:

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

    Gdje:

    • Table_array - A2:E4 (podatkovne ćelije uključujući zaglavlja redaka)
    • Vrijednost_pregleda - H1 (ciljana životinja)
    • Vrijednost_pregleda - H2 (ciljana godina)
    • Raspon_reda_pretrage - A1:E1 (zaglavlja stupaca: godine)

    Kako ova formula funkcionira

    Srž formule je funkcija VLOOKUP konfigurirana za točno podudaranje (zadnji argument postavljen na FALSE), koji traži vrijednost pretraživanja (H1) u prvom stupcu polja tablice (A2:E4) i vraća vrijednost iz drugog stupca u istom retku. Da biste odredili iz kojeg stupca 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 stupaca (A1:E1) i vraća relativni položaj pronađene ćelije. U našem slučaju, ciljana godina (2010.) nalazi se u E1, koji je 5. u nizu pretraživanja. Dakle, broj 5 ide u argument col_index_num VLOOKUP-a:

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

    VLOOKUP ga preuzima od tamo, pronalazitočno podudaranje za njegovu vrijednost pretraživanja u A2 i vraća vrijednost iz 5. stupca u istom retku, što je ćelija E2.

    Važna napomena! Da bi formula radila ispravno, table_array (A2:E4) VLOOKUP-a i lookup_array MATCH-a (A1:E1) moraju imati isti broj stupaca, inače broj prosljeđuje MATCH u col_index_num bit će netočna (neće odgovarati položaju stupca u table_array ).

    Funkcija XLOOKUP za traženje redaka i stupaca

    Nedavno je Microsoft predstavio još jednu funkciju u Excelu koja bi trebala zamijeniti sve postojeće funkcije pretraživanja kao što su VLOOKUP, HLOOKUP i INDEX MATCH. Između ostalog, XLOOKUP može pogledati presjek određenog retka i stupca:

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

    Za naš uzorak skupa podataka, formula je sljedeća:

    =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 radi

    Formula koristi mogućnost XLOOKUP-a da vrati cijeli red ili stupac. Unutarnja funkcija traži ciljnu godinu u retku zaglavlja i vraća sve vrijednosti za tu godinu (u ovom primjeru, za godinu 1980.). Te vrijednosti idu u argument return_array vanjskogXLOOKUP:

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

    Vanjska funkcija XLOOKUP traži ciljnu životinju u zaglavljima stupaca i vraća vrijednost na istoj poziciji iz return_array.

    Formula SUMPRODUCT za dva -way lookup

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

    Za traženje dva kriterije, u recima i stupcima, koristite ovu generičku formulu:

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

    Za izvođenje dvosmjernog traženja u našem skupu podataka, formula je sljedeća:

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

    Sljedeća sintaksa također će funkcionirati:

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

    Kako ova formula funkcionira

    U središtu formule uspoređujemo dvije vrijednosti pretraživanja u odnosu na zaglavlja retka i stupca (ciljana životinja u H1 u odnosu na sve životinje imena u A2:A4 i ciljna godina u H2 u odnosu na sve godine u B1:E1):

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

    Ova rez. rezultati u 2 niza vrijednosti TRUE i FALSE, gdje se TRUE predstavljaju podudaranja:

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

    Operacija množenja pretvara TRUE i FALSE vrijednosti u 1 i 0 i proizvodi dvodimenzionalni niz od 4 stupaca i 3 retka (retci su odvojeni točkom-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 budući da množenje s 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})

    Na kraju, SUMPRODUCT zbraja elemente dobivenog niza i vraća vrijednost 2000.

    Napomena. Ako vaša tablica ima više od jednog redaka i/ili zaglavlja stupaca s istim imenom, konačni niz sadržavat će više od jednog broja osim nule, a svi će se ti brojevi zbrojiti. Kao rezultat, dobit ćete zbroj vrijednosti koje zadovoljavaju oba kriterija. To je ono što čini formulu SUMPRODUCT različitom od INDEX MATCH MATCH i VLOOKUP, koje vraćaju prvo pronađeno podudaranje.

    Traženje matrice s imenovanim rasponima (eksplicitno raskrižje)

    Još jedan nevjerojatno jednostavan način pretraživanje matrice u Excelu je pomoću imenovanih raspona. Evo kako:

    1. dio: Imenujte stupce i retke

    Najbrži način za imenovanje svakog retka i svakog stupca u vašoj tablici je ovaj:

    1. Odaberite cijelu tablicu (A1:E4 u našem slučaju).
    2. Na kartici Formule , u grupi Definirani nazivi kliknite Stvori iz odabira ili pritisnite prečac Ctrl + Shift + F3.
    3. U dijaloškom okviru Stvori imena iz odabira odaberite Gornji red i Lijevo stupac, i kliknite U redu.

    Ovo automatski stvara nazive na temelju zaglavlja redaka i stupaca. Međutim, postoji nekoliko upozorenja:

    • Ako vaša kolumna i/iliako su zaglavlja redaka brojevi ili sadrže određene znakove koji nisu dopušteni u nazivima programa Excel, nazivi za takve stupce i retke neće biti stvoreni. Da biste vidjeli popis stvorenih imena, otvorite Upravitelj naziva ( Ctrl + F3 ). Ako neki nazivi nedostaju, definirajte ih ručno kao što je objašnjeno u Kako imenovati raspon u Excelu.
    • Ako neka od zaglavlja redaka ili stupaca sadrže razmake, razmaci će biti zamijenjeni podvlakama, na primjer, Polar_bear .

    Za našu oglednu tablicu, Excel je automatski stvorio samo imena redaka. Imena stupaca moraju se kreirati ručno jer su zaglavlja stupaca brojevi. Da biste to prevladali, možete jednostavno ispred brojeva staviti podvlake, kao što je _1990 .

    Kao rezultat, imamo sljedeće imenovane raspone:

    2. dio : Napravite formulu traženja matrice

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

    = row_name column_name

    Ili obrnuto:

    = column_name row_name

    Na primjer, da biste dobili populaciju plavih kitova 1990. , formula je jednostavna kao:

    =Blue_whale _1990

    Ako netko treba detaljnije upute, sljedeći će vas koraci provesti kroz proces:

    1. U ćeliji gdje želite da se pojavi rezultat, upišite znak jednakosti (=).
    2. Počnite upisivati ​​naziv ciljanog retka, recimo, Blue_whale . Nakonupisali ste nekoliko znakova, Excel će prikazati sva postojeća imena koja odgovaraju vašem unosu. Dvaput kliknite željeni naziv da biste ga unijeli u svoju formulu:
    3. Nakon naziva retka upišite razmak koji funkcionira kao operator presjeka u ovom slučaju.
    4. Unesite naziv ciljnog stupca ( _1990 u našem slučaju).
    5. Čim se unesu nazivi retka i stupca, Excel će označiti odgovarajući redak i stupac u vašoj tablici, a vi pritisnite Enter da dovršite formulu:

    Traženje vaše matrice je završeno, a snimak zaslona u nastavku prikazuje rezultat:

    Tako možete tražiti u redovima i stupcima u Excelu. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!

    Dostupna preuzimanja

    2-dimenzionalni pregled radne knjige

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.