V dnešním videu volně navážeme na video z minulého týdne, ve kterém jsme si představili funkci ZVOLIT neboli funkci CHOOSE. V dnešním videu si ukážeme podobnou funkci, funkci SWITCH. Tato funkce je dostupná ve všech verzích Excelů od licence 2019. Funkce SWITCH porovnává hodnotu proti seznamu hodnot a vrátí odpovídající výsledek, který odpovídá první shodě. A pokud shodu nenajde, tak může vrátit výchozí hodnotu, kterou určíme. Lze ji tak použít pro zjednodušení komplexních vícenásobných podmínek KDYŽ nebo i k vyhledávání.
Excelový soubor ke stažení:
Funkci SWITCH si ukážeme na prvním jednoduchém příkladu.
V tabulce máme zákazníky a jejich rating, což jsou písmena od A do C. Do sloupce hodnocení máme doplnit slovní hodnocení podle ratingu. Toto slovní hodnocení máme uvedené vedle v tabulce. Tento příklad by šel samozřejmě vyřešit několika různými způsoby. Jelikož máme tuto pomocnou tabulku, tak bychom mohli použít vyhledávací funkci a k jednotlivým písmenům dohledat slovní hodnocení. Někdo by mohl použít i vícenásobnou podmínku KDYŽ, kde by nejprve určil, co se má vrátit, pokud je rating A, pak co se má vrátit, pokud je rating písmeno B atd. A nebo použijeme funkci SWITCH.
Prvním parametrem funkce SWITCH je výraz. Což je výraz, pro který hledáme hodnocení. Tedy první písmeno ratingu v tabulce. Následuje první hodnota, což je korespondující hodnota z pomocné tabulky, tedy první písmeno ratingu v pomocné tabulce. A následuje první výsledek, což je slovní hodnocení pro první písmeno. Než budeme pokračovat ve funkci, tak nezapomeneme tyto dvě poslední buňky zafixovat plně klávesou F4, jelikož budeme funkci SWITCH stahovat dolů. Napíšeme středník a přepneme se do dalších parametrů, což jsou hodnoty a výsledky. A zde už jen označíme další možnosti. Takže druhá hodnota je druhý rating z pomocné tabulky a druhý výsledek je korespondující slovní hodnocení pro tento rating. Všechny buňky opět plně zafixované. A jako třetí hodnotu označíme poslední písmeno ratingu a k tomu odpovídající slovní hodnocení. Opět všechny buňky plně zafixované. To je celá funkce SWITCH. Ukončíme funkci, potvrdíme a stáhneme ji dolů a funkce SWITCH správně doplnila slovní hodnocení podle zvoleného ratingu.
Funkce SWITCH funguje tak, že první výraz, který jsme označili, což bylo písmeno ratingu z tabulky porovnává proti první hodnotě v pomocné tabulce. Pokud nenajde shodu, tak se posune na druhou hodnotu a takto pokračuje, až dokud nenajde shodu a když narazí na shodu, tak vrátí odpovídající výsledek.
Pokud změníme rating na písmeno, které nemáme v pomocné tabulce, tak funkce SWITCH vrátí chybu. To můžeme ošetřit pomocí posledního parametru ve funkci SWITCH. Všimněte si, že po vyplnění prvních hodnot se parametry jmenují výchozí nebo další hodnota. Takže pokud chceme ošetřit situaci, kdy zvolený rating nebude v tabulce, tak za poslední výsledek napíšeme středník a stanovíme, co se má vrátit. V tomto případě třeba sousloví Není uvedeno. Potvrdíme funkci a stáhneme ji dolů a teď se u ratingu, který nemáme v tabulce objevilo sousloví Není uvedeno místo chyby.
V tomto případě bychom třeba funkci ZVOLIT nemohli použít, jelikož ve funkci ZVOLIT potřebujeme v prvním parametru indexové číslo. V dalším příkladu si ale můžeme vybrat, zda použijeme funkci ZVOLIT nebo funkci SWITCH. Máme zde příklad s pořadovými čísly, které reprezentují dny v týdnu a k těmto číslům potřebujeme přiřadit název dne. Takže u jedničky má být pondělí, u dvojky úterý atd.
Nejprve si zopakujeme, jak by se příklad vyřešil pomocí funkce ZVOLIT. Napíšeme funkci ZVOLIT, kde se označí v prvním parametru indexové číslo, což je pořadové číslo dne. A pak následují hodnoty, což jsou hodnoty, které chceme k pořadovým číslům přiřadit. A to postupně. Takže v uvozovkách napíšeme pondělí, úterý, středa až do neděle. Ukončíme funkci, potvrdíme a funkci pošleme dolů. A k pořadovým číslům máme doplněné dny.
A jak by příklad vypadal s funkcí SWITCH? Napíšeme funkci SWITCH, kde se nejprve označí výraz, což je pořadové číslo dne. Na rozdíl od funkce ZVOLIT musíme ale ve funkci SWITCH stanovit hodnotu, což jsou postupně všechny hodnoty a začneme od jedničky. A jaký výsledek chceme přiřadit k jedničce? Slovo pondělí. Následuje dvojka a ke dvojce chceme úterý. A takto bychom pokračovali až do neděle. Ukončíme funkci, potvrdíme a stáhneme ji dolů. A názvy dnů se doplnili i pomocí funkce SWITCH.
Funkci SWITCH můžeme použít i pro zjednodušení vícenásobných funkcí KDYŽ. Jen si musíte pamatovat to, že funkce SWITCH pracuje na základě přesné shody. Pokud chceme funkci SWITCH využít i pro vícenásobné podmínky typu menší a větší než, tak musíme použít následující zápis. V příkladu máme tržby pro zákazníky a naším úkolem je dopočítat správnou výši bonusu na základě podmínek. Pokud byla tržby nižší než limitní tržba v buňce, tak je bonus 5%, pokud byla tržba rovna limitní hodnotě, tak je bonus 10% a pokud byla tržba vyšší, tak je bonus 15%.
Napíšeme funkci SWITCH, kde v prvním parametru tentokrát nemůžeme označit výraz, jelikož v takovém případě by funkce SWITCH hledala pouze tuto hodnotu. Takže do parametru výraz napíšeme slovo pravda. To je trik pro to, abychom funkci mohli použít i pro přibližnou shodu. A pak následuje první hodnota. To je podmínka. Takže tržba v tabulce, pokud je menší než limitní hodnota, a jelikož budeme funkci stahovat dolů, tak tuto buňku plně zafixujeme. A následuje výsledek, což je tržba vynásobená bonusem, plně zafixovaným. Následuje druhá hodnota, což je druhá podmínka, pokud je tržba rovna limitní hodnotě, tak v takovém případě chceme tržbu vynásobit příslušným bonusem. A jako poslední je podmínka, že tržba bude vyšší než limitní hodnota a v takovém případě chceme tržbu vynásobit poslední hodnotou bonusu. Ukončíme funkci, potvrdíme a stáhneme ji dolů. A máme dopočítané správné výše bonusů.
Pro srovnání máme vedle uvedenou i vícenásobnou podmínku KDYŽ.



