Obsah

# MAXIFS funkce

Vrátí maximální hodnotu z buněk z oblasti, která splňuje více kritérií z více oblastí.

### Syntaxe

MAXIFS(Oblast; Oblast1; Kritérium1 [; Oblast2; Kritérium2][; ... ; [Oblast127; Kritérium127]])

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 maxima.

Oblast1 – vyžadovaný argument. Jedná se o oblast buněk, název pojmenované oblasti nebo popisek sloupce nebo řádku, na které se má odpovídající kritérium použít.

Kritérium1: Kritérium je textový výraz vypočtený z odkazu na jedinou buňku, vzorec, čí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).

Oblast2 – nepovinné. 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érium.

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 a 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é Oblasti se 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).

### 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í

=MAXIFS(B2:B6;B2:B6;"<35")

Vypočítá maximální hodnotu z oblasti B2:B6, které jsou větší nebo rovny 20. Vrátí 35. Pátý řádek kritérium nesplňuje.

=MAXIFS(C2:C6;B2:B6;">=20";C2:C6;"<90")

Vypočítá maximální hodnotu z oblasti C2:C6, které jsou nižší než 90 a odpovídají buňkám oblasti B2:B6 s hodnotami většími nebo rovno 20. Vrátí 85, protože čtvrtý a pátý řádek nesplňují alespoň jednu kritérium.

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

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

Vypočítá maximální hodnotu z oblasti C2:C6, které odpovídají všem hodnotám rozsahu B2:B6 s výjimkou minima a maxima. Vrací 190, protože pouze čtvrtý řádek splňuje kritéria.

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

Vypočítá maximální hodnotu z oblasti C2:C6, které odpovídají všem buňkám oblasti A2:A6 začínajícím "nůž" a všem buňkám rozsahu B2:B6 s výjimkou jeho maxima. Vrací 85, protože pouze třetí řádek splňuje všechna kritéria.

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

Pokud potřebujete snadno změnit kritérium, můžete jej určit v samostatné buňce a použít odkaz na tuto buňku v podmínce funkce MAXIFS. Například výše uvedená funkce může být změněna následovně:

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

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

#### Technické informace

Tato funkce je k dispozici od verze LibreOffice 5.2.

Tato funkce NENÍ součástí standardu Open Document Format for Office Applications (OpenDocument) Version 1.3. Part 4: Recalculated Formula (OpenFormula) Format. Její jmenný prostor je

COM.MICROSOFT.MAXIFS

Související témata

Wiki stránka MAXIFS.

MAX, MAXA, MIN, MINA,

COUNTIFS, MINIFS, MAXIFS, AVERAGEIFS, SUMIFS

Seznam regulárních výrazů

Podpořte nás!