Функция AVERAGEIFS
Намира средното аритметично на всички клетки в даден диапазон, които удовлетворяват даден набор от условия. Функцията AVERAGEIFS събира всички резултати, които преминат логическите проверки, и дели сумата на броя избрани стойности.
Тази функция е налична от LibreOffice 4.0.
AVERAGEIFS(Функ_диапазон; Диапазон1; Критерий[; Диапазон2; Критерий2][; … ; [Диапазон127; Критерий127]])
Функ_диапазон – задължителен аргумент. Диапазон от клетки, име на наименуван диапазон или заглавие на ред или колона, съдържаща числата за усредняване.
Диапазон1 – задължителен аргумент. Диапазон от клетки, име на наименуван диапазон или заглавие на ред или колона, върху която да се приложи съответният критерий.
Критерий: критерият представлява число, текст или обръщение към единична клетка. Той се използва за сравняване на съдържанието на клетки.
Обръщение към празна клетка се интерпретира като числовата стойност 0.
Съответстващ израз може да бъде:
-
Числова или логическа стойност. Съдържанието на съответстваща клетка е равно на числовата или логическа стойност.
-
Стойност, започваща с операция за сравняване (<, <=, =, >, >=, <>).
За =, ако стойността е празна, тя съответства на празни клетки.
За <>, ако стойността е празна, тя съответства на непразни клетки.
За <>, ако стойността не е празна, тя съответства на произволно съдържание на клетка, различно от тази стойност, включително празни клетки.
Бележка: "=0" не съответства на празни клетки.
За = и <>, ако стойността не е празна и не може да се интерпретира като числов тип или някой от подтиповете му, а свойството Критериите за търсене = и <> се отнасят за цели клетки е активно, сравнението се извършва спрямо цялото съдържание на клетката, а ако не е активно, сравнението е спрямо произволна част от полето, която съответства на критерия.
-
Друга текстова стойност. Ако настройката Критериите за търсене = и <> се отнасят за цели клетки е включена, сравнението се извършва спрямо цялото съдържание на клетката, а ако е изключена – спрямо произволна част от полето, която съответства на критериите. Изразът може да съдържа текст, числа, регулярни изрази или заместващи знаци (ако са разрешени в настройките за изчисляване).
Диапазон2 – незадължителен. „Диапазон2“ и всички следващи имат значение, аналогично на „Диапазон1“.
Критерий2 – незадължителен. „Критерий2“ и всички следващи имат значение, аналогично на „Критерий“.
Търсенето поддържа заместващи знаци или регулярни изрази. Ако са разрешени регулярните изрази, можете да въведете например „всички.*“, за да намерите първото срещане на „всички“, последвано от произволни знаци. Ако искате да търсите текст, който сам представлява регулярен израз, трябва или да поставите наклонена черта „\“ пред всеки метазнак или операция на регулярния израз, или да оградите текста с \Q...\E. Можете да превключвате автоматичното изчисляване на заместващи знаци или регулярни изрази в .
Когато се използват функции, в които един или няколко аргумента са низове с критерии за търсене – регулярни изрази, първо се прави опит низовете с критерии да се преобразуват в числа. Например ".0" ще се преобразува в 0.0 и т.н. При успех няма да се използва сравняване по регулярен израз, а сравняване на числа. Ако обаче се превключи към локал, в който десетичният разделител не е точка, ще сработи преобразуването към регулярен израз. За да наложите изчисляване на регулярен израз вместо числов, използвайте израз, който не може да бъде изтълкуван като число, например ".[0]", ".\0" или "(?i).0".
Функ_диапазон и Диапазон1, Диапазон2... трябва да имат еднакъв размер, иначе функцията ще върне err:502 - невалиден аргумент.
Логическата връзка между критериите може да се дефинира като логическо И (конюнкция). С други думи, стойността на съответната клетка от Функ_диапазон се включва в изчислението тогава и само тогава, когато са изпълнени всички зададени критерии.
Функцията може да има до 255 аргумента, което означава, че можете да зададете 127 диапазона и критерии за тях.
Стойност TRUE в клетка се третира като 1, а FALSE – като 0 (нула).
Да разгледаме следната таблица:
|
A
|
B
|
C
|
1
|
Име на продукт
|
Sales
|
Revenue
|
2
|
кошче
|
20
|
65
|
3
|
кош
|
35
|
85
|
4
|
пиромолив
|
20
|
190
|
5
|
молив
|
17
|
180
|
6
|
кошница
|
не
|
не
|
Във всички примери по-долу диапазонът за изчисляване съдържа ред №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, защото връзката към клетката се замества със съдържанието ѝ.
Отваряне на файл с пример:
Тази функция е от стандарта Open Document Format for Office Applications (OpenDocument) версия 1.2. (ISO/IEC 26300:2-2015)