AVERAGEIF

Vrátí aritmetický průměr všech buněk oblasti, které splňují danou podmínku. Funkce AVERAGEIF sečte všechny výsledky, které vyhovují danému logickému testu, a součet vydělí počtem vybraných hodnot.

Syntaxe

AVERAGEIF(Oblast; Kritérium [; Oblast_pro_průměr ])

Oblast – povinný argument. Pole, název pojmenované oblasti nebo popisek sloupce nebo řádku obsahujícího čísla pro výpočet průměru nebo čísla či text pro podmínku.

Kritérium – povinný argument. Podmínka v podobě výrazu nebo odkaz na buňku s výrazem, jenž určuje, které buňky se mají pro výpočet průměru použít. Výraz může obsahovat text, čísla, regulární výrazy nebo zástupné znaky (podle toho, jsou-li povoleny v možnostech výpočtu).

Oblast_pro_průměr – nepovinný. Jedná se o oblast hodnot pro výpočet průměru.

Ikona poznámky

Není-li Oblast_pro_průměr určena, Oblast se použije jak pro výpočet průměru, tak pro vyhledávání podle podmínek. Pokud Oblast_pro_průměr určena je, Oblast se použije pouze pro testování podmínky a Oblast_pro_průměr pro výpočet průměru.
Kritérium musí být řetězec, tedy uzavřeno v uvozovkách ("Kritérium") s výjimkou názvů funkcí, odkazů na buňku a operátoru spojování řetězců (&).


Ikona poznámky

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


Ikona upozornění

Pokud je buňka v oblasti hodnot pro výpočet průměru prázdná nebo obsahuje text, funkce AVERAGEIF ji ignoruje.
Pokud je celá tato oblast prázdná, obsahuje pouze text nebo žádná z hodnot oblasti nesplňuje podmínku, funkce vrátí chybu #DIV/0!


Příklady

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


Ikona upozornění

In all examples below, ranges for calculation contain the row #6, which is ignored because it contains text.


Ikona upozornění

Ve všech následujících příkladech je v oblasti pro výpočet průměru zahrnut řádek číslo 6, který se ale ignoruje, protože obsahuje text.


Základní použití

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

Vypočítá průměr hodnot z oblasti B2:B6, které jsou menší než 35. Vrátí 19, protože při výpočtu není použit druhý řádek.

=AVERAGEIF(B2:B6;"<"&MAX(B2:B6))

Vypočítá průměr hodnot z téže oblasti, které jsou menší než maximální hodnota v této oblasti. Vrátí 19, protože při výpočtu není použita největší hodnota (druhý řádek).

=AVERAGEIF(B2:B6;">"&SMALL(B2:B6;1))

Vypočítá průměr hodnot z téže oblasti, které jsou větší než první nejmenší hodnota v této oblasti. Vrátí 25, protože při výpočtu není použita první nejmenší hodnota (čtvrtý řádek).

Použití Oblasti_pro_průměr

=AVERAGEIF(B2:B6;"<35";C2:C6)

Funkce vyhledá, které hodnoty jsou v oblasti B2:B6 menší než 35, a vypočítá průměr odpovídajících hodnot z oblasti C2:C6. Vrátí 145, protože při výpočtu není použit druhý řádek.

=AVERAGEIF(B2:B6;">"&MIN(B2:B6);C2:C6)

Funkce vyhledá, které hodnoty jsou v oblasti B2:B6 větší než nejmenší hodnota v téže oblasti, a vypočítá průměr odpovídajících hodnot z oblasti C2:C6. Vrátí 113,3, protože při výpočtu není použit čtvrtý řádek (v němž se nachází nejmenší hodnota z oblasti B2:B6).

=AVERAGEIF(B2:B6;"<"&LARGE(B2:B6;2);C2:C6)

Funkce vyhledá, které hodnoty jsou v oblasti B2:B6 menší než druhá největší hodnota v téže oblasti, a vypočítá průměr odpovídajících hodnot z oblasti C2:C6. Vrátí 180, protože při výpočtu je použit pouze čtvrtý řádek.

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

=AVERAGEIF(A2:A6;"nůž";B2:B6)

Funkce vyhledá, které buňky z oblasti A2:A6 obsahují pouze slovo „nůž“, a vypočítá průměr odpovídajících hodnot z oblasti B2:B6. Vrátí 35, protože při výpočtu je použit pouze druhý řádek. Vyhledává se v oblasti A2:A6, hodnoty jsou však vraceny z oblasti B2:B6.

=AVERAGEIF(A2:A6;"nůž.*";B2:B6)

Funkce vyhledá, které buňky z oblasti A2:A6 začínají na „nůž“ a přitom končí libovolným počtem jiných znaků, a vypočítá průměr odpovídajících hodnot z oblasti B2:B6. Vrátí 27,5, protože nyní splňuje podmínku také řetězec „nůžky“, a při výpočtu tak jsou použity první i druhý řádek.

=AVERAGEIF(A2:A6;".*známk.*";B2:B6)

Funkce vyhledá, které buňky z oblasti A2:A6 obsahují „známk“ a přitom začínají a končí libovolným počtem jiných znaků, a vypočítá průměr odpovídajících hodnot z oblasti B2:B6. Vrátí 18,5, protože při výpočtu jsou použity pouze třetí a čtvrtý řá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 AVERAGEIF.

=AVERAGEIF(A2:A6;".*"&E2&".*";B2:B6)

Funkce vyhledá, které buňky z oblasti A2:A6 obsahují kombinaci znaků zadaných do buňky E2 (přitom se na začátku a na konci řetězce může nacházet libovolný počet jiných znaků), a vypočítá průměr odpovídajících hodnot z oblasti B2:B6. Pokud E2 = známk, funkce vrátí 18,5.

=AVERAGEIF(B2:B6;"<"&E2;C2:C6)

Funkce vyhledá, které buňky z oblasti B2:B6 obsahují hodnotu menší než určenou v buňce E2, a vypočítá průměr odpovídajících hodnot z oblasti C2:C6. Pokud E2 = 35, funkce vrátí 145.