INDEX MATCH MATCH во Excel за дводимензионално пребарување

  • Споделете Го Ова
Michael Brown

Упатството прикажува неколку различни формули за извршување на дводимензионално пребарување во Excel. Само погледнете ги алтернативите и изберете го вашиот омилен :)

Кога барате нешто во вашите табели на Excel, најчесто гледате вертикално во колони или хоризонтално во редови. Но, понекогаш треба да ги погледнете и редовите и колоните. Со други зборови, имате за цел да најдете вредност на пресекот на одредена редица и колона. Ова се нарекува пребарување матрица (познато како 2-димензионално или 2-насочно пребарување ), и ова упатство покажува како да го направите тоа на 4 различни начини.

    Формула на Excel INDEX MATCH MATCH

    Најпопуларниот начин за двонасочно пребарување во Excel е со користење на INDEX MATCH MATCH. Ова е варијација на класичната формула INDEX MATCH на која додавате уште една функција MATCH за да ги добиете и броевите на редови и колони:

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

    Како пример, ајде да направиме формула за повлекување популација на одредено животно во дадена година од табелата подолу. За почеток, ги дефинираме сите аргументи:

    • Data_array - B2:E4 (податоци, без заглавија на редови и колони)
    • Vlookup_value - H1 (целно животно)
    • Опсег_колона_пребарување - A2:A4 (заглавија на редови: имиња на животни) -A3:A4
    • Hlookup_value - H2 (целна година)
    • Lookup_row_range - B1:E1 (заглавија на колоните: години)

    Соберете ги сите аргументи заедно и ќе ја добиете оваа формула за двонасочно пребарување:

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

    Како функционира оваа формула

    Иако може да изгледа малку комплексна на прв поглед, логиката на формулата е навистина јасна и лесна за разбирање. Функцијата INDEX враќа вредност од низата на податоци врз основа на броевите на редовите и колоните, а две функции MATCH ги обезбедуваат тие броеви:

    INDEX(B2:E4, row_num, column_num)

    Овде, ја користиме способноста на MATCH(lookup_value, lookup_array, [match_type]) за да се врати релативна позиција од lookup_value во lookup_array .

    Значи, за да го добиеме бројот на редот, бараме за животното од интерес (H1) низ заглавијата на редовите (A2:A4):

    MATCH(H1, A2:A4, 0)

    За да го добиеме бројот на колоната, ја бараме целната година (H2) низ заглавијата на колоните (B1:E1):

    MATCH(H2, B1:E1, 0)

    Во двата случаи, бараме точно совпаѓање со поставување на третиот аргумент на 0.

    Во овој пример, првиот MATCH се враќа 2 затоа што нашата vlookup вредност (Поларна мечка) се наоѓа во A3, што е втора ќелија во A2:A4. Вториот MATCH враќа 3 бидејќи вредноста на hlookup (2000) се наоѓа во D1, што е трета ќелија во B1:E1.

    Со оглед на горенаведеното, формулата се намалува на:

    INDEX(B2:E4, 2, 3)

    И вратете вредност на пресекот на вториот ред и третата колона во низата податоци B2:E4, што евредност во ќелијата D3.

    VLOOKUP и MATCH формула за двонасочно пребарување

    Друг начин да се направи дводимензионално пребарување во Excel е со користење на комбинација од функции VLOOKUP и MATCH:

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

    За нашата примерна табела , формулата го има следниов облик:

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

    Каде:

    • Табела_ низа - A2:E4 (ќелии со податоци вклучувајќи заглавија на редови)
    • Vlookup_value - H1 (целно животно)
    • Hlookup_value - H2 (целна година)
    • Lookup_row_range - A1:E1 (заглавија на колоните: години)

    Како функционира оваа формула

    Сржта на формулата е функцијата VLOOKUP конфигурирана за точно совпаѓање (последниот аргумент поставено на FALSE), што ја бара вредноста за пребарување (H1) во првата колона од низата од табелата (A2:E4) и враќа вредност од друга колона во истиот ред. За да одредите од која колона да вратите вредност, ја користите функцијата MATCH која исто така е конфигурирана за точно совпаѓање (последниот аргумент е поставен на 0):

    MATCH(H2, A1:E1, 0)

    MATCH ја бара вредноста во H2 низ заглавијата на колоните (A1:E1) и ја враќа релативната позиција на пронајдената ќелија. Во нашиот случај, целната година (2010) се наоѓа во Е1, која е петта во низата за пребарување. Значи, бројот 5 оди до аргументот col_index_num на VLOOKUP:

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

    VLOOKUP го зема од таму, наоѓаточно совпаѓање за неговата барана вредност во A2 и враќа вредност од 5-та колона во истиот ред, што е ќелијата E2.

    Важна забелешка! За формулата да работи правилно, table_array (A2:E4) од VLOOKUP и lookup_array од MATCH (A1:E1) мора да имаат ист број на колони, во спротивно бројот поминат од MATCH до col_index_num ќе биде неточно (нема да одговара на позицијата на колоната во table_array ).

    XLOOKUP функцијата за гледање во редови и колони

    Неодамна Microsoft воведе уште една функција во Excel која треба да ги замени сите постоечки функции за пребарување како VLOOKUP, HLOOKUP и INDEX MATCH. Меѓу другото, XLOOKUP може да гледа на пресекот на одредена редица и колона:

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

    За нашиот примерок сет на податоци, формулата оди како што следува:

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

    Забелешка. Во моментов XLOOKUP е бета функција, која е достапна само за претплатниците на Office 365 кои се дел од програмата Office Insiders.

    Како функционира оваа формула

    Формулата ја користи способноста на XLOOKUP да врати цел ред или колона. Внатрешната функција ја бара целната година во редот за заглавие и ги враќа сите вредности за таа година (во овој пример, за 1980 година). Тие вредности одат во аргументот return_array на надворешниотXLOOKUP:

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

    Надворешната функција XLOOKUP го бара целното животно низ заглавијата на колоните и ја враќа вредноста во истата позиција од низата return.

    SUMPRODUCT формула за две -пребарување на начин

    Функцијата SUMPRODUCT е како швајцарски нож во Excel – може да направи многу работи надвор од својата намена, особено кога станува збор за проценка на повеќе критериуми.

    За да побарате два критериуми, во редови и колони, користете ја оваа генеричка формула:

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

    За да се изврши двонасочно пребарување во нашата база на податоци, формулата оди како што следува:

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

    Синтаксата подолу ќе работи исто така:

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

    Како функционира оваа формула

    Во срцето на формулата, споредуваме две вредности за пребарување со заглавијата на редовите и колоните (целното животно во H1 против сите животни имиња во A2:A4 и целната година во H2 наспроти сите години во B1:E1):

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

    Оваа рез ults во 2 низи TRUE и FALSE вредности, каде што TRUE's претставуваат совпаѓање:

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

    Операцијата множење ги принудува TRUE и FALSE вредностите во 1 и 0 и произведува дводимензионална низа од 4 колони и 3 редови (редниците се одделени со точка-запирка и секоја колона со податоци со запирка):

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

    Функциите SUMPRODUCT ги множат елементите од горната низа со ставките одB2:E4 на истите позиции:

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

    И бидејќи множењето со нула дава нула, преживува само ставката што одговара на 1 во првата низа:

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

    Конечно, SUMPRODUCT ги собира елементите од добиената низа и враќа вредност од 2000.

    Забелешка. Ако вашата табела има повеќе од еден ред или/и заглавија на колони со исто име, конечната низа ќе содржи повеќе од еден број освен нула, и сите тие броеви ќе се соберат. Како резултат на тоа, ќе добиете збир на вредности што ги исполнуваат двата критериуми. Тоа е она што ја прави формулата SUMPRODUCT различна од INDEX MATCH MATCH и VLOOKUP, кои го враќаат првото пронајдено совпаѓање.

    Пребарување на матрици со именувани опсези (експлицитно пресек)

    Уште еден неверојатно едноставен начин да се направи пребарување на матрица во Excel е со користење на именувани опсези. Еве како:

    Дел 1: Именувајте колони и редови

    Најбрзиот начин за именување на секој ред и секоја колона во вашата табела е овој:

    1. Изберете ја целата табела (A1:E4 во нашиот случај).
    2. На картичката Формули , во групата Дефинирани имиња , кликнете Креирај од Избор или притиснете ја кратенката Ctrl + Shift + F3.
    3. Во полето за дијалог Креирај имиња од избор , изберете Горниот ред и лево колона, и кликнете OK.

    Ова автоматски создава имиња врз основа на заглавијата на редовите и колоните. Сепак, постојат неколку предупредувања:

    • Ако вашата колумна и/илиЗаглавијата на редовите се броеви или содржат специфични знаци кои не се дозволени во имињата на Excel, имињата за таквите колони и редови нема да се креираат. За да видите список со креирани имиња, отворете го Управникот со имиња ( Ctrl + F3 ). Ако недостасуваат некои имиња, дефинирајте ги рачно како што е објаснето во Како да именувате опсег во Excel.
    • Ако некои од вашите заглавија на редови или колони содржат празни места, празнините ќе се заменат со долни црти, на пример, Поларно_мечка .

    За нашата примерна табела, Excel автоматски ги креираше само имињата на редовите. Имињата на колоните треба да се креираат рачно бидејќи заглавијата на колоните се броеви. За да го надминете ова, можете едноставно да ги предговорите броевите со долни црти, како _1990 .

    Како резултат, ги имаме следните именувани опсези:

    Дел 2 : Направете формула за пребарување на матрица

    За да повлечете вредност на пресекот на даден ред и колона, само напишете една од следните генерички формули во празна ќелија:

    = име_реда име_колона

    Или обратно:

    = име_колона име_реда

    На пример, за да се добие популацијата на сините китови во 1990 г. , формулата е едноставна како:

    =Blue_whale _1990

    Ако некому му требаат подетални инструкции, следните чекори ќе ве водат низ процесот:

    1. Во ќелија каде што сакате да се појави резултатот, напишете го знакот за еднаквост (=).
    2. Почнете да го пишувате името на целниот ред, да речеме, Blue_whale . Посте внеле неколку знаци, Excel ќе ги прикаже сите постоечки имиња што одговараат на вашиот внес. Кликнете двапати на саканото име за да го внесете во вашата формула:
    3. По името на редот, напишете празнина , која работи како оператор за пресек во овој случај.
    4. Внесете го името на целната колона ( _1990 во нашиот случај).
    5. Штом ќе се внесат и имињата на редовите и колоните, Excel ќе ги означи соодветните редови и колона во вашата табела, а вие притиснете Enter за да ја комплетирате формулата:

    Вашето пребарување на матрицата е завршено, а долунаведената слика од екранот го прикажува резултатот:

    Така да барате во редови и колони во Excel. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!

    Достапни преземања

    2-димензионално пребарување примерок работна книга

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.