Obsah
Index 🔎︎

# SUMIFS

Vrátí součet hodnot buněk z oblasti, která splňuje více kritérií z více oblastí.

Tato funkce je k dispozici od vydání LibreOffice 4.0

#### Syntaxe

SUMIFS(Oblast; Oblast1; Kritérium1 [ ; Oblast2; Kritérium2 [;...]]))

Oblast_funkce – povinný argument. Jedná se o oblast buněk, název pojmenované oblasti nebo popisek sloupce nebo řádku obsahujícího hodnoty pro výpočet součtu.

Kritérium1 – povinný argument. Řetězcový výraz reprezentující logický stav nebo odkaz buňky na takový řetězecový výraz. Výraz může obsahovat text, čísla, regulární výrazy nebo zástupné znaky (pokud jsou zapnuty v možnostech výpočtu).

Oblast2 – volitelné. Oblast2 a všechny následující mají stejný význam jako Oblast1.

Kritérium2 – nepovinný. Kritérium2 a následující mají stejný význam jako Kritérium1.

The search supports wildcards or regular expressions. With regular expressions enabled, you can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in LibreOffice - PreferencesTools - Options - LibreOffice Calc - Calculate.

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".

Oblast and Oblast1, Oblast2... musí mít shodnou velikost, jinak funkce vrátí chybu Chyba:502 - neplatný argument.

Logický vztah mezi kritérii lze definovat jako logické AND (konjunkce). Jinými slovy, pokud a pouze pokud jsou splněna všechna daná kritéria, hodnota z odpovídající buňky dané Oblastise vezme do výpočtu.

Funkce může mít až 255 argumentů, což znamená, že pro ně můžete zadat 127 oblastí kritérií a kritérií.

Obsahuje-li buňka hodnotu PRAVDA, je považována za číslo 1, obsahuje-li hodnotu NEPRAVDA, je považována za 0 (nulu).

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

#### Příklad

Uvažujme následující tabulku

| A | B | C
1 | Název zboží | Prodeje | Tržby
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í

=SUMIFS(B2:B6;B2:B6;">=20")

Vypočítá součet hodnot z oblasti B2:B6, které jsou větší nebo rovny 20. Vrátí 75, protože pátý řádek kritérium nesplňuje.

=SUMIFS(C2:C6;B2:B6;">=20";C2:C6;">70")

Vypočítá součet hodnot z oblasti C2:C6, které jsou větší než 70 a odpovídají buňkám oblasti B2:B6 s hodnotami většími nebo rovnými 20. Vrátí 275, protože druhý a pátý řádek aspoň jedno z kritérií nesplňují.

#### Použití regulárních výrazů a vnořených funkcí

=SUMIFS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))

Vypočítá součet hodnot z oblasti C2:C6, které odpovídají všem hodnotám z oblasti B2:B6 kromě jejich minima a maxima. Vrátí 255, protože třetí a pátý řádek aspoň jedno z kritérií nesplňují.

=SUMIFS(C2:C6;A2:A6;"nůž.*";B2:B6;"<"&MAX(B2:B6))

Vypočítá součet hodnot z oblasti C2:C6, které odpovídají všem buňkám z oblasti A2:A6 začínajícím na "nůž" a všem buňkám z oblasti B2:B6 s výjimkou jejich maxima. Vrátí 65, protože všechna kritéria splňuje pouze druhý řádek.

#### 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 SUMIFS. Například výše uvedenou funkci lze přepsat následovně:

=SUMIFS(C2:C6;A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6))

Pokud E2 = nůž, funkce vrátí 65, protože odkaz na buňku je nahrazen jejím obsahem.

Související témata

SUM, SUMIF

COUNTIFS, MINIFS, MAXIFS, AVERAGEIFS, SUMIFS

Seznam regulárních výrazů