MATCH je vyhľadávacia funkcia, ktorá nájde relatívnu pozíciu riadka alebo stĺpca zodpovedajúcemu vstupným kritériám. Funkcia nevracia hodnotu samotnú, ale iba jej pozíciu v rámci zvoleného rozsahu.

> > > Pozri aj: Funkcia MATCH v LibreOffice Calc. < < < 

Parametre funkcie

  1. Vyhľadávaná hodnota (Lookup value) – hľadaná hodnota, ktorá sa porovnáva s hodnotami buniek v poli vyhľadávania.
  2. Pole vyhľadávania (Lookup array)– rozsah buniek, v ktorom sa testuje vyhľadávaná hodnota na prítomnosť.
  3. Typ zhody (Match type)– určuje, akým spôsobom sa má vyhodnocovať prítomnosť alebo neprítomnosť vyhľadávanej hodnotypoli vyhľadávania. Môže nadobúdať hodnotu

    1. 1 (maximálne menší/rovný) – funkcia nájde najväčšiu hodnotu v poli vyhľadávania, ktorá je menšia alebo rovná ako   vyhľadávaná hodnota, pričom platí, že pole vyhľadávania musí byť zoradené vzostupne (od najmenšie po najväčšie hodnoty). Predvolená hodnota pri vynechaní parametra.
    2. 0 (presná zhoda) – funkcia nájde prvú hodnotu v poli vyhľadávania, ktorá je rovná vyhľadávanej hodnote.
    3. -1 (minimálne väčší/rovný) – funkcia nájde najmenšiu hodnotu v poli vyhľadávania, ktorá je väčšia alebo rovná ako vyhľadávaná hodnota, pričom platí, že pole vyhľadávania musí byť zoradené zostupne.

Vstupné argumenty pre funkciu MATCH

Návratová hodnota

Funkcia vracia relatívnu pozíciu riadka bunky s hľadanou hodnotou v rámci poľa vyhľadávania. V prípade nenájdenej zhody alebo nesprávne zoradeného poľa vyhľadávania funkcia vracia hodnotu #NEDOSTUPNÝ (#NA).

Dôležité informácie

  • Pri hľadaní zhody s textovou hodnotou, funkcia nerozlišuje veľké a malé písmená.
  • V prípade hľadania textovej hodnoty v móde Typ zhody = 0 (presná zhoda), je možné použiť tiež žolíka (wildcard) „?“ (ľubovoľný znak) alebo „*“ (postupnosť ľubovoľných znakov). Ak chceme použiť ako špecifickú podmienku tieto 2 znaky, je nutné ich použiť s prefixom „~“ (tilda).
  • Časté využitie funkcie MATCH je realizované v spojení s funkciou INDEX. Pri klasickom použití pripomína toto spojenie funkciu VLOOKUP, avšak nespornou výhodou je možnosť definovania viacerých podmienok, na základe, ktorých sa má vyhľadávať cieľová hodnota (viď viackriterálne vyhľadávanie)

Viackriteriálne vyhľadávanie

Ak je potrebné vyhľadávať podľa viacerých podmienok, funkcia MATCH môže byť dobrou voľbou a zároveň aj výhodou pred funkciou VLOOKUP. Definovať viaceré podmienky je možné dvoma spôsobmi:

  • Prostredníctvom funkcie IF, napr. =MATCH(D2;IF($B$3:$B$10=E2;$A$3:$A$10);0)
  • Reťazením podmienok pomocou symbolu „&“, napr. =MATCH(D2&E2;$A$3:$A$10&$B$3:$B$10;0)

Druhý spôsob je praktickejší v prípade, že je potrebné použiť viac ako 2 podmienky. Tento spôsob bol využitý aj pri riešení príkladu 4. Pri použití viacerých podmienok je potrebné vzorec potvrdiť kombináciou kláves CTRL + SHIFT + ENTER, klasické potvrdenie klávesom ENTER nie je postačujúce. Následne sa vzorec „zaobalí“ do vonkajších zátvoriek, ktoré signalizujú prítomnosť maticového vzorca.

Formát maticového vzorca


Príklad 1

Zadanie: Do bunky $E$2 doplňte pozíciu riadka z tabuľky Súťažiaci, v ktorom sa nachádza súťažiaci s vekom určeným bunkou $D$2 (Hľadaný vek). Hodnota bunky $D$2 je 42.

Riešenie: Zvolíme nasledovné parametre funkcie:

  1. Vyhľadávaná hodnota (Lookup value) – bunka $D$2 obsahujúca hľadaný vek
  2. Pole vyhľadávania (Lookup array)– stĺpec Vek v tabuľke Súťažiaci ($B$3:$B$8)
  3. Typ zhody (Match type) – hodnota 0, hľadáme presnú zhodu veku

Riešenie príkladu č. 1

Záver: Pomocou funkcie MATCH sme získali pozíciu riadku v tabuľke Súťažiaci, ktorý obsahuje vek súťažiaceho vo výške 42 rokov.


Príklad 2

Zadanie: Do bunky $E$2 doplňte pozíciu riadka z tabuľky Súťažiaci, v ktorom sa nachádza najbližší súťažiaci, ktorý je mladší alebo rovnako starý ako určený vek v bunke $D$2 (Hľadaný vek). Hodnota bunky $D$2 je 40.

Riešenie: Tabuľku Súťažiaci zoradíme vzostupne podľa stĺpca B (Vek) a zvolíme nasledovné parametre funkcie:

  1. Vyhľadávaná hodnota (Lookup value) – bunka $D$2 obsahujúca hľadaný vek
  2. Pole vyhľadávania (Lookup array)– stĺpec Vek v tabuľke Súťažiaci ($B$3:$B$8)
  3. Typ zhody (Match type) – hodnota 1, hľadáme najväčšiu hodnotu stĺpca B (Vek), ktorá je menšia alebo rovná hľadanému veku.

Riešenie Príkladu č.2

Záver: Pomocou funkcie MATCH sme získali pozíciu riadku v tabuľke Súťažiaci, ktorý obsahuje najvyšší vek súťažiaceho, ktorý je nižší alebo rovný ako 40 (v tomto prípade 38 rokov).


Príklad 3

Zadanie: Do bunky $E$2 doplňte pozíciu riadka z tabuľky Súťažiaci, v ktorom sa nachádza najbližší súťažiaci, ktorý je starší alebo rovnako starý ako určený vek v bunke $D$2 (Hľadaný vek). Hodnota bunky $D$2 je 40

Riešenie: Tabuľku Súťažiaci zoradíme vzostupne podľa stĺpca B (Vek) a zvolíme nasledovné parametre funkcie:

  1. Vyhľadávaná hodnota (Lookup value) – bunka $D$2 obsahujúca hľadaný vek
  2. Pole vyhľadávania (Lookup array)– stĺpec Vek v tabuľke Súťažiaci ($B$3:$B$8)
  3. Typ zhody (Match type) – hodnota -1, hľadáme najnižšiu hodnotu stĺpca B (Vek), ktorá je väčšia alebo rovná hľadanému veku.

Riešenie Príkladu č.3

Záver: Pomocou funkcie MATCH sme získali pozíciu riadku v tabuľke Súťažiaci, ktorý obsahuje najnižší vek súťažiaceho, ktorý je vyšší alebo rovný ako 40 (v tomto prípade 42 rokov).


Príklad 4

Zadanie: Do bunky $E$2 doplňte pozíciu riadka z tabuľky Súťažiaci, v ktorom sa nachádza súťažiaci s menom zadaným v bunke $D$2 (Hľadané meno) a s vekom zadaným v bunke $E$2 (Hľadaný vek). Hodnota bunky $D$2 je Jano a hodnota bunky $E$2 je 42.

Riešenie: Zvolíme nasledovné parametre funkcie:

  1. Vyhľadávaná hodnota(Lookup value) – bunky $D$2 (Hľadané meno) spolu s bunkou $E$2 (Hľadaný vek) spojené pomocou symbolu „&“.
  2. Pole vyhľadávania(Lookup array)– stĺpec Meno a stĺpec Vek v tabuľke Súťažiaci (rozsahy $A$3:$A$10 a $B$3:$B$10) spojené symbolom „&“.
  3. Typ zhody (Match type) – hodnota 0, hľadáme presnú zhodu.

Riešenie Príkladu č.4

Záver: Pomocou funkcie MATCH sme získali pozíciu riadku v tabuľke Súťažiaci, ktorý súčasne obsahuje v stĺpci Meno hodnotu Jano a v stĺpci Vek hodnotu 42 rokov.


Referencie


Prílohy

Verzia Dokument Príklady
1.0 ms word 2013 ms excel 2013