INDEX MATCH MATCH programmā Excel divdimensiju meklēšanai

  • Dalīties Ar Šo
Michael Brown

Šajā pamācībā ir parādītas dažas dažādas formulas, lai veiktu divdimensiju meklēšanu programmā Excel. Vienkārši apskatiet alternatīvas un izvēlieties sev tīkamāko :)

Meklējot kaut ko Excel izklājlapās, vairumā gadījumu jūs meklējat vertikāli slejās vai horizontāli rindās. Taču dažreiz jums ir nepieciešams meklēt gan rindās, gan slejās. Citiem vārdiem sakot, jūs cenšaties atrast vērtību konkrētas rindas un slejas krustpunktā. To sauc par. matricas meklēšana (jeb 2-dimensiju vai Divvirzienu meklēšana ), un šajā pamācībā ir parādīts, kā to izdarīt 4 dažādos veidos.

    Excel INDEX MATCH MATCH formula

    Populārākais veids, kā Excel programmā veikt divvirzienu meklēšanu, ir, izmantojot INDEX MATCH MATCH. Tas ir klasiskās INDEX MATCH formulas variants, kam pievienota vēl viena MATCH funkcija, lai iegūtu gan rindas, gan kolonnas numuru:

    INDEX ( data_array , MATCH ( vlookup_value , lookup_column_range , 0), MATCH ( hlookup vērtība , lookup_row_range , 0))

    Kā piemēru izveidosim formulu, lai no turpmāk dotās tabulas izvilktu konkrēta dzīvnieka populāciju attiecīgajā gadā. Sākumā definēsim visus argumentus:

    • Data_array - B2:E4 (datu šūnas, neskaitot rindu un kolonnu galvenes)
    • Vlookup_value - H1 (mērķa dzīvnieks)
    • Lookup_column_range - A2:A4 (rindu virsraksti: dzīvnieku nosaukumi) - A3:A4
    • Hlookup_value - H2 (mērķa gads)
    • Lookup_row_range - B1:E1 (kolonnu virsraksti: gadi)

    Saliekot visus argumentus kopā, iegūsiet šo divvirzienu meklēšanas formulu:

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

    Kā darbojas šī formula

    Lai gan no pirmā acu uzmetiena tas var šķist nedaudz sarežģīts, formulas loģika ir patiešām vienkārša un viegli saprotama. INDEX funkcija iegūst vērtību no datu masīva, pamatojoties uz rindas un kolonnas numuriem, un divas MATCH funkcijas nodrošina šos numurus:

    INDEX(B2:E4, rindas_num, kolonnas_num)

    Šeit mēs izmantojam MATCH(lookup_value, lookup_array, [match_type]) iespēju, lai atgrieztu relatīvā pozīcija no lookup_value vietnē lookup_array .

    Tātad, lai iegūtu rindas numuru, mēs meklējam interesējošo dzīvnieku (H1) rindas virsrakstos (A2:A4):

    MATCH(H1, A2:A4, 0)

    Lai iegūtu kolonnas numuru, mēs meklējam mērķa gadu (H2) kolonnu virsrakstos (B1:E1):

    MATCH(H2, B1:E1, 0)

    Abos gadījumos mēs meklējam precīzu sakritību, iestatot 3. argumentam vērtību 0.

    Šajā piemērā pirmais MATCH atgriež 2, jo mūsu vlookup vērtība (polārlācis) ir atrasta A3, kas ir A2:A4 2. šūna. Otrais MATCH atgriež 3, jo hlookup vērtība (2000) ir atrasta D1, kas ir B1:E1 3. šūna.

    Ņemot vērā iepriekš minēto, formula ir šāda:

    INDEKSS(B2:E4, 2, 3)

    Un atdod vērtību datu masīva B2:E4 2. rindas un 3. slejas krustpunktā, kas ir vērtība šūnā D3.

    VLOOKUP un MATCH formula divvirzienu meklēšanai

    Vēl viens veids, kā veikt divdimensiju meklēšanu programmā Excel, ir izmantot VLOOKUP un MATCH funkciju kombināciju:

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

    Mūsu tabulas paraugam formula ir šāda:

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

    Kur:

    • Table_array - A2:E4 (datu šūnas, ieskaitot rindu galvenes)
    • Vlookup_value - H1 (mērķa dzīvnieks)
    • Hlookup_value - H2 (mērķa gads)
    • Lookup_row_range - A1:E1 (kolonnu virsraksti: gadi)

    Kā darbojas šī formula

    Formulas pamatā ir funkcija VLOOKUP, kas konfigurēta precīzai sakritībai (pēdējais arguments iestatīts uz FALSE), kura meklē meklēšanas vērtību (H1) tabulas masīva pirmajā slejā (A2:E4) un atdod vērtību no citas tās pašas rindas slejas. Lai noteiktu, no kuras slejas atdot vērtību, tiek izmantota funkcija MATCH, kas arī ir konfigurēta precīzai sakritībai (pēdējais arguments iestatīts uz 0):

    MATCH(H2, A1:E1, 0)

    MATCH meklē vērtību H2 pozīcijā pāri kolonnu virsrakstiem (A1:E1) un atgriež atrastās šūnas relatīvo pozīciju. Mūsu gadījumā mērķa gads (2010) ir atrasts E1 pozīcijā, kas ir 5. pozīcijā meklēšanas masīvā. Tātad skaitlis 5 tiek nosūtīts uz col_index_num VLOOKUP arguments:

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

    VLOOKUP no turienes to pārņem, atrod precīzu atbilstību tās meklēšanas vērtībai A2 un atgriež vērtību no tās pašas rindas 5. slejas, kas ir šūna E2.

    Svarīga piezīme! Lai formula darbotos pareizi, table_array (A2:E4) no VLOOKUP un lookup_array MATCH (A1:E1) jābūt vienādam kolonnu skaitam, pretējā gadījumā skaitlim, ko MATCH nodod uz col_index_num būs nepareiza (neatbildīs kolonnas pozīcijai slejā table_array ).

    XLOOKUP funkcija, lai meklētu rindās un kolonnās

    Nesen Microsoft programmā Excel ieviesa vēl vienu funkciju, kas ir paredzēta, lai aizstātu visas esošās meklēšanas funkcijas, piemēram, VLOOKUP, HLOOKUP un INDEX MATCH. XLOOKUP cita starpā var apskatīt konkrētas rindas un kolonnas krustpunktus:

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

    Mūsu parauga datu kopai formula ir šāda:

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

    Piezīme. Pašlaik XLOOKUP ir beta versija, kas ir pieejama tikai Office 365 abonentiem, kuri piedalās programmā Office Insiders.

    Kā darbojas šī formula

    Formulā ir izmantota XLOOKUP iespēja atgriezt visu rindu vai kolonnu. Iekšējā funkcija meklē mērķa gadu galvenes rindā un atgriež visas šī gada vērtības (šajā piemērā - 1980. gada vērtības). Šīs vērtības tiek ievadītas rindā. return_array ārējā XLOOKUP arguments:

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

    Ārējā XLOOKUP funkcija meklē mērķa dzīvnieku kolonnu galvenēs un atgriež vērtību tajā pašā pozīcijā no return_array.

    SUMPRODUCT formula divvirzienu meklēšanai

    SUMPRODUCT funkcija ir kā šveiciešu nazis programmā Excel - ar to var paveikt daudzas lietas, kas pārsniedz tās paredzēto mērķi, jo īpaši, ja ir jāizvērtē vairāki kritēriji.

    Lai meklētu divus kritērijus rindās un kolonnās, izmantojiet šo vispārīgo formulu:

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

    Lai mūsu datu kopā veiktu divvirzienu meklēšanu, formula ir šāda:

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

    Darbosies arī tālāk norādītā sintakse:

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

    Kā darbojas šī formula

    Formulas pamatā ir divu meklēšanas vērtību salīdzināšana ar rindas un kolonnas virsrakstiem (mērķa dzīvnieka H1 salīdzinājums ar visiem dzīvnieku nosaukumiem A2:A4 un mērķa gada H2 salīdzinājums ar visiem gadiem B1:E1):

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

    Rezultātā tiek iegūti 2 masīvi ar TRUE un FALSE vērtībām, kur TRUE ir atbilstība:

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

    Daudzināšanas operācija pārvērš TRUE un FALSE vērtības 1 un 0 un izveido divdimensiju masīvu ar 4 kolonnām un 3 rindām (rindas ir atdalītas ar semikoloniem un katra datu sleja ar komatu):

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

    Funkcija SUMPRODUCT reizina iepriekš minētā masīva elementus ar B2:E4 vienādās pozīcijās esošajiem elementiem:

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

    Un, tā kā reizinot ar nulli, iegūst nulli, pirmajā masīvā saglabājas tikai vienība, kas atbilst 1:

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

    Visbeidzot SUMPRODUCT saskaita iegūtā masīva elementus un atgriež vērtību 2000.

    Piezīme. Ja jūsu tabulā ir vairākas rindas un/vai kolonnu virsraksti ar vienādiem nosaukumiem, galīgajā masīvā būs vairāk nekā viens skaitlis, kas nav nulle, un visi šie skaitļi tiks saskaitīti. Rezultātā tiks iegūta abiem kritērijiem atbilstošo vērtību summa. Ar to SUMPRODUCT formula atšķiras no INDEX MATCH MATCH un VLOOKUP, kas atdod pirmo atrasto atbilstību.

    Matricas meklēšana ar nosauktiem diapazoniem (skaidra intersekcija)

    Vēl viens pārsteidzoši vienkāršs veids, kā veikt matricas meklēšanu programmā Excel, ir, izmantojot nosauktos diapazonus. Lūk, kā:

    1. daļa: Nosauciet kolonnas un rindas

    Visātrākais veids, kā nosaukt katru tabulas rindu un kolonnu, ir šāds:

    1. Atlasiet visu tabulu (mūsu gadījumā A1:E4).
    2. Par Formulas cilnē Definētie nosaukumi grupu, noklikšķiniet uz Izveidot no atlases vai nospiediet īsceļu Ctrl + Shift + F3.
    3. In the Nosaukumu izveide no atlases dialoglodziņā izvēlieties Augšējā rinda un Kreisā slejā, un noklikšķiniet uz Labi.

    Tas automātiski izveido nosaukumus, pamatojoties uz rindu un kolonnu virsrakstiem. Tomēr ir daži iebildumi:

    • Ja jūsu kolonnu un/vai rindu virsraksti ir skaitļi vai satur īpašas rakstzīmes, kas nav atļautas Excel nosaukumos, šādu kolonnu un rindu nosaukumi netiks izveidoti. Lai apskatītu izveidoto nosaukumu sarakstu, atveriet nosaukumu pārvaldnieku ( Ctrl + F3 ). Ja dažu nosaukumu nav, definējiet tos manuāli, kā paskaidrots sadaļā Kā nosaukt diapazonu programmā Excel.
    • Piemēram, ja dažu rindu vai kolonnu galvenēs ir atstarpes, tās tiks aizstātas ar pasvītrojumiem, Polar_bear .

    Mūsu tabulas paraugam Excel automātiski izveidoja tikai rindu nosaukumus. Kolonnu nosaukumi ir jāveido manuāli, jo kolonnu virsraksti ir skaitļi. Lai to novērstu, varat vienkārši ievadīt skaitļus ar pasvītrojumiem, piemēram. _1990 .

    Rezultātā mums ir šādi nosaukti diapazoni:

    2. daļa: Izveidojiet matricas meklēšanas formulu

    Lai iegūtu vērtību konkrētas rindas un kolonnas krustpunktā, tukšā šūnā ierakstiet vienu no šādām vispārīgajām formulām:

    = rindas_nosaukums kolonnas_nosaukums

    Vai otrādi:

    = kolonnas_nosaukums rindas_nosaukums

    Piemēram, lai iegūtu zilo vaļu populāciju 1990. gadā, formula ir šāda:

    =Blue_whale _1990

    Ja kādam ir nepieciešami detalizētāki norādījumi, tālāk tekstā ir sniegti norādījumi par šo procesu:

    1. Šūnā, kurā vēlaties, lai parādās rezultāts, ierakstiet vienlīdzības zīmi (=).
    2. Sāciet rakstīt mērķa rindas nosaukumu, piemēram, Blue_whale . Pēc tam, kad būsiet ievadījis dažas rakstzīmes, Excel parādīs visus esošos nosaukumus, kas atbilst jūsu ievadītajiem datiem. Divreiz noklikšķiniet uz vēlamā nosaukuma, lai ievadītu to savā formulā:
    3. Pēc rindas nosaukuma ierakstiet a telpa , kas darbojas kā krustojuma operators šajā gadījumā.
    4. Ievadiet mērķa kolonnas nosaukumu ( _1990 mūsu gadījumā).
    5. Tiklīdz ir ievadīti gan rindas, gan kolonnas nosaukumi, programmā Excel tiks izcelta atbilstošā rindas un kolonnas tabula, un, lai pabeigtu formulas izveidi, nospiediet Enter:

    Jūsu matricas meklēšana ir pabeigta, un tālāk redzamajā ekrānšāviņas attēlā ir redzams rezultāts:

    Lūk, kā Excel meklēt rindās un kolonnās. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!

    Pieejamās lejupielādes

    2-dimensiju uzmeklēšanas parauga darbgrāmata

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.