INDEX-MATCH s viacerými zhodami v programe Excel (6 príkladov)

  • Zdieľajte To
Hugh West

Excel poskytuje rôzne funkcie a spôsoby získavania zodpovedajúcich hodnôt. V závislosti od situácie si používatelia môžu vybrať svoje preferencie. Tento návod vám ukáže, ako získať výsledky pomocou INDEX MATCH s viacerými zhodami v programe Excel.

Poďme sa najprv zoznámiť s dnešným pracovným zošitom.

V listoch dnešného zošita nájdete produkty a ich cenový vzťah. Pomocou tohto vzťahu si ukážeme niekoľko príkladov na získanie hodnoty pomocou viacero kritérií .

V reálnom svete môže byť potrebné spracovať súbory údajov s viacerými vzťahmi a nastaviť rôzne kritériá na získanie výsledkov. Aby sme to zatiaľ zjednodušili, získame cenu výrobku zodpovedajúcu názvu a veľkosti.

Stiahnite si cvičebnicu

Pracovný zošit použitý na demonštráciu so všetkými vzorcami si môžete stiahnuť z nižšie uvedeného odkazu.

INDEX-MATCH s viacerými zhodami.xlsx

Základy funkcie INDEX-MATCH

Základy funkcie INDEX

Funkcia INDEX vráti hodnotu alebo odkaz na hodnotu z tabuľky alebo rozsahu. Môže sa použiť na získanie jednotlivých hodnôt alebo akýchkoľvek celých riadkov a stĺpcov. Pozrime sa na syntax funkcie INDEX.

INDEX(pole/odkaz, číslo_riadku, číslo_stĺpca,číslo_oblasti)

pole alebo odkaz: bunka alebo rozsah buniek, na ktoré sa chcete pozrieť

číslo_riadku: Riadok v poli, z ktorého sa má vrátiť hodnota

column_number: Stĺpec v poli, z ktorého sa má vrátiť hodnota

area_number: Vyberie rozsah v referencii, z ktorého sa vráti priesečník číslo_riadku a column_num Toto je nepovinné pole.

Pri písaní vzorca si môžete vybrať, či chcete poskytnúť číslo_riadku alebo column_number Ak poskytnete číslo_riadku potom je voliteľné použiť column_number a naopak.

Môžete si pozrieť Podpora spoločnosti Microsoft pre hlbšie syntaktické členenie.

Základy funkcie MATCH

V praxi sa častejšie stretnete s jednou funkciou INDEX je funkcia funkcia MATCH . MATCH Funkcia sa používa na určenie polohy zadanej položky v rozsahu buniek. Vracia relatívnu polohu konkrétnej položky v rozsahu.

Syntax MATCH je funkcia

MATCH(lookup_value, lookup_array, match_type)

lookup_value: Hodnota, ktorá sa má vyhľadať v poli lookup_array.

lookup_array: Rozsah buniek, ktoré sa prehľadávajú.

match_type: Toto je nepovinné pole. Môžete vložiť 3 hodnoty.

1 = Menšia alebo rovná sa hodnote lookup_value

0 = Exact lookup_value

-1 = Väčšie alebo rovné hodnote lookup_value

Ak chcete získať hlbšie informácie, môžete si pozrieť Podpora spoločnosti Microsoft miesto.

6 Vhodné príklady použitia vzorca INDEX-MATCH s viacerými zhodami

Teraz tieto vzorce a teórie uplatníme v našom súbore údajov. Riešili sme rôzne scenáre pomocou INDEX-MATCH s viacerými zhodami v programe Excel a pre lepšie pochopenie sme ich zahrnuli do rôznych častí. Sledujte, ako ich môžeme použiť v rôznych scenároch, alebo ak dávate prednosť konkrétnemu, nájdete ho v tabuľke vyššie.

1. INDEX-MATCH s viacerými kritériami

Na načítanie hodnôt pomocou viacero kritérií Ak chcete napríklad získať cenu košele malej veľkosti (v našom zošite), musíte nastaviť názov produktu - Košeľa a veľkosť - Malá.

Teraz postupujte podľa týchto krokov, aby ste videli, ako môžeme použiť vzorec na nájdenie indexovej zhody s týmito viacnásobnými zhodami v programe Excel.

Kroky:

  • Najprv vyberte bunku G6 .
  • Potom zapíšte nasledujúci vzorec.

=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

🔎 Rozdelenie vzorca

INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

👉 (G4=B5:B15) a (G5=C5:C15) sú obidve podmienky a vrátia buď TRUE alebo FALSE v závislosti od toho, či sú podmienky pravdivé alebo nie. Číselne sú 1 alebo 0. Takže násobenie vráti 1, ak sú obe podmienky pravdivé.

👉 MATCH(1,(G4=B5:B15)*(G5=C5:C15),0) vráti pozíciu, v ktorej sú obe podmienky pravdivé. V tomto prípade je to 1.

👉 INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) vráti hodnotu na pozícii, ktorú vrátila predchádzajúca časť vzorca.

  • Nakoniec stlačte Vstúpte na stránku .

Takto môžeme použiť INDEX MATCH pre viacero kritérií alebo zhody v programe Excel.

Prečítajte si viac: Ako porovnať viacero kritérií z rôznych polí v programe Excel

2. INDEX-MATCH s viacerými kritériami patrí do riadkov a stĺpcov

V tejto časti sa budeme zaoberať tým, ako vykonať vyhľadávanie testovaním dvoch alebo viacerých kritérií v riadky a stĺpce . Môže sa to zdať trochu zložité a komplikované.

V našom príklade došlo k malej zmene, naša tabuľka je teraz usporiadaná tak, že hodnoty Veľkosť (Malý, Veľký, M, XL) predstavujú jednotlivé stĺpce.

Podobne ako v predchádzajúcej časti nastavte produkt a požadovanú veľkosť ako hodnoty kritérií.

Postupujte podľa týchto krokov, aby ste zistili, ako môžeme použiť vzorec pre túto časť.

Kroky:

  • Najprv vyberte bunku I6 .
  • Potom do nej zapíšte nasledujúci vzorec.

=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))

🔎 Rozdelenie vzorca

👉 MATCH(I4,B5:B7,0) vráti presnú zhodu s hodnotou I4 v rozsahu B5:B7 .

👉 Podobne, MATCH(I5,C4:F4,0) vráti presnú zhodu s hodnotou I5 v rozsahu C4:F4 .

👉 Nakoniec, INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) prevezme výstup prvej funkcie ako číslo riadku a druhej funkcie ako číslo stĺpca a vráti hodnotu, ktorá sa nachádza na pozícii z rozsahu C5:F7 .

  • Potom stlačte tlačidlo Vstúpte na stránku .

Preto môžeme použiť INDEX-MATCH s viacerými kritériami patriacimi do riadkov a stĺpcov.

Prečítajte si viac: Index Excel Priradenie jedného/viacerých kritérií k jednému/viacerým výsledkom

Podobné čítania

  • INDEX MATCH s 3 kritériami v programe Excel (4 príklady)
  • INDEX MATCH vo viacerých listoch v programe Excel (s alternatívou)
  • Súčet s funkciami INDEX-MATCH v rámci viacerých kritérií v programe Excel
  • Indexová zhoda súčtu viacerých riadkov v programe Excel (3 spôsoby)
  • Vzorec INDEX-MATCH na nájdenie minimálnej hodnoty v programe Excel (4 vhodné spôsoby)

3. INDEX-MATCH z nesusedných stĺpcov

V tejto časti si ukážeme príklad, ako načítať zhodné hodnoty pomocou dvoch nesusedných stĺpcov. Okrem toho potrebujeme funkcia IFERROR pre tento scenár.

Toto bude súbor údajov na demonštráciu.

Podľa týchto krokov zistíte, ako môžeme použiť INDEX-MATCH pre nesusedné stĺpce (výrobok a množstvo) v tomto súbore údajov.

Kroky:

  • Najprv vyberte bunku G6 .
  • Potom do nej zapíšte nasledujúci vzorec.

=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value")

🔎 Rozdelenie vzorca

IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value")

👉 MATCH(G5,B4:B7,0) nájde presnú zhodu hodnoty bunky G5 v rozsahu B4:B7 .

👉 a MATCH(F6,B4:D4,0) nájde presnú zhodu F6 je rozsah B4:D4 .

👉 Potom INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) prevezme prvú hodnotu funkcie ako číslo riadku a druhú hodnotu funkcie ako číslo stĺpca a vráti hodnotu na danej pozícii v rozsahu B4:D7 .

👉 Nakoniec, IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "No Value") vráti reťazec "No Value", ak pri vykonávaní vzorca došlo k chybe. V opačnom prípade vráti obvyklú hodnotu.

  • Potom stlačte tlačidlo Vstúpte na stránku na klávesnici.

Výsledkom je, že v programe Excel môžeme nájsť požadovanú zhodu pomocou funkcie INDEX-MATCH z nesusedných stĺpcov pre vybrané kritériá, dokonca aj pre viacero kritérií.

4. INDEX-MATCH z viacerých tabuliek

Ak chceme nájsť zhody z viacerých tabuliek, môžeme použiť príkaz INDEX-MATCH Spolu s touto funkciou budeme potrebovať MALÉ , ISNUMBER , ROW , COUNTIF a IFERROR aj funkcie.

V hárku s príkladom máme 2 produkty obchodu. Pomocou tohto hárku si ukážeme, ako vykonať úlohu.

Podľa týchto krokov zistíte, ako môžeme použiť kombináciu týchto funkcií spolu s funkciou INDEX-MATCH s viacerými zhodami z tejto sady tabuliek v programe Excel.

Kroky:

  • Najprv vyberte bunku C14 .
  • Teraz si zapíšte nasledujúci vzorec.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Rozdelenie vzorca

IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) nájde presnú zhodu C12 v rozsahu B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) kontroluje, či je hodnota vo funkcii číslo.

👉 IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") ROW($B$6:$B$10)) skontroluje, či je predchádzajúca funkcia číslo alebo nie. Ak je, potom vráti výstupnú hodnotu MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) čo je pozícia, na ktorej sa zhoduje pole čísel riadkov v prvom a druhom ROW V opačnom prípade vráti prázdny reťazec.

👉 SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) vracia ROWS($A$1:A1) -tá najmenšia hodnota z poľa.

👉 Nakoniec. INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) vráti hodnotu na danej pozícii v rozsahu C6:C10 .

👉 INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12)) robí to isté, ale z druhej tabuľky, pretože rozsahy sú v tejto časti vzorca jasne odlišné.

👉 Nakoniec celá funkcia prevezme celú funkciu a vráti INDEX-MATCH kombinácie. Vplyv IFERROR Ak by sa pri vykonávaní vzorca vyskytli chyby, nevrátil by žiadnu hodnotu.

  • Potom stlačte tlačidlo Vstúpte na stránku .

  • Potom opäť vyberte bunku a kliknutím a potiahnutím ikony rukoväte výplne smerom nadol pre viacero buniek vyhľadajte zvyšné hodnoty z tabuliek. Môžete potiahnuť ďalšie bunky, Excel zastaví hodnoty, keď ich už nebude viac.

Takto môžeme použiť INDEX-MATCH pomocou kritérií z viacerých tabuliek v programe Excel.

Prečítajte si viac: Viacero kritérií v programe Excel pomocou funkcií INDEX, MATCH a COUNTIF

5. INDEX-MATCH z viacerých pracovných hárkov

Vzorec INDEX-MATCH môžeme použiť nad rôznymi hárkami. Tu máme tieto dve tabuľky nad dvoma rôznymi hárkami.

Hárok obchodu 1 pre obchod 1 a hárok obchodu 2 pre obchod 2.

Na vytvorenie výsledku stačí, ak pred odkazom na bunku uvedieme názov hárka. Podrobnejšie informácie získate podľa týchto krokov.

Kroky:

  • Najprv vyberte bunku C14 z listu "Obchod 1".
  • Potom zapíšte nasledujúci vzorec.

=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

🔎 Rozdelenie vzorca

IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))), INDEX(‘Shop 2’!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH(‘Shop 2’!$B$6:$B$10, $C$12, 0)), MATCH(ROW(‘Shop 2’!$B$6:$B$10), ROW(‘Shop 2’!$B$6:$B$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 MATCH($B$6:$B$10, $C$12, 0) hľadá presnú zhodu s hodnotou bunky C12 v rozsahu B6:B10 .

👉 ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) kontroluje, či výstupom predchádzajúcej funkcie je číslo alebo nie. Čo určuje, či došlo k zhode alebo nie. Ide len o prevod číselnej hodnoty na logickú.

👉 Potom IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") kontroluje hodnotu boolean a vracia MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) ak je hodnota true. V opačnom prípade vráti prázdny reťazec. MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) časť je rad čísel, kde RIADOK($B$6:$B$10) a RIADOK($B$6:$B$10) Toto je len praktický trik na obmedzenie celkového počtu riadkov vo vybranej časti.

👉 Potom, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1) hľadá ROWS($A$1:A1) -tá najmenšia hodnota z výstupu IF časť.

👉 Nakoniec, INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) prevezme výstup predchádzajúcej funkcie ako číslo riadku a ROWS($A$1:A1) ako číslo stĺpca a vráti hodnotu, ktorá sa nachádza na tejto pozícii v rozsahu C6:C10 .

👉 Podobne, INDEX("Obchod 2"!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH("Obchod 2"!$B$6:$B$10, $C$12, 0)), MATCH(ROW("Obchod 2"!$B$6:$B$10), ROW("Obchod 2"!$B$6:$B$10)), "") vykoná to isté, ale z druhého hárku. Keďže názov hárku je "Obchod 2", pridali sme ho pred výberom rozsahov/buniek. Nemusíte ich pridávať do hárku, na ktorom vykonávate výpočty. Preto sme to pre "Obchod 1" v predchádzajúcej časti vzorca neurobili.

👉 Nakoniec sme celú funkciu pridali do IFERROR Dôvodom je vrátenie prázdnej hodnoty v prípade, že sa pri vykonávaní vzorca vyskytnú chyby.

  • Nakoniec stlačte Vstúpte na stránku .

  • Teraz opäť vyberte bunku. Potom kliknite na ikonu rukoväte výplne a potiahnite ju pre niektoré bunky nadol (viac, ako je odhadované množstvo výstupnej bunky, by malo byť v poriadku).

Následne nájdeme všetky zhody pomocou INDEX-MATCH z viacerých pracovných hárkov v programe Excel.

6. INDEX-MATCH pre viacero kritérií bez poľa

INDEX-MATCH môžeme použiť aj pre viacero zhody alebo kritérií bez akéhokoľvek poľa. Vezmime si napríklad nasledujúci súbor údajov.

Najprv však potrebujeme pomocný stĺpec, aby sme to dosiahli. Použijeme funkcia CONCATENATE okrem príslušných funkcií. Úplný návod nájdete podľa týchto krokov.

Kroky:

  • Najprv vyberte bunku F5 a zapíšte nasledujúci vzorec.

=CONCATENATE(C5,",",D5,",",E5)

  • Potom stlačte tlačidlo Vstúpte na stránku .

  • Teraz opäť vyberte bunku, kliknite na ikonu rukoväte výplne a potiahnite ju na koniec stĺpca, aby ste vzorec zopakovali pre ostatné bunky.

  • Ďalej nájdeme INDEX-MATCH pre všetkých 100 v pôvodnom súbore údajov. Na tento účel vyberte bunku na uloženie hodnoty ( H5 v tomto prípade).
  • Potom vložte nasledujúci vzorec.

=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))

🔎 Rozdelenie vzorca

👉 MATCH(“100,100,100”,F5:F19,0) hľadá presnú zhodu 100,100,100 v rozsahu F5:F19 .

👉 Potom INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) vráti hodnotu na pozícii, kde sa hodnota zhoduje.

  • Nakoniec stlačte Vstúpte na stránku .

Týmto spôsobom môžeme v programe Excel použiť INDEX-MATCH pre viacero kritérií alebo zhody bez akéhokoľvek poľa.

Ako vrátiť viacero hodnôt vertikálne pomocou vzorca INDEX-MATCH v programe Excel

V prípade, že chcete vrátiť viacero hodnôt vertikálne pomocou INDEX-MATCH, pozrime sa na nasledujúci príklad.

Podľa týchto krokov zistíte, ako to môžeme dosiahnuť pre súbor údajov.

Kroky:

  • Najprv vyberte bunku F5 .
  • Po druhé, zapíšte si nasledujúci vzorec.

=IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"")

🔎 Rozdelenie vzorca

👉 RIADOK($B$5:$B$14) vráti pole obsahujúce čísla riadkov rozsahu B5:B14 .

👉 RIADOK($B$5:$B$14)-RIADOK($B$5)+1 vráti rozdiel medzi poľom a číslom riadku bunky B5 čo je v tomto prípade len pole 1 až 10.

👉 IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) kontroluje, kde je hodnota bunky E5 sa rovná v rozsahu B5:B14 a vráti číslo v poli, kde je to pravda z predchádzajúceho poľa.

👉 SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1) vráti najmenšie číslo z poľa.

👉 INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))) potom vráti hodnotu na tejto pozícii v rozsahu C5:C14 .

👉 Nakoniec, IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"") zabezpečí, že ak hodnota vo vzorci vedie k chybe, vráti prázdny reťazec.

  • Po tretie, stlačte Vstúpte na stránku .

  • Potom opäť vyberte bunku. Nakoniec kliknite na ikonu rukoväte výplne a potiahnite ju nadol pre niektoré bunky, aby ste získali všetky hodnoty.

Takto môžeme vrátiť viacero hodnôt vertikálne pomocou funkcie INDEX-MATCH v programe Excel.

Prečítajte si viac: INDEX MATCH s viacerými kritériami v inom hárku (2 spôsoby)

Záver

To je pre dnešok všetko. Pokúsili sme sa vám ukázať niekoľko spôsobov INDEX MATCH s viacerými zhodami. Dúfam, že vám to bude užitočné. Ak sa vám zdá niečo zložité na pochopenie, môžete to komentovať. Uvítame, ak nás upozorníte na ďalšie spôsoby riešenia úlohy.

Ďalšie podobné príručky nájdete na stránke Exceldemy.com .

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.