Vzorce poľa – pokyny a príklady
Applies ToExcel pre Microsoft 365 Excel pre Microsoft 365 pre Mac Excel 2024 Excel 2024 pre Mac Excel 2021 Excel 2021 pre Mac Excel 2019 Excel 2016 Excel pre iPad Excel pre iPhone

Vzorec poľa je vzorec, ktorý dokáže vykonávať viaceré výpočty s jednou alebo viacerými položkami v poli. Pole si môžete predstaviť ako riadok alebo stĺpec alebo kombináciu riadkov a stĺpcov hodnôt. Vzorce poľa môžu vrátiť buď viacero výsledkov, alebo jeden výsledok.

Od aktualizácie pre Microsoft 365 zo septembra 2018 každý vzorec, ktorý môže vrátiť viacero výsledkov, ich automaticky zobrazí smerom nadol alebo do susedných buniek. Táto zmena správania je tiež sprevádzaná niekoľkými novými funkciami dynamických polí. Vzorce dynamického poľa, bez ohľadu na to, či používajú existujúce funkcie alebo funkcie dynamických polí, je potrebné zadať len do jednej bunky a potom ich potvrdiť stlačením klávesu Enter. Predtým vzorce staršieho poľa vyžadovali najprv výber celého výstupného rozsahu a potom potvrdenie vzorca pomocou kombinácie klávesov Ctrl + Shift + Enter. Bežne sa označujú ako CSE.

Vzorce poľa slúžia na vykonávanie zložitých úloh, napríklad:

  • Rýchle vytváranie vzorových množín údajov.

  • Spočítanie znakov, ktoré obsahuje rozsah buniek.

  • Sčítanie iba tých čísel, ktoré vyhovujú určitým podmienkam, napríklad najnižších hodnôt v rozsahu alebo čísel, ktoré sa nachádzajú medzi dolnou a hornou hranicou.

  • Sčítanie každej n-tej hodnoty v rozsahu hodnôt.

Nasledujúce príklady zobrazujú, ako sa vytvárajú vzorce poľa s jednou a viacerými bunkami. Ak je to možné, zahrnuli sme príklady s niektorými funkciami dynamického poľa, ako aj existujúcimi vzorcami poľa zadanými ako dynamické aj staršie polia.

Stiahnite si naše príklady

Stiahnite si vzorový zošit so všetkými príkladmi vzorcov poľa v tomto článku.

V tomto cvičení sa dozviete, ako používať vzorce poľa s viacerými bunkami a s jednou bunkou na výpočet množiny údajov o predaji. Prvá množina krokov používa vzorec s viacerými bunkami na výpočet množiny medzisúčtov. Druhá množina používa vzorec s jednou bunkou na výpočet celkového súčtu.

  • Vzorec poľa s viacerými bunkami

    Funkcia poľa s viacerými bunkami v bunke H10 =F10:F19*G10:G19 na výpočet počtu predaných áut podľa jednotkovej ceny

  • Tu vypočítavame celkový predaj kupé a sedanov pre každého predajcu zadaním vzorca =F10:F19*G10:G19 do bunky H10.

    Po stlačení klávesu Enter sa výsledky zobrazia smerom nadol do buniek H10:H19. Všimnite si, že rozsah presahu je zvýraznený orámovaním, keď vyberiete ktorúkoľvek bunku v rozsahu presahu. Môžete si tiež všimnúť, že vzorce v bunkách H10:H19 sú zobrazené sivou farbou. Sú tu len na referenciu, takže ak chcete vzorec upraviť, budete musieť vybrať bunku H10, kde sa nachádza hlavný vzorec.

  • Vzorec poľa s jednou bunkou

    Vzorec poľa s jednou bunkou na výpočet celkového súčtu pomocou vzorca =SUM(F10:F19*G10:G19)

    Do bunky H20 vzorového zošita zadajte alebo skopírujte a prilepte vzorec =SUM(F10:F19*G10:G19) a potom stlačte kláves Enter.

    V tomto prípade sa v Exceli vynásobia hodnoty v poli (rozsah buniek F10 až G19) a potom sa použije funkcia SUM na ich sčítanie. Výsledkom je celkový súčet predaja s hodnotou 1 590 000 $.

    Tento príklad ilustruje, ako môže byť tento vzorec užitočný. Predpokladajme napríklad, že máte 1 000 riadkov údajov. Vytvorením vzorca poľa v jednej bunke môžete sčítať všetky alebo len časť z týchto údajov a nemusíte potiahnuť vzorec nadol cez 1 000 riadkoch. Všimnite si tiež, že vzorec s jednou bunkou (v bunke H20) je úplne nezávislý od vzorca s viacerými bunkami (vzorec v bunkách H10 až H19). Poukazuje to na ďalšiu výhodu používania vzorcov polí – na flexibilitu. Môžete zmeniť ostatné vzorce v stĺpci H bez vplyvu na vzorec v bunke H20. Vhodné je tiež mať aj nezávislé súčty, ako sú tieto, pretože to pomáha overiť presnosť výsledkov.

  • Medzi výhody vzorcov dynamického poľa tiež patria:

    • Konzistentnosť    Ak kliknite na ktorúkoľvek bunku od H10 smerom nadol, zobrazí sa rovnaký vzorec. Táto konzistentnosť môže pomôcť zabezpečiť väčšiu presnosť.

    • Bezpečnosť    Súčasť vzorca poľa s viacerými bunkami nie je možné prepísať. Kliknite napríklad na bunku H11 a stlačte kláves Delete. Excel nezmení výstup poľa. Ak ho chcete zmeniť, musíte vybrať bunku v ľavom hornom rohu poľa alebo bunku H10.

    • Menšia veľkosť súborov    Často je možné použiť jeden vzorec poľa a nemusí sa tak použiť viacero vzorcov medzivýpočtov. Napríklad vo vzorke predaja vozidiel sa používa jeden vzorec poľa na výpočet výsledkov v stĺpci E. Ak by ste použili štandardné vzorce (napríklad =F10*G10, F11*G11, F12*G12 atď.), museli by ste na dosiahnutie rovnakého výsledku použiť 11 rôznych vzorcov. To nie je veľký problém, ale čo ak by ste chceli spočítať súčet tisícov riadkov? Potom to môže byť veľký rozdiel.

    • Efektívnosť.    Funkcie poľa môžu byť efektívnym spôsobom vytvárania zložitých vzorcov. Vzorec poľa =SUM(F10:F19*G10:G19) je to isté ako tento: =SUM(F10*G10;F11*G11;F12*G12;F13*G13,F14*G14;F15*G15;F16*G16,F17*G17,F18*G18;F19*G19).

    • Presahovanie    Vzorce dynamického poľa sa automaticky zobrazia do výstupného rozsahu. Ak sa zdrojové údaje nachádzajú v excelovej tabuľke, veľkosť vzorcov dynamického poľa sa bude automaticky prispôsobovať podľa pridávania alebo odoberania údajov.

    • Chyba #PRESAH!    Dynamické polia zaviedli chybu #PRESAH!, ktorá znamená, že plánovaný rozsah presahu je z nejakého dôvodu zablokovaný. Po vyriešení zablokovania sa vzorec automaticky zobrazí.

Konštanty poľa sú súčasťou vzorcov poľa. Konštanty poľa môžete vytvoriť zadaním zoznamu položiek a uzavretím tohto zoznamu zloženými zátvorkami ({ }), napríklad:

={1\2\3\4\5} alebo ={"Január"\"Február"\"Marec"}

Ak oddelíte položky bodkočiarkami, vytvorí sa vodorovné pole (riadok). Ak oddelíte položky zvislými čiarami, vytvorí sa zvislé pole (stĺpec). Ak chcete vytvoriť dvojrozmerné pole, oddeľte položky v každom riadku bodkočiarkami a každý riadok oddeľte zvislou čiarou.

V nasledujúcom postupe si vyskúšate vytvorenie vodorovných, zvislých a dvojrozmerných konštánt. Ukážeme príklady pomocou funkcie SEQUENCE na automatické generovanie konštánt poľa, ako aj manuálne zadaných konštánt poľa.

  • Vytvorenie vodorovnej konštanty

    Použite zošit z predchádzajúceho príkladu alebo vytvorte nový zošit. Vyberte prázdnu bunku a zadajte =SEQUENCE(1;5). Funkcia SEQUENCE vytvorí pole 1 riadok krát 5 stĺpcov rovnakým spôsobom ako ={1\2\3\4\5}. Zobrazí sa nasledujúci výsledok:

    Vytvorte vodorovnú konštantu poľa pomocou vzorca =SEQUENCE(1;5) alebo ={1;2;3;4;5}

  • Vytvorenie zvislej konštanty

    Vyberte ľubovoľnú prázdnu bunku s miestom pod ňou a zadajte =SEQUENCE(5) alebo ={1;2;3;4;5}. Zobrazí sa nasledujúci výsledok:

    Vytvorte zvislú konštantu poľa pomocou vzorca =SEQUENCE(5) alebo ={1;2;3;4;5}

  • Vytvorenie dvojrozmernej konštanty

    Vyberte ľubovoľnú prázdnu bunku s miestom napravo a pod ňou a zadajte =SEQUENCE(3;4). Zobrazí sa nasledujúci výsledok:

    Vytvorte konštantu poľa s 3 riadkami a 4 stĺpcami pomocou vzorca =SEQUENCE(3;4)

    Môžete tiež zadať: alebo ={1\2\3\4;5\6\7\8;9\10\11\12}, ale dávajte pozor, kam píšete bodkočiarky a kam zvislé čiary.

    Ako vidíte, možnosť SEQUENCE ponúka významné výhody oproti manuálnemu zadávaniu hodnôt konštánt poľa. Predovšetkým vám ušetrí čas, ale môže tiež pomôcť znížiť počet chýb manuálneho zadávania. Je tiež jednoduchšie čitateľná, najmä pretože bodkočiarky a zvislé čiary sa môžu ťažšie rozlišovať.

Tu je príklad, ktorý používa konštanty poľa ako súčasť väčšieho vzorca. Vo vzorovom zošite prejdite na hárok Konštanta vo vzorci alebo vytvorte nový hárok.

Do bunky D9 sme zadali =SEQUENCE(1;5;3;1), ale mohli ste tiež zadať hodnoty 3, 4, 5, 6 a 7 do buniek A9:H9. Na danom výbere čísel nie je nič špeciálne. Na odlíšenie sme len vybrali niečo iné ako 1 až 5.

Do bunky E11 zadajte =SUM(D9:H9*SEQUENCE(1;5))alebo =SUM(D9:H9*{1\2\3\4\5}). Vzorce vrátia hodnotu 85.

Použite konštanty poľa vo vzorcoch. V tomto príklade sme použili vzorec =SUM(D9:H(*SEQUENCE(1;5))

Funkcia SEQUENCE vytvorí ekvivalent konštanty poľa {1\2\3\4\5}. Keďže v Exceli sa najskôr vykonávajú operácie pre výrazy uzavreté zátvorkami, ďalšími dvoma spracovanými prvkami sú hodnoty buniek uložené v D9:H9 a operátor násobenia (*). V tomto bode vzorec vynásobí hodnoty uloženého poľa príslušnými hodnotami konštanty. Predstavuje to ekvivalent vzorca:

=SUM(D9*1;E9*2;F9*3;G9*4;H9*5) alebo =SUM(3*1;4*2;5*3;6*4,7*5)

Napokon sa funkciou SUM spočítajú hodnoty a vráti sa hodnota 85.

Ak sa chcete vyhnúť použitiu uloženého poľa a chcete zachovať celú operáciu v pamäti, môžete ho nahradiť inou konštantou poľa:

=SUM(SEQUENCE(1;5;3;1)*SEQUENCE(1;5)) alebo =SUM({3\4\5\6\7}*{1\2\3\4\5})

Prvky, ktoré možno používať v konštantách poľa

  • Konštanty poľa môžu obsahovať čísla, text, logické hodnoty (napríklad TRUE a FALSE) a chybové hodnoty, ako napríklad #NEDOSTUPNÝ. Čísla je možné používať iba v celočíselnom, desatinnom alebo vedeckom formáte. Ak použijete text, musíte ho uzavrieť úvodzovkami ("text").

  • Konštanty poľa nemôžu obsahovať ďalšie polia, vzorce ani funkcie. Inak povedané, môžu obsahovať iba text a čísla, ktoré sú oddelené bodkočiarkami a zvislými čiarami. Ak zadáte vzorec napríklad {1\2\A1:D4} alebo {1\2\SUM(Q2:Z8)}, zobrazí sa upozorňujúce hlásenie. Numerické hodnoty tiež nemôžu obsahovať znak percenta, znak dolára, čiarky ani zátvorky.

Medzi najlepšie spôsoby, ako používať konštanty poľa, je ich pomenovať. Pomenované konštanty sa dajú oveľa ľahšie používať a môžu skryť zložitosť vzorcov poľa pre iných používateľov. Ak chcete pomenovať konštantu poľa a použiť ju vo vzorci, postupujte nasledovne:

Prejdite na položky Vzorce > Definované názvy > Definovať názov. Do poľa Názov zadajte reťazec Kvartál1. Do poľa Odkaz na zadajte nasledujúcu konštantu (nezabudnite manuálne zadať zložené zátvorky):

={"Január"\"Február"\"Marec"}

Dialógové okno by malo vyzerať takto:

Pridajte pomenovanú konštantu poľa z časti Vzorce > Definované názvy > Správca názvov > Nové

Kliknite na tlačidlo OK, potom vyberte ľubovoľný riadok s tromi prázdnymi bunkami a zadajte =Kvartál1.

Zobrazí sa nasledujúci výsledok:

Použite pomenovanú konštantu poľa vo vzorci, napríklad =Kvartál1, kde Kvartál1 je definovaný ako ={"Január";"Február";"Marec"}

Ak chcete, aby sa výsledky zobrazovali zvislo namiesto vodorovne, môžete použiť vzorec =TRANSPOSE(Kvartál1).

Ak chcete zobraziť zoznam 12 mesiacov, ako by ste ho mohli použiť pri vytváraní finančného výkazu, môžete použiť funkciu SEQUENCE na vytvorenie základu o jedného roka menej ako aktuálny rok. Úhľadné na tejto funkcii je, že napriek tomu, že sa zobrazuje len mesiac, je za ním platný dátum, ktorý môžete použiť v iných výpočtoch. Tieto príklady nájdete v hárkoch Pomenovaná konštanta poľa a Rýchla vzorová množina údajov vo vzorovom zošite.

=TEXT(DATE(YEAR(TODAY()),SEQUENCE(1;12);1);"mmm")

Použite kombináciu funkcií TEXT, DATE, YEAR, TODAY a SEQUENCE na vytvorenie dynamického zoznamu 12 mesiacov

Tento vzorec používa funkciu DATE na vytvorenie dátumu na základe aktuálneho roka. Funkcia SEQUENCE vytvorí konštantu poľa od 1 do 12 pre január až december, potom funkcia TEXT skonvertuje formát zobrazenia na mmm (Jan, Feb, Mar atď.). Ak chcete zobraziť celý názov mesiaca, napríklad január, použite argument mmmm.

Ak použijete pomenovanú konštantu ako vzorec poľa, nezabudnite zadať znamienko rovnosti, napríklad =Kvartál1, nie iba Kvartál1. V opačnom prípade Excel takéto pole interpretuje ako textový reťazec a vzorec nebude fungovať podľa očakávaní. Majte tiež na pamäti, že môžete použiť kombinácie funkcií, textu a čísel. Všetko závisí od vašej kreativity.

V nasledujúcich príkladoch je uvedených niekoľko spôsobov, ako možno použiť konštanty poľa vo vzorcoch poľa. V niektorých príkladoch sa používa funkcia TRANSPOSE na skonvertovanie riadkov na stĺpce a naopak.

  • Vynásobenie každej položky v poli

    Zadajte =SEQUENCE(1;12)*2 alebo ={1\2\3\4;5\6\7\8;9\10\11\12}*2

    Môžete tiež deliť pomocou (/), sčítavať pomocou (+) a odčítavať pomocou (-).

  • Umocnenie položiek v poli

    Zadajte =SEQUENCE(1;12)^2 alebo ={1\2\3\4;5\6\7\8;9\10\11\12}^2

  • Vyhľadanie druhej odmocniny umocnených položiek v poli

    Zadajte =SQRT(SEQUENCE(1;12)^2) alebo =SQRT({1\2\3\4;5\6\7\8;9\10\11\12}^2)

  • Transponovanie jednorozmerného riadka

    Zadajte =TRANSPOSE(SEQUENCE(1;5)) alebo =TRANSPOSE({1\2\3\4\5})

    Aj keď ste zadali vodorovnú konštantu poľa, funkciou TRANSPOSE sa konštanta poľa skonvertuje na stĺpec.

  • Transponovanie jednorozmerného stĺpca

    Zadajte =TRANSPOSE(SEQUENCE(5;1)) alebo =TRANSPOSE({1;2;3;4;5})

    Aj keď ste zadali zvislú konštantu poľa, funkciou TRANSPOSE sa konštanta skonvertuje na riadok.

  • Transponovanie dvojrozmernej konštanty

    Zadajte =TRANSPOSE(SEQUENCE(3;4)) alebo =TRANSPOSE({1\2\3\4;5\6\7\8;9\10\11\12})

    Funkciou TRANSPOSE sa skonvertujú všetky riadky na rad stĺpcov.

Táto časť obsahuje príklady základných vzorcov poľa.

  • Vytvorenie poľa z existujúcich hodnôt

    Nasledujúci príklad vysvetľuje, ako použiť vzorce poľa na vytvorenie nového poľa z existujúceho poľa.

    Zadajte =SEQUENCE(3;6;10;10) alebo ={10\20\30\40\50\60;70\80\90\100\110\120;130\140\150\160\170\180}

    Pred číslo 10 nezabudnite zadať znak { (ľavú zloženú zátvorku) a za číslo 180 zadajte znak } (pravú zloženú zátvorku), pretože vytvárate pole čísel.

    Potom do prázdnej bunky zadajte =D9#alebo =D9:I11. V bunkách D9 až D11 sa zobrazí pole buniek veľkosti 3 x 6 s rovnakými hodnotami. Znamienko # sa nazýva operátor rozsahu presahu a ide o spôsob odkazovania Excelu na celý rozsah poľa namiesto jeho vypisovania.

    Použite operátor rozsahu presahu (#) na odkazovanie na existujúce pole

  • Vytvorenie konštanty poľa z existujúcich hodnôt

    Výsledky vzorca presahovaného poľa môžete skonvertovať na jeho súčasti. Vyberte bunku D9 a potom stlačením klávesu F2 prepnite do režimu úprav. Potom stlačením klávesu F9 skonvertujte odkazy na bunky na hodnoty, ktoré Excel potom skonvertuje na konštantu poľa. Keď stlačíte kláves Enter, vzorec =D9# by teraz mal byť ={10\20\30;40\50\60;70\80\90}.

  • Spočítanie znakov v rozsahu buniek

    Nasledujúci príklad ilustruje spôsob, akým sa spočíta počet znakov v rozsahu buniek. Tento počet zahŕňa aj medzery.

    Spočítajte celkový počet znakov v rozsahu a ďalšie polia na prácu s textovými reťazcami

    =SUM(LEN(C9:C13))

    V tomto prípade vráti funkcia LEN dĺžku všetkých textových reťazcov v každej bunke v rozsahu. Funkcia SUM potom tieto hodnoty spočíta a zobrazí výsledok (66). Ak chcete získať priemerný počet znakov, môžete použiť:

    =AVERAGE(LEN(C9:C13))

  • Obsah najdlhšej bunky v rozsahu C9:C13

    =INDEX(C9:C13;MATCH(MAX(LEN(C9:C13));LEN(C9:C13);0);1)

    Tento vzorec je funkčný len v prípade, ak rozsah údajov obsahuje jeden stĺpec buniek.

    Preskúmajme vzorec od vnútorných prvkov smerom von. Funkcia LEN vráti dĺžku každej položky v rozsahu buniek D2:D6. Funkcia MAX vypočíta, ktorá z týchto hodnôt je najvyššia, t. j. ktorý textový reťazec je najdlhší. V tomto prípade je to bunka D3.

    Tu je to trocha zložitejšie. Funkcia MATCH vypočíta relatívnu pozíciu (odsadenie) bunky, ktorá obsahuje najdlhší textový reťazec. Na vykonanie tejto úlohy sú potrebné tri argumenty: hľadaná hodnota, hľadané pole a typ zhody. Funkcia MATCH vyhľadá v hľadanom poli hľadanú hodnotu. V tomto prípade predstavuje hľadanú hodnotu najdlhší textový reťazec:

    MAX(LEN(C9:C13)

    a tento reťazec sa nachádza v tomto poli:

    LEN(C9:C13)

    Argument typu zhody v tomto prípade je 0. Typ zhody môže mať hodnoty 1, 0 alebo -1.

    • Hodnota 1 vráti najväčšiu hodnotu, ktorá je menšia alebo rovnaká ako hľadaná hodnota.

    • Hodnota 0 vráti prvú hodnotu, ktorá sa presne zhoduje s hľadanou hodnotou.

    • Hodnota -1 vráti najmenšiu hodnotu, ktorá je väčšia alebo rovnaká ako zadaná hľadaná hodnota.

    • Ak typ zhody vynecháte, Excel pracuje s hodnotou 1.

    Nakoniec sa vo funkcii INDEX použijú nasledujúce argumenty: pole a číslo riadka a stĺpca v tomto poli. Rozsah buniek C9:C13 poskytuje pole, funkcia MATCH poskytuje adresu bunky a posledný argument (1) určuje, že hodnota pochádza z prvého stĺpca poľa.

    Ak by ste chceli získať obsah najmenšieho textového reťazca, v predchádzajúcom príklade by ste funkciu MAX nahradili funkciou MIN.

  • Vyhľadanie n najmenších hodnôt v rozsahu

    Tento príklad ilustruje, ako vyhľadať tri najmenšie hodnoty v rozsahu buniek, pričom v bunkách B9:B18 bolo vytvorené pole vzorových údajov pomocou funkcie: =INT(RANDARRAY(10;1)*100). Majte na pamäti, že funkcia RANDARRAY je nestála funkcia, takže pri každom výpočte Excelu získate novú množinu náhodných čísel.

    Vzorec poľa programu Excel na vyhľadanie n-tej najmenšej hodnoty: =SMALL(B9#;SEQUENCE(D9))

    Zadajte =SMALL(B9#;SEQUENCE(D9), =SMALL(B9:B18;{1\2\3})

    Tento vzorec používa konštantu poľa na vyhodnotenie funkcie SMALL trikrát a vráti najmenšie 3 členy v poli, ktoré sa nachádza v bunkách B9:B18, kde 3 je hodnota premennej v bunke D9. Ak chcete nájsť ďalšie hodnoty, môžete zvýšiť hodnotu vo funkcii SEQUENCE alebo pridať ďalšie argumenty ku konštante. V tomto vzorci môžete použiť aj ďalšie funkcie, ako je napríklad funkcia SUM alebo AVERAGE. Napríklad:

    =SUM(SMALL(B9#;SEQUENCE(D9))

    =AVERAGE(SMALL(B9#;SEQUENCE(D9))

  • Vyhľadanie n najväčších hodnôt v rozsahu

    Ak chcete vyhľadať najväčšie hodnoty v rozsahu, môžete nahradiť funkciu SMALL funkciou LARGE. V nasledujúcom príklade sa navyše používajú funkcie ROW a INDIRECT.

    Zadajte =LARGE(B9#;ROW(INDIRECT("1:3"))) alebo =LARGE(B9:B18;ROW(INDIRECT("1:3")))

    Na tomto mieste môže byť užitočné dozvedieť sa niečo o funkciách ROW a INDIRECT. Funkcia ROW sa používa na vytvorenie poľa za sebou idúcich celých čísel. Napríklad vyberte prázdnu bunku a zadajte:

    =ROW(1:10)

    Tento vzorec vytvorí stĺpec s desiatimi za sebou idúcimi celými číslami. Ak chcete vidieť potenciálny problém, vložte riadok nad rozsah, ktorý obsahuje vzorec poľa (čiže nad riadok 1). Excel prispôsobí odkazy na riadky a vzorec vygeneruje celé čísla od 2 do 11. Ak chcete odstrániť tento problém, zadajte do vzorca funkciu INDIRECT:

    =ROW(INDIRECT("1:10"))

    Vo funkcii INDIRECT sa používajú ako argumenty textové reťazce (bunky 1 až 10 sú preto uzavreté úvodzovkami). Excel neprispôsobí textové hodnoty po vložení riadkov ani pri inom premiestnení vzorca poľa. Výsledkom je, že funkciou ROW sa vždy vygeneruje požadované pole celých čísel. Rovnako jednoducho môžete použiť funkciu SEQUENCE:

    =SEQUENCE(10)

    Pozrime sa na vzorec, ktorý ste použili predtým – =LARGE(B9#;ROW(INDIRECT("1:3"))) – od vnútornej zátvorky smerom von: Funkcia INDIRECT vráti množinu textových hodnôt, v tomto prípade hodnoty 1 až 3. Funkcia ROW následne vygeneruje pole stĺpca s tromi bunkami. Funkcia LARGE používa hodnoty v rozsahu buniek B9:B18 a trikrát sa vyhodnotí pre každý odkaz vrátený funkciou ROW. Ak chcete nájsť ďalšie hodnoty, do funkcie INDIRECT pridáte väčší rozsah buniek. Nakoniec, rovnako ako v príkladoch s funkciou SMALL, môžete tento vzorec použiť s inými funkciami, ako napríklad SUM a AVERAGE.

  • Sčítanie rozsahu, ktorý obsahuje chybové hodnoty

    Funkcia SUM v Exceli nefunguje, ak sa pokúsite vypočítať súčet rozsahu, ktorý obsahuje chybovú hodnotu, napríklad chybu #HODNOTA! alebo #NEDOSTUPNÝ. Tento príklad popisuje, ako vypočítať súčet hodnôt v rozsahu s názvom Údaje, ktorý obsahuje chyby:

    Použite polia na riešenie chýb. Napríklad =SUM(IF(ISERROR(Údaje);"";Údaje) sčíta rozsah s názvom Údaje, aj keď obsahuje chyby, napríklad #HODNOTA! alebo #NA!.

  • =SUM(IF(ISERROR(Údaje);"";Údaje))

    Tento vzorec vytvorí nové pole, ktoré obsahuje pôvodné hodnoty bez chybových hodnôt. Začíname popisovať od vnútorných funkcií smerom von: funkcia ISERROR najskôr vyhľadá chyby v rozsahu buniek (Údaje). Funkcia IF vráti určitú hodnotu, ak sa pre zadanú podmienku vypočíta hodnota TRUE, a inú hodnotu, ak sa vypočíta hodnota FALSE. V tomto prípade sa vrátia prázdne reťazce ("") pre všetky chybové hodnoty, pretože sa pre ne vypočítala hodnota TRUE, a zvyšné hodnoty sa vrátia z rozsahu (Údaje), pretože sa pre ne vypočítala hodnota FALSE, čo znamená, že neobsahujú žiadne chybové hodnoty. Funkcia SUM potom vypočíta celkový súčet pre filtrované pole.

  • Spočítanie počtu chybových hodnôt v rozsahu

    Vzorec v tomto príklade sa podobá predošlému vzorcu, ale chybové hodnoty v rozsahu s názvom Údaje neodfiltruje, ale vráti ich počet:

    =SUM(IF(ISERROR(Údaje);1;0))

    Týmto vzorcom sa vytvorí pole, ktoré obsahuje hodnotu 1 pre bunky, ktoré obsahujú chybové hodnoty, a hodnotu 0 pre bunky, ktoré neobsahujú chyby. Tento vzorec môžete zjednodušiť a dosiahnuť rovnaký výsledok odstránením tretieho argumentu pre funkciu IF:

    =SUM(IF(ISERROR(Údaje);1))

    Ak nezadáte argument, funkcia IF vráti hodnotu FALSE, ak bunka neobsahuje chybovú hodnotu. Vzorec môžete ešte viac zjednodušiť:

    =SUM(IF(ISERROR(Údaje)*1))

    Táto verzia funguje, pretože TRUE*1=1 a FALSE*1=0.

Niekedy môže byť potrebné sčítať hodnoty na základe podmienok.

Polia môžete použiť na výpočet na základe určitých podmienok. =SUM(IF(Predaj>0;Predaj)) sčíta všetky hodnoty väčšie ako 0 v rozsahu s názvom Predaj.

Týmto vzorcom poľa sa napríklad sčítajú iba celé kladné čísla v rozsahu s názvom Predaj, ktorý v predchádzajúcom príklade predstavuje bunky E9:E24:

=SUM(IF(Predaj>0;Predaj))

Funkcia IF vytvorí pole kladných hodnôt a hodnôt FALSE. Funkcia SUM ignoruje hodnoty FALSE, pretože 0+0=0. Rozsah buniek použitý v tomto vzorci môže obsahovať ľubovoľný počet riadkov a stĺpcov.

Môžete tiež sčítať hodnoty, ktoré spĺňajú viac ako jednu podmienku. Týmto vzorcom poľa sa napríklad sčítajú hodnoty väčšie ako 0 a menšie ako 2500:

=SUM((Predaj>0)*(Predaj<2500)*(Predaj))

Majte na pamäti, že vzorec vráti chybu, ak rozsah obsahuje bunky, ktoré neobsahujú číslo.

Môžete tiež vytvoriť vzorce poľa, ktoré používajú podmienku typu OR. Môžete napríklad sčítať hodnoty väčšie ako 0 ALEBO menšie ako 2 500:

=SUM(IF((Predaj>0)+(Predaj<2500),Predaj))

Funkcie AND a OR nie je možné použiť priamo vo vzorcoch poľa, pretože tieto funkcie vrátia jeden výsledok, a to TRUE alebo FALSE, pričom funkcie poľa požadujú polia výsledkov. Tento problém môžete vyriešiť logikou uvedenou v predchádzajúcom vzorci. Inak povedané, vykonáte matematickú operáciu (napríklad sčítanie alebo násobenie) pre hodnoty, ktoré vyhovujú podmienke OR alebo AND.

V tomto príklade je uvedený spôsob, ako odstrániť nuly z rozsahu, keď potrebujete vypočítať priemernú hodnotu v rozsahu. Vo vzorci sa používa rozsah údajov s názvom Predaj:

=AVERAGE(IF(Predaj<>0;Predaj))

Funkcia IF vytvorí pole nenulových hodnôt a tieto hodnoty sa potom zadajú do funkcie AVERAGE.

Nasledujúcim vzorcom poľa sa porovnajú hodnoty v dvoch rozsahoch buniek s názvami MojeÚdaje a VašeÚdaje a vráti sa počet rozdielov medzi nimi. Ak sú hodnoty týchto dvoch rozsahov rovnaké, vzorec vráti hodnotu 0. Ak chcete použiť tento vzorec, rozsahy buniek musia mať rovnakú veľkosť a rozmer. Napríklad ak má rozsah MojeÚdaje veľkosť 3 riadky krát 5 stĺpcov, rozsah VašeÚdaje musí mať tiež veľkosť 3 riadky krát 5 stĺpcov:

=SUM(IF(MojeÚdaje=VašeÚdaje;0;1))

Týmto vzorcom sa vytvorí nové pole s rovnakou veľkosťou ako porovnávané rozsahy. Funkciou IF sa vyplní toto pole hodnotami 0 a 1 (0 pre nezhodné a 1 pre zhodné bunky). Funkcia SUM vráti súčet hodnôt poľa.

Tento vzorec môžete zjednodušiť nasledujúcim spôsobom:

=SUM(1*(MojeÚdaje<>VašeÚdaje))

Podobne ako vzorec, ktorý počíta chybové hodnoty v rozsahu, je tento vzorec funkčný, pretože TRUE*1=1 a FALSE*1=0.

Nasledujúci vzorec poľa vráti číslo riadka, kde sa v jednostĺpcovom rozsahu s názvom Údaje nachádza maximálna hodnota.

=MIN(IF(Údaje=MAX(Údaje);ROW(Údaje);""))

Pomocou funkcie IF sa vytvorí nové pole, ktoré zodpovedá rozsahu Údaje. Ak zodpovedajúca bunka obsahuje maximálnu hodnotu rozsahu, nové pole bude obsahovať číslo tohto riadka. V opačnom prípade bude pole obsahovať prázdny reťazec (""). Funkcia MIN použije nové pole ako druhý argument a vráti najmenšiu hodnotu, ktorá zodpovedá číslu riadka s maximálnou hodnotou v rozsahu Údaje. Ak rozsah Údaje obsahuje identické maximálne hodnoty, vzorec vráti riadok prvej hodnoty.

Ak chcete vrátiť aktuálnu adresu bunky s maximálnou hodnotou, použite nasledujúci vzorec:

=ADDRESS(MIN(IF(Údaje=MAX(Údaje);ROW(Údaje);""));COLUMN(Údaje))

Podobné príklady nájdete vo vzorovom zošite v hárku Rozdiely medzi množinami údajov.

Poďakovanie

Časti tohto článku vychádzajú zo série článkov Excel Power User (Pokročilý používateľ Excelu), ktoré napísal Colin Wilcox, a zo 14. a 15. kapitoly knihy Excel 2002 Formulas (Vzorce v Exceli 2002), ktorú napísal John Walkenbach, bývalý MVP (Most Valuable Professional) pre Excel.

Potrebujete ďalšiu pomoc?

Vždy sa môžete opýtať odborníka v komunite Excel Tech Community alebo získať podporu v komunitách.

Pozrite tiež

Dynamické polia a správanie polí s presahujúcimi údajmi

Vzorce dynamického poľa a vzorce staršieho CSE poľa

FILTER (funkcia)

RANDARRAY (funkcia)

SEQUENCE (funkcia)

SORT (funkcia)

SORTBY (funkcia)

UNIQUE (funkcia)

Chyba #PRESAHOVANIE! v Exceli

Operátor implicitného prieniku: @

Prehľad vzorcov

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.