COUNTIFS
Vrací počet buněk, které splňují kritéria z více oblastí.
Tato funkce je k dispozici od vydání LibreOffice 4.0
COUNTIFS(Oblast1; Kritérium1 [; Oblast2; Kritérium2 [; ...]])
Oblast1 – povinný argument. Jedná se o oblast buněk, název pojmenované oblasti nebo popisek sloupce nebo řádku obsahujícího hodnoty pro počítání a vyhledávání pomocí odpovídajícího kritéria.
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.
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ý znak napsat znak \ nebo text uzavřít mezi \Q...\E. Vypnout a zapnout automatické vyhodnocování regulárních výrazů můžete v .
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".
Oblast1, Oblast2, ... and Kritérium1, Kritérium2, ...musí mít stejnou 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).
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í
=COUNTIFS(B2:B6;">=20")
Zjistí počet řádků z oblasti B2:B6 s hodnotami většími nebo rovnými 20. Vrátí 3, protože pátý a šestý řádek kritérium nesplňují.
=COUNTIFS(B2:B6;">=20";C2:C6;">70")
Zjistí počet řádků, které obsahují hodnoty větší než 70 z oblasti C2:C6 a zároveň hodnoty větší než nebo rovné 20 z oblasti B2:B6. Vrátí 2, protože druhý, pátý a šestý řádek aspoň jedno z kritérií nesplňují.
Použití regulárních výrazů a vnořených funkcí
=COUNTIFS(B2:B6;"[:alpha:]*")
Zjistí počet řádků z oblasti B2:B6, které obsahují pouze znaky abecedy. Vrátí 1, protože kritérium splňuje pouze šestý řádek.
=COUNTIFS(B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))
Zjistí počet řádků z oblasti B2:B6 bez řádků s minimální a maximální hodnotou. Vrátí 2, protože třetí, pátý a šestý řádek aspoň jedno z kritérií nesplňují.
=COUNTIFS(A2:A6;"nůž.*";B2:B6;"<"&MAX(B2:B6))
Zjistí počet řádků, 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í 1, 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 COUNTIFS. Například výše uvedenou funkci lze přepsat následovně:
=COUNTIFS(A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6))
Pokud E2 = nůž, funkce vrátí 1, protože odkaz na buňku je nahrazen jejím obsahem a funkce se chová jako v předchozím příkladu.
Otevřít soubor s příkladem: