02.11.2019, Vladimír Klaus, navštíveno 8258x
Potřebovali jste někdy sečíst v Excelu nějaké buňky a nestačil vám na to prostý součet přes rozsah buněk? Nebo jste udělali postupný součet po buňkách, ale chtěli jste tam zadat nějakou podmínku a šli na to oklikou přes funkci KDYŽ() apod.? Jde to i jinak, jak si zde ukážeme.
Mějme tabulku, kde třeba vykazujete nějakou práci, zároveň provádíte mezisoučty, ale chcete znát i celkový součet. Může to vypadat třeba takto.
Následující jednoduché řešení vyhovuje, pokud je dat málo, máte přehled a jste pečliví.
Ve chvíli, kdy je tabulka velká nebo dokonce kopírujete celé sady buněk, může se velice jednoduše stát, že z celkového součtu některý mezisoučet vypadne. Ale i kdyby se vám to nestalo, pořád je s tím spousta práce. A je tu i technické omezení – jednotlivých sčítanců může být maximálně 255.
Zkrátka a dobře, tohle určitě nechcete:
Jak tedy udělat celkový součet inteligentní? Použije se k tomu funkce SUMIF(), do které je možné zadat podmínku, jež určuje, které buňky se budou sčítat. V tomto případě tedy všechny částky ze sloupce B, pokud je vedle nich ve sloupci A uvedeno "Celkem".
Podmínka může být složitější a podporuje i zástupné znaky * a ?. V našem případě si třeba tak můžeme ověřit, že je chytrý součet správný tím, že naopak sečteme vše kromě mezisoučtů, což se dá udělat třeba sečtením jen těch buněk, vedle kterých je text začínající na Práce:
Nemusíte se odkazovat jen na jiné buňky, ale podmínku postavit přímo na těch sčítaných, tedy např. sečíst jen ty buňky, jejichž hodnota je menší než 1000.
Pak ještě existuje SUMIFS(), která umožňuje zadat sadu oblastí a kritérií. Řekněme, že chcete posčítat mezisoučty, ale jen v případě, že tyto mezisoučty nepřesahují 10 000. Pro provedení součtu musí současně platit všechny podmínky.
Zde jen musíte dát dobrý pozor, aby oblast, kde se sčítá, byla ve vzorečku jako první, což je rozdíl oproti funkci SUMIF()!
Nechme stranou, že podobné "výkazy" by bylo lepší dělat úplně jinak, mezisoučty vytvářet třeba pomocí kontingenčních tabulek apod. Tento článek slouží jen jako demonstrace uvedené funkce SUMIF(). A pokud vás napadlo, zda existují i další podmíněné funkce, tak ano - COUNTIF(), AVERAGEIF() apod.
Zdroje: