Co všechno umí tabulkový procesor: Maticím tabulky sluší

Ve skrytu rozsáhlých možností programu MS Excel 97, ale i dřívějších verzí, zůstávají většinou utajeny matice. ...


Ve skrytu rozsáhlých možností programu MS Excel 97, ale i dřívějších verzí,
zůstávají většinou utajeny matice. Matematici a inženýři, jimž je maticový
počet denním chlebíčkem, je už pro sebe nejspíš objevili, ale jejich osvojení
může přijít k užitku nejen těm, kdo řeší soustavy rovnic nebo se připravují na
hodiny lineární algebry. Každá tabulka je v podstatě také maticí, a tak použití
maticových vzorců a funkcí může v určitých případech ušetřit námahu, kterou
bychom jinak strávili při sestavování pracných vzorců.
Opravdové matice
Matice je skutečně jako tabulka má prvky uspořádané do řádků a sloupců, a proto
se k jejímu zápisu list Excelu přímo nabízí. Pokud s nimi chceme provést
nějakou maticovou operaci, například dvě matice sečíst nebo vynásobit, můžeme
pro výslednou matici buď vytvořit řadu vzorců, které budou počítat její
jednotlivé prvky, nebo výslednou tabulku matici získáme najednou pomocí tzv.
maticového vzorce.
Zkusme nejprve standardní způsob s výpočtem prvků, který je vlevo na obr. 1.
Znamená to vytvořit tolik (různých) součtových vzorců, kolik má výsledná matice
prvků. Tuto činnost nám u velkých matic usnadní relativní adresy, takže stačí
napsat jen jeden součet a ten zkopírovat. Tady si dopřejme jeden trik:
potvrzením zápisu klávesami Ctrl + Enter se dostane stejný zápis do všech buněk
označené oblasti. V případě vzorců i zde bere Excel ohled na relativnost adres,
takže v našem příkladě stačí označit A6:B7, napsat =A2+D2 a stisknout Ctrl +
Enter. Takto však nemáme matici v pravém slova smyslu. Kdo navíc zná pracnost
výpočtu násobku velkých matic či třeba inverzní matice, ten tuší, že by nesmělo
jít o Excel, aby neexistovala pohodlnější cesta.
Druhá možnost se tedy jmenuje maticový vzorec. S jeho pomocí vytvoříme
skutečnou matici:
1. Označíme oblast výsledné matice (v příkladě na obr. 1 vpravo to bude D6:E7).
2. Zapíšeme vzorec či vložíme funkci s maticovými argumenty, tedy odkazy na
matice jako oblasti (v příkladu =A2:B3+D2:E3).
3. Zadání vzorce či funkce potvrdíme stiskem kláves Ctrl + Shift + Enter. Pokud
vkládáte funkci příkazem z nabídky Vložit, stiskněte Ctrl + Shift při
potvrzování dialogu.
Tyto pomocné klávesy zajišťují vložení zadávané položky do všech označených
buněk, a to formou matice. Taková oblast je pak Excelem chápána jako jeden
celek a v jejích buňkách se ocitnou jednotlivé prvky výsledné matice. Rovněž
adresy oblastí uvedené ve vzorci bere Excel jako celistvé matice. Ačkoli tedy
vzorec ve všech buňkách vypadá naprosto stejně, Excel v každé z nich počítá
něco jiného pokaždé příslušný prvek matice. Excel také nedovolí měnit obsah
jednotlivých buněk matice, takže úpravy se musejí provádět opět s označenou
celou oblastí a potvrdit klávesami Ctrl + Shift. Smazat nebo přesunout lze
jedině celou oblast najednou. Příslušnost buňky k matici dává Excel najevo tím,
že její obsah obklopí v řádku vzorců složenými závorkami {}.
K provádění základních maticových operací je Excel vybaven několika funkcemi.
Jsou tu DETERMINANT, INVERZE, SOUČIN.MATIC, SOUČIN.SKALÁRNÍ, TRANSPOZICE a
trojice funkcí pro součty a rozdíly čtverců matic SUMX2MY2, SUMX2PY2, SUMXMY2.
Některé další funkce pracují rovněž s oblastmi jako s maticemi. Pro ukázku si
představme funkci LINTREND, která předpovídá, jak bude při lineární závislosti
pokračovat známá řada hodnot y závislých na jiné řadě hodnot x. Obecný zápis je
LINTREND(hodnotyX, hodnotyY, pokračováníX). Protože výsledkem bude rovněž řada
hodnot (daná stejným vzorcem), je třeba funkci v buňkách C6:C8 v příkladu z
obr. 2 vložit opět jako matici.
Maticové konstanty
Pokud nechceme nebo nemůžeme zadat zdrojové hodnoty do zvláštních buněk, můžeme
je uvést přímo ve vzorci nebo ve funkci. Pak ale jednotlivé prvky matice musíme
uzavřít do složených závorek (tentokrát ručně, nikoli pomocí Ctrl + Shift +
Enter). Tady nastane zřejmě souboj s klávesnicí. V české verzi Excelu 97 se
prvky různých sloupců matice oddělují středníkem, řádky pak svislicí | (při
potížích s jejím nalezením zkuste stisknout Ctrl + Alt + W). Matici A z obr. 1
můžeme jako argument napsat též {1;2 |3;4}.
Nápověda sice i v českém Excelu zatvrzele hlásá, že se používá čárka a
středník, tedy {1,2;3,4}, ale to platí v originální anglické verzi. V ní zase
pozor na to, abyste se nedostali do křížku s místním nastavením oddělovačů
čísel v Ovládacích panelech Windows. Vlastníte-li totiž US verzi Excelu (u
něhož se hodnoty sloupců matice oddělují čárkou) a používáte ve Windows jako
desetinný oddělovač také čárku, bude si Excel plést sloupce vaší matice s
desetinnými čísly.
Pokud si s těmito znaky poradíme, můžeme v Excelu CZ
přepsat náš součet matic na ={1;2|3;4}+{4;3|2;1}, pokud bychom jej opět vložili
pomocí Ctrl + Shift + Enter do oblasti 2 x 2.
Podobně můžeme hodnotami bezprostředně naplnit třeba funkci FORECAST(X, řadaY,
řadaX), která provede lineární regresi řady hodnot X a Y a pro zadanou hodnotu
X vrátí odpovídající Y. Takže =FORECAST(10;{8;14; 20;25};{0;3;5;8}) dá za
výsledek 29,81. A to už se blížíme k využití matic ve výpočtech, které zdánlivě
nemají s maticovým počtem nic společného.
Matice na druhý pohled
Kdybychom se podívali s určitým nadhledem na tabulky, které běžně vytváříme,
možná bychom zjistili, že v nich operujeme s maticemi až nečekaně často. Viz
druhá tabulka na obr. 2. Jedna matice je sloupec s počty vyrobených výrobků v
různých závodech, druhou představuje sloupec s počty pracovníků. V posledním
sloupci chceme mít produktivitu závodů, neboli podíl počtu výrobků a pracovníků
v nich. Ta se však dá chápat také jako matice, jejímiž prvky bude vždy podíl
čísel za stejných řádků dvou sousedních matic. Můžeme tedy do oblasti H2:H6
vložit maticový vzorec =F2:F6/G2:G6.
Nepochybně v tomto okamžiku namítnete, že bez toho se obejdeme, poněvadž
existuje také relativní a absolutní adresování buněk a kopírování vzorců, čímž
zvládneme rozmnožit obyčejný vzorec do jakékoli oblasti. To je samozřejmě
pravda. Výhodou matic je, že v jejich případě (pokud je náhodou nekopírujete)
se žádnými "dolary" v adresách nemusíte vůbec zabývat.
7 3363 / Maf









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.