Matice v Excelu podrobně s Tomášem Soukupem

O tom, že je Excel výkonný výpočetní nástroj, netřeba příliš mluvit. Kromě různých statistických, matematických, logických a dalších funkcí je v Excelu další věc, o níž mnoho uživatelů vůbec neví. Jsou to výpočty s maticemi. Excel opravdu dokáže počítat s maticemi a používá k tomu maticové vzorce. Mají speciální syntaxi, aby Excel věděl, že daná oblast je matice n a nikoli za izolované hodnoty. Nebudeme zde rozebírat matematickou teorii maticové algebry, ale rovnou se na to podíváme prakticky. Teoretickým průvodcem světem matic může být například web Matematika.cz, kde najdete několik podrobných článků věnovaných maticím.

Matice v Excelu

Tvoří jakoukoli souvislou oblast n, tedy dvourozměrné pole. Každá hodnota v buňce představuje prvek matice. Definujme jednu čtvercovou matici 3×3 a jednu o rozměru 3×4, viz obrázek. Na těchto maticích si vše ukážeme.

Matice v Excelu jako oblasti

Matice v Excelu jako oblasti

Výpočty bez maticových vzorců

Začněme tím jednodušším, tedy výpočty bez použití maticových vzorců. Je to jednoduché, běžné funkce lze aplikovat na matice, je-li výsledkem jediné číslo. Tedy například determinant matice, jelikož determinant je číslo. V našem příkladu stačí zapsat vzorec =DETERMINANT(A3:C5), resp. =DETERMINANT(F3:H6). V prvním případě obdržíme hodnotu 1178, v druhém skončí výpočet chybou, jelikož determinant lze vypočítat jen ze čtvercové matice, jak ukazuje obrázek.

Determinant matice

Pro výpočet determinantu nemusíme použít maticový vzorec

Bez maticových vzorců lze rovněž zjisti počet řádků a sloupců v matici (poli). K tomu použijeme funkce ŘÁDKY, resp. SLOUPCE.

Maticové vzorce

Maticové vzorce musíme použít ve chvíli, kdy výsledkem operace není číslo, ale opět matice, tedy 2D pole. Příkladem je funkce TRANSPOZICE, anglicky TRANSPOSE. Transpozice matice je záměna řádků a sloupců, tedy z matice n se stane matice o rozměrech n×m. Maticový vzorec je uzavřen ve složených závorkách. Aby Excel věděl, že vzorec má být maticový, po jeho zapsání musíme stisknout CTRL+SHIFT+ENTER. Použití transpozice má jednu nevýhodu – musíme předem vědět, jaký rozměr má výsledná matice a tuto oblast označit. Tedy, je-li výchozí matice 4×3, musíme označit oblast 3×4 a poté teprve zapsat vzorec. Tedy postup je:

  • označit cílovou oblast dle rozměru po transpozici
  • zapsat vzorec do řádku vzorců
  • stisk CTRL+SHIFT+ENTER
Tranpozice s maticovým vzorcem

Maticový vzorec pro transpozici

Možností pro využití transpozice se najde více, nemusejí to být pouze matematické aplikace. Představte si třeba, že máte ve 3 sloupcích data nějakého měření se záhlavím a chcete místo sloupců data v řádcích. Alternativní možností je zkopírovat zdrojová data a pomocí Vložit jinak zvolit transpozici. Výsledek bude stejný a bez použití maticových vzorců. A zachovává se formátování zdroje.

Vložit jinak

Pomocí Vložit jinak lze transponovat původní data

Dalším příkladem je součin dvou matic. Platí obecné pravidlo – druhá matice musí mít stejný počet sloupců, jako první řádků. Tahle operace už se neobejde bez maticového vzorce. Syntaxe vzorce je =SOUČIN.MATIC(pole1;pole2), v případě z našeho obrázku chceme násobit matice A a B, tedy zapíšeme =SOUČIN.MATIC(A3:C5;F3:H5). Podmínka řádků a sloupců je splněna. Musíme však opět pamatovat na pravidlo označení oblasti předem (v tomto případě 3×3) a potvrzení vzorce jako maticový.

Jiným příkladem je například výpočet inverzní matice, podmínkou je, že matice opět musí být čtvercová. Na příkladu A bychom zapsali do vzorce =INVERZE(A3:C5) a stisk CTRL+SHIFT+ENTER. Nezapomeňme na začátek opět označit potřebnou oblast, zde 3×3. Výsledky jsou na následujícím obrázku.

Použití maticových vzorců pro inverzi a součin matic

Maticové regresní funkce

Maticové vzorce v Excelu využijeme i pro regresní funkce. Tyto aplikace však patří do pokročilejší matematiky, nebudeme je proto popisovat. Velmi detailní popis těchto funkcí včetně matematické teorie lze nalézt nejen v nápovědě pro Excel, ale na webu Microsoftu popisující funkci LINGRESE. Použijí to patrně jen ti, kteří přesně vědí, proč to potřebují. Využití tyto funkce najdou ve statistice a predikci. Zajímavá témata jsou probírána i v následujícím videu o regresi v prediktivní analýze.

Výpočty s maticemi sice patří k pokročilým funkcím, najdou však jistě své uplatnění, nejen pro matematické úlohy lineární algebry. Narozdíl od většiny volně dostupných jednoúčelových programů pro maticové výpočty, v Excelu nejste teoreticky omezeni velikostí matic (pouze samotné limitace Excelu). Tudíž i vypočítat determinanty, inverze, součty, součiny, apod. z velkých matic bude snadné. Většinu těchto výpočtů rovněž zvládá i Calc z balíku LibreOffice, o němž padla zmínka například v článku o importu CSV souborů.

Reagovat na příspěvek