Přeskočit na obsah

ByColExcel

enBYCOL

Funkce aplikuje vlastní výpočet na každý sloupec v zadaném rozsahu a vrátí výsledky jako sloupcový vektor. Umožňuje provádět operace nad jednotlivými sloupci bez nutnosti složitých maticových vzorců.

=BYCOL(Array;Function)

Array – Oblast nebo matice hodnot, na kterých se provede výpočet.

Function – Vlastní výpočet aplikovaný na jednotlivé sloupce. Z volitelných funkcí je možné použít:

Funkce Vysvětlení
Suma Sečtení všech buněk ve výběru.
Průměr Aritmetický průměr ze všech vložených odkazů (buněk).
Median Prostřední hodnota seřazeného číselného souboru dat.
Počet Celkový počet buněk v rámci odkazu.
Počet2 Celkový počet buněk, které nejsou prázdné.
Max Nejvyšší hodnota z buněk ve výběru.
Min Nejnižší hodnota z buněk ve výběru.
Součin Součin všech buněk ve výběru.
ArrayToText Převedení oblasti hodnot na textový řetězec.
Concat Sloučení více textových hodnot do jedné buňky
Smodch.Výběr.S Směrodatná výběrová odchylka – jak se hodnoty liší od průměrné hodnoty výběru, tedy ne celého souboru dat.
Smodch.P Směrodatná odchylka základního (celého) souboru dat.
Var.S Výběrový rozptyl – tedy ne celý soubor dat, ale vzorek, jedná se pouze o odhad rozptylu.
Var.P Rozptyl celého souboru dat.
Mode.Sngl Nejčastěji se vyskytující hodnota v matici.
Lambda Možnost vytvořit vlastní výpočet, více na samostatné funkci Lambda.

Jedná se o jednu z novějších dynamických funkcí. Nejčastější možností je použití funkce Lambda v 2. argumentu funkce, díky které lze vytvořit jakýkoliv vlastní výpočet na daných datech včetně tvorby vlastních funkcí.

Funkce se navíc hodí, pokud chceme provést výpočet pro každý sloupec zvlášť a využít jedné z matematických nebo textových zabudovaných funkcí. Pokud má být výpočet proveden naopak pro každý řádek, je možné využít transponovanou funkci ByRow. Pokud má být vypočtena Suma, průměr, medián nebo počet na každém sloupci, je možné využít funkci následovně. Zároveň je možné využít možnosti ArrayToText, kdy se hodnoty v daném sloupci spojí do jedné buňky oddělené středníkem. Popř. využít možnosti Concat, kdy se hodnoty spojí bez jakéhokoliv oddělovače:

Pokud má být využita lambda, je nutné vyplnit argumenty funkci, viz funkce Lambda, pro vlastní výpočet nebo použití již zabudovaných funkcí.

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Funkce sama o sobě využívá ostatní funkce ve svých argumentech jako Suma, Průměr, Počet, Počet2 a další. Je možné využít i další vložené textové, matematické nebo jiné funkce v 2. argumentu funkce s funkcí Lambda, vždy je však nutné, aby se pro každý sloupec vrátila pouze jedna hodnota, aby mohl být výstup maticovým vzorcem.

V následujícím příkladu jsou jednotlivá čísla nejprve zaokrouhlena na 2 desetinná místa pomocí funkce zaokrouhlit a následně sečtena funkcí Suma, ale pro každý sloupec:

=BYCOL(G2:H7;LAMBDA(vlastní_nazev;SUMA(ZAOKROUHLIT(vlastní_nazev;2))))

Stejně tak mohou být např. vráceny pouze první písmena z každé buňky pomocí funkce Zleva a spojeny pomocí funkce Concat ve funkci Lambda:

=BYCOL(M2:N7;LAMBDA(nazev;CONCAT(ZLEVA(nazev))))

Funkce lze využít i jako vnořenou funkci jiným funkcím. Např. pokud má být zjištěno, v kterých měsících byla alespoň jedna hodnota vyšší než 1000, je možné filtrovat název měsíce pomocí funkce Filter, přičemž má být ve sloupcích zjištěno, ve kterém sloupci byla hodnota vyšší díky počtu pomocí funkce Countif a následně název těchto měsíců vyfiltrovat:

=FILTER(S1:V1;BYCOL(S2:V3;LAMBDA(x;COUNTIF(x;“>1000″)))>0;““)

© 2026 Excelland