Obsah

# SUMIF

Určí, které hodnoty v oblasti buněk splňují zadané kritérium, a vrátí součet těchto hodnot. Alternativně může funkce určit, které hodnoty v oblasti buněk splňují kritérium, a vrátit součet hodnot odpovídajících buněk v druhé oblasti.

Ve funkci SUMIF lze na oblast použít pouze jediné kritérium. Potřebujete-li kritérií více, použijte funkci SUMIFS.

#### Syntaxe

SUMIF(Oblast; Kritérium [;Oblast pro součet])

Oblast: Oblast buněk, na kterou se má kritérium použít.

Pouze v parametru Oblast podporuje SUMIF operátor řetězení (~), a to pouze tehdy, není-li zadán nepovinný parametr Oblast pro součet.

Kritérium: Kritérium je odkaz na jedinou buňku, číslo nebo text. Používá se pro porovnání s obsahem buněk.

Odkaz na prázdnou buňku je interpretován jako číselná hodnota 0.

Výraz pro porovnávání může být:

- Číselná nebo logická hodnota. Odpovídající obsah buňky se této číselné nebo logické hodnotě rovná.

- Hodnota začínající porovnávacím operátorem (<, <=, =, >, >=, <>).

  Prázdná hodnota pro = odpovídá prázdným buňkám.

  Prázdná hodnota pro <> odpovídá neprázdným buňkám.

  Neprázdná hodnota pro <> odpovídá jakémukoliv obsahu buňky (včetně prázdných buněk) s výjimkou zadané hodnoty.

  Poznámka: "=0" neodpovídá prázdným buňkám.

  Pokud pro = a <> hodnota není prázdná a nelze ji interpretovat jako číselný typ a zároveň je zaškrtnuta možnost Vyhledávací kritéria = a <> musí platit pro celé buňky, kritériu musí odpovídat celý obsah buňky. Jestliže tato možnost zaškrtnuta není, kritériu musí odpovídat jakákoliv část obsahu.

- Jiná textová hodnota. Pokud je zaškrtnuta možnost Vyhledávací kritéria = a <> musí platit pro celé buňky, kritériu musí odpovídat celý obsah buňky, v opačném případě mu musí odpovídat jakákoliv část obsahu. Výraz může obsahovat text, čísla, regulární výrazy nebo zástupné znaky (jsou-li povoleny v možnostech výstupu).

Vyhledávání podporuje zástupné znaky nebo regulární výrazy. Zadáte-li například "all.*", najdete první výskyt "all" následovaný jakýmikoliv znaky. Chcete-li hledat text, který je rovněž regulárním výrazem, musíte před každý regulární výraz napsat metaznak nebo operátor se znakem "\" nebo text uzavřít mezi \Q...\E. Vypnout a zapnout automatické vyhodnocování regulárních výrazů můžete v LibreOffice - Předvolby Nástroje - Možnosti - LibreOffice Calc - Výpočty.

Pokud použijete funkci, jejíž jeden nebo více argumentů představují řetězce s kritérii vyhledávání, nejprve dojde k pokusu převést tyto řetězce na číslo, například ".0" se převede na 0 a podobně. V případě úspěšného převodu se nebude vyhledávat regulární výraz, ale číslo. Pokud však používáte národní prostředí s jiným oddělovačem desetinných míst, než je tečka, regulární výraz bude fungovat. Chcete-li regulární výraz vždy vynutit místo číselného výrazu, použijte výraz, který nelze interpretovat jako číslo, například ".[0]", ".\0" nebo "(?i).0".

Oblast pro součet: Nepovinné. Oblast buněk, jejíž hodnoty budou sečteny. Pokud není tento parametr zadán, sečtou se hodnoty nalezené v oblasti zadané parametrem Oblast.

Tato funkce je součástí standardu Open Document Format for Office Applications (OpenDocument) verze 1.2 (ISO/IEC 26300:2-2015).

### Příklady

Uvažujme následující tabulku

| A | B | C
1 | Název zboží | Sales | Revenue
2 | nůžky | 20 | 65
3 | nůž | 35 | 85
4 | poznámkový blok | 20 | 190
5 | známka | 17 | 180
6 | nůž na papír | ne | ne

Ve všech níže uvedených příkladech rozsahy pro výpočet obsahují řádek číslo 6, který je ignorován, protože obsahuje text.

#### Základní použití

=SUMIF(C2:C6;">=100")

Sečte pouze ty hodnoty z oblasti C2:C6, které jsou větší nebo rovny 100. Vrátí 370, protože buňky C2:C3 nesplňují kritérium. Sčítají se hodnoty z oblasti dané parametrem Oblast, protože oblast pro součet není zadána.

=SUMIF(B2:B5;">=20";C2:C6)

Sečte hodnoty z oblasti B2:B6 pouze tehdy, pokud jsou odpovídající hodnoty v oblasti A1:A5 větší nebo rovny 20. Vrátí 340, protože pátý a šestý řádek kritérium nesplňují.

#### Použití regulárních výrazů

=SUMIF(A2:A6;"nůž";C2:C5)

Sečte hodnoty z oblasti C2:C6 pouze tehdy, pokud se odpovídající hodnoty v oblasti A2:A6 přesně shodují s písmeny "nůž". Vrátí 85, protože řádky A2 a A4:A6 kritérium nesplňují.

=SUMIF(A2:A6;"nůž*";C2:C6)

Sečte hodnoty z oblasti C2:C6 pouze tehdy, pokud odpovídající hodnoty v oblasti A2:A6 obsahují písmena "nůž". Vrátí 150, protože řádky A4:A5 kritérium nesplňují.

=SUMIF(NázevZboží;"nůž*";Tržby)

Jako parametry Oblast nebo Oblast pro součet lze zadat pojmenovanou oblast. Jestliže jsou například sloupce výše uvedené tabulky pojmenovány "NázevZboží", "Prodeje" a "Tržby", funkce vrátí 150. Takto se bude funkce chovat pouze tehdy, pokud jste pomocí dialogového okna Definovat názvy názvy sloupců definovali.

#### Odkaz na buňku jako kritérium

Potřebujete-li kritérium snadno změnit, můžete jej zadat do samostatné buňky, na kterou odkážete v podmínce funkce SUMIF. Například:

=SUMIF(A2:A6;E2;C2:C6)

Pokud E2 = nůž, funkce vrátí 85, jelikož odkaz na buňku bude nahrazen jejím obsahem.

Související témata

Wiki stránka SUMIF.

SUM, SUMIFS

COUNTIF, COUNTIFS, MINIFS, MAXIFS, AVERAGEIFS

Seznam regulárních výrazů