Maticové a relační (logické) funkce v Microsoft Excel

Relační vzorce porovnávají dvě hodnoty mezi sebou pomocí některých relačních znamének. Výsledkem vzorce je hodnota PRAVDA (pokud je relace splněna), nebo NEPRAVDA, pokud relace splněna není.

Ilustrační snímek

Příkladem relačního vzorce může být „=A1=B1“ (porovnání, zdali mají obě buňky stejný obsah) nebo „=A1>=0“ (test, je-li v buňce A1 nezáporné číslo).

Excel v zásadě umožňuje zapsat do jednoho vzorce i více relací vedle sebe. Výsledkem takového vzorce však bývá často hlavolam. To snadno poznáte z následujícího příkladu:

Do čtyř buněk, např. A1 až A4 zapište stejné číslo. Vzorec „=(A1=A2)=(A3=A4)“ poskytne hodnotu PRAVDA. To je zřejmě v pořádku, protože obě relace A1=A2 i A3=A4 poskytnou stejnou hodnotu PRAVDA. Jestliže však ve vzorci odstraníte závorky, výsledkem bude NEPRAVDA. Zdá se vám to trochu podivné? Nevadí, zkuste to znovu. Do vzorce zapište druhý pár závorek, tedy „=A1=A2=(A3=A4)“ a výsledkem je PRAVDA, zatímco při vzorci „=(A1=A2)=A3=A4“ dostanete opět hodnotu NEPRAVDA.

Maticové vzorce

Při tvorbě tabulek jste jistě mnohokrát vytvářeli sloupce vzorců, zpracovávajících sloupce vstupních dat. Standardní postup je vytvoření vzorce v prvním řádku tabulky a zkopírování vzorce do zbylých buněk pomocí plnění. Takto vytvořená oblast vzorců je složena z jednotlivých buněk, z nichž každou můžete individuálně měnit, přepisovat, mazat atd.

Excel však umožňuje vytvářet také vzorce, vracející celou oblast hodnot. Tyto vzorce se označují jako maticové a mají poněkud odlišné vlastnosti. Postup při tvorbě maticového vzorce si nejlépe vyzkoušíte na následujícím příkladu.

Potřebujete sečíst dva stejně velké sloupce peněžních částek. Pro vytvoření maticového vzorce provedete tyto kroky:

  1. Vyznačíte oblast buněk, kam se mají vložit vytvořené součty.

  2. Zapíšete znak „=“.

  3. Vyznačíte prvou oblast buněk pro sčítání. V řádku vzorců se vytvoří označení oblasti.

  4. Stisknete znak „+“ a vyznačíte druhou oblast buněk pro sčítání.

  5. Vzorec uložíte klávesovou kombinací Ctrl + Shift + Enter nebo stisknutím tlačítka Zadat (se symbolem zaškrtávací fajfky) se současným podržením kláves Ctrl + Shift.

Jestliže nepoužijete klávesy Ctrl a Shift (vzorec tedy uložíte standardním způsobem), vytvoří se obyčejný vzorec v první buňce vyznačené oblasti.

Takto vytvořená oblast vzorců je v řádku vzorců zobrazena uzavřením do složených závorek a můžete s ní zacházet pouze jako s celkem. To znamená, je jednotlivé dílčí buňky maticového vzorce nemůžete měnit. Jestliže chcete vzorec změnit nebo vymazat, musíte nejprve označit celou oblast vzorce.

Pomocí maticových vzorců tedy můžete vytvářet součty, rozdíly, násobky nebo podíly oblastí s více buňkami. Při tvorbě maticových vzorců platí tato pravidla:

  • Vstupní oblasti, vyznačené při tvorbě vzorce, musí mít stejné rozměry. Pokud vyznačíte jednu oblast větší a druhou menší, ve zbylých buňkách je chyba „#N/A“.

  • Jestliže je oblast pro výsledky menší, než vstupní oblasti, vytvoří se vzorce jen pro část vstupních buněk.

  • Jestliže je oblast pro výsledky větší, než vstupní oblasti, zbylé buňky vzorce obsahují chybu „#N/A“.

Při tvorbě maticového vzorce můžete také použít absolutního adresování některé z použitých oblastí. Při zkopírování takovéhoto vzorce se odkaz na oblast nemění. Protože je odkaz na oblast vytvořen z odkazů na prvou a poslední buňku oblasti, postup při tvorbě absolutního odkazu je poněkud jiný:

  1. Vytvoříte maticový vzorec s relativními odkazy.

  2. Označíte oblast buněk se vzorcem.

  3. Klepnete do řádku vzorců. Tím spustíte editační režim.

  4. V řádku vzorců označíte tahem myší s podrženým levým tlačítkem celý odkaz na oblast.

  5. Stisknete klávesu F4. Tím se do odkazů na počáteční i konečnou buňku oblasti vloží potřebné znaky dolaru.

  6. Upravený vzorec uložíte klávesovou kombinací Ctrl + Shift + Enter.

Maticový vzorec můžete s výhodou použít při násobení nebo dělení sloupce čísel společnou hodnotou, zapsanou v jediné buňce. Při použití maticového vzorce se vyhnete plnění vytvořeného vzorce a u společné buňky proto nemusíte používat absolutní adresování nebo název buňky.