Функция AVERAGEIFS

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

tip

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


Синтаксис

AVERAGEIFS(Функ_диапазон; Диапазон1; Критерий[; Диапазон2; Критерий2][; … ; [Диапазон127; Критерий127]])

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

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

Критерий: критерият представлява число, текст или обръщение към единична клетка. Той се използва за сравняване на съдържанието на клетки.

Обръщение към празна клетка се интерпретира като числовата стойност 0.

Съответстващ израз може да бъде:

Диапазон2 – незадължителен. „Диапазон2“ и всички следващи имат значение, аналогично на „Диапазон1“.

Критерий2 – незадължителен. „Критерий2“ и всички следващи имат значение, аналогично на „Критерий“.

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

warning

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


Функ_диапазон и Диапазон1, Диапазон2... трябва да имат еднакъв размер, иначе функцията ще върне err:502 - невалиден аргумент.

note

Логическата връзка между критериите може да се дефинира като логическо И (конюнкция). С други думи, стойността на съответната клетка от Функ_диапазон се включва в изчислението тогава и само тогава, когато са изпълнени всички зададени критерии.


Функцията може да има до 255 аргумента, което означава, че можете да зададете 127 диапазона и критерии за тях.

Стойност TRUE в клетка се третира като 1, а FALSE – като 0 (нула).

note

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


Пример

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

A

B

C

1

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

Продажби

Приходи

2

лепенки

20

65

3

лепило

35

85

4

пастели

20

190

5

пълнители

17

180

6

бележници

не

не


warning

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


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

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

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

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

Изчислява средното на стойностите от диапазона C2:C6, които са по-големи от 70 и отговарят на клетки от B2:B6 със стойности, по-големи или равни на 20. Връща 137,5, защото вторият и петият ред не удовлетворяват всички критерии.

Използване на регулярни изрази и вложени функции

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

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

=AVERAGEIFS(C2:C6;A2:A6;"леп.*";B2:B6;"<"&MAX(B2:B6))

Изчислява средното на стойностите от диапазона C2:C6, които съответстват на всички стойности от диапазона A2:A6, които започват с „леп“ и на всички стойности от диапазона B2:B6 освен максималната. Връща 65, защото само вторият ред удовлетворява всички критерии.

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

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

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

Ако E2 = "леп", функцията връща 65, защото връзката към клетката се замества със съдържанието ѝ.

Отваряне на файл с пример:

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