Функция AVERAGEIF

Намира средното аритметично на всички клетки в даден диапазон, които удовлетворяват дадено условие. Функцията AVERAGEIF събира всички резултати, които преминат логическата проверка, и дели сумата на броя избрани стойности.

tip

Тази функция е налична от LibreOffice 4.0.


Синтаксис

AVERAGEIF(Диапазон; Критерий [; Диапазон_за_усредняване])

Диапазон – задължителен аргумент. Масив, име на област или заглавие на ред или колона, съдържаща числата за усредняване или числата или текста за условието.

Критерий – задължителен аргумент. Условие под формата на израз или обръщение към клетка с израз, което определя кои клетки да се използват при изчисляване на средното. Изразът може да съдържа текст, числа, регулярни изрази (ако са разрешени в настройките за изчисляване) или заместващи знаци (ако са разрешени в настройките за изчисляване).

Търсенето поддържа заместващи знаци или регулярни изрази. Ако са разрешени регулярните изрази, можете да въведете например „всички.*“, за да намерите първото срещане на „всички“, последвано от произволни знаци. Ако искате да търсите текст, който сам представлява регулярен израз, трябва или да поставите наклонена черта „\“ пред всеки знак, или да оградите текста с \Q...\E. Можете да превключвате автоматичното изчисляване на заместващи знаци или регулярни изрази в - PRODUCTNAME Calc - Изчисляване.

warning

Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".


Диапазон_за_усредняване – незадължителен. Диапазон от стойности за изчисляване на средното.

note

Ако не е зададен Диапазон_за_усредняване, Диапазон се използва и за двете – изчисляването на средната стойност и търсенето според условие. Ако е зададен Диапазон_за_усредняване, тогава Диапазон се използва само за проверката на условието, а Диапазон_за_усредняване – за самото изчисляване на средната стойност.


Икона Бележка

Тази функция е от стандарта Open Document Format for Office Applications (OpenDocument) версия 1.2. (ISO/IEC 26300:2-2015)


warning

Ако някоя клетка в диапазон от стойности за изчисляване на средно е празна или съдържа текст, функцията AVERAGEIF пропуска тази клетка.
Ако целият диапазон е празен, съдържа само текст или никоя стойност от него не удовлетворява условието (или съчетание от изброените), функцията поражда грешка #DIV/0!.


Пример

Да разгледаме следната таблица:

A

B

C

1

Име на продукт

Продажби

Приходи

2

лепенки

20

65

3

лепило

35

85

4

пастели

20

190

5

пълнители

17

180

6

бележници

не

не


warning

Във всички примери по-долу диапазонът за изчисляване съдържа ред №6, който се игнорира, защото съдържа текст.


warning

Във всички изчисления по-долу диапазонът за изчисляване на средна стойност съдържа ред №6, но той се игнорира, защото съдържа текст.


Проста употреба

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

Изчислява средното на стойностите от диапазона B2:B6, които са по-малки от 35. Връща 19, защото вторият ред не участва в изчислението.

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

Изчислява средното на стойностите от същия диапазон, които са по-малки от максималната му стойност. Връща 19, защото най-голямата стойност (вторият ред) не участва в изчислението.

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

Изчислява средното на стойностите от същия диапазон, които са по-големи от най-малката му стойност. Връща 25, защото най-малката стойност (четвъртият ред) не участва в изчислението.

Използване на „Диапазон_за_усредняване“

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

Функцията търси стойности, по-малки от 35, в диапазона B2:B6 и изчислява средното на съответните стойности от диапазона C2:C6. Връща 145, защото вторият ред не участва в изчислението.

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

Функцията търси кои стойности в диапазона B2:B6 са по-големи от най-малката стойност в B2:B6 и изчислява средното на съответните стойности от диапазона C2:C6. Резултатът е 113,3, защото четвъртият ред (в който е най-малката стойност на диапазона B2:B6) не участва в изчислението.

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

Функцията търси кои стойности в диапазона B2:B6 са по-малки от втората най-голяма стойност в B2:B6 и изчислява средното на съответните стойности от диапазона C2:C6. Резултатът е 180, защото само четвъртият ред участва в изчислението.

Използване на регулярни изрази

=AVERAGEIF(A2:A6;"лепило";B2:B6)

Функцията търси кои стойности в диапазона A2:A6 съдържат само думата „лепило“ и изчислява средното на съответните стойности от диапазона B2:B6. Резултатът е 35, защото само вторият ред участва в изчислението. Търсенето се извършва в диапазона A2:A6, но усредняването се извършва върху диапазона B2:B6.

=AVERAGEIF(A2:A6;"леп.*";B2:B6)

Функцията търси кои стойности от диапазона A2:A6 започват с „леп“ и завършват с произволен брой други знаци и изчислява средното на съответните им стойности от диапазона B2:B6. Връща 27,5, защото сега „лепенки“ също удовлетворява условието – така и първият, и вторият ред участват в изчислението.

=AVERAGEIF(A2:A6;".*тели.*";B2:B6)

Функцията търси кои стойности от диапазона A2:A6 съдържат „тели“ и започват и завършват с произволен брой други знаци и изчислява средното на съответните им стойности от диапазона B2:B6. Връща 18,5, защото само третият и четвъртият ред участват в изчислението.

Обръщение към клетка като критерий

Ако е необходимо лесно да промените някой критерий, може да го зададете в отделна клетка и в условието на функцията AVERAGEIF да използвате обръщение към тази клетка.

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

Функцията търси кои стойности от диапазона A2:A6 съдържат поредицата знаци, зададена в E2, и започват и завършват с произволен брой други знаци и изчислява средното на съответните им стойности от диапазона B2:B6. Ако E2 = "тели", резултатът ще бъде 18,5.

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

Функцията търси кои стойности от диапазона B2:B6 са по-малки от стойността, зададена в E2, и изчислява средното на съответните им стойности от диапазона C2:C6. Ако E2 = 35, резултатът ще бъде 145.

Моля, подкрепете ни!