Turinys

# AVERAGEIF funkcija

Grąžina visų srities langelių reikšmių, tenkinančių duotą sąlygą, aritmetinį vidurkį. Funkcija AVERAGEIF susumuoja visus rezultatus, kurie tenkina loginę sąlygą, ir padalija iš jų skaičiaus.

Ši funkcija pasiekiama nuo „LibreOffice“ 4.0 versijos.

### Sintaksė

AVERAGEIF(sritis, kriterijus [; vidurkio sritis])

Sritis – būtinas argumentas. Masyvas, srities pavadinimas ar stulpelio arba eilutės, kurioje yra skaitinės reikšmės, žymė.

Criterion: A criterion is a single cell Reference, Number or Text. It is used in comparisons with cell contents.

A reference to an empty cell is interpreted as the numeric value 0.

A matching expression can be:

- A number or logical value. A matching cell content equals the number or logical value.

- A value beginning with a comparator (<, <=, =, >, >=, <>).

  For =, if the value is empty it matches empty cells.

  For <>, if the value is empty it matches non-empty cells.

  For <>, if the value is not empty it matches any cell content except the value, including empty cells.

  Note: "=0" does not match empty cells.

  For = and <>, if the value is not empty and can not be interpreted as a number type or one of its subtypes and the property Search criteria = and <> must apply to whole cells is checked, comparison is against the entire cell contents, if unchecked, comparison is against any subpart of the field that matches the criteria. For = and <>, if the value is not empty and can not be interpreted as a Number type or one of its subtypes applies.

- Other Text value. If the property Search criteria = and <> must apply to whole cells is true, the comparison is against the entire cell contents, if false, comparison is against any subpart of the field that matches the criteria. The expression can contain text, numbers, regular expressions or wildcards (if enabled in calculation options).

The search supports wildcards or regular expressions. With regular expressions enabled, you can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must either precede every regular expression metacharacter or operator with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in LibreOffice - Preferences Tools - Options - LibreOffice Calc - Calculate.

Naudojant funkcijas, kuriose vienas ar keli argumentai yra paieškos kriterijų eilutės, kurios reiškia įprastą reiškinį, pirmiausia bandoma eilutės kriterijus paversti skaičiais. Pavyzdžiui, „.0“ į 0,0 ir pan. Jei pasiseks, atitiktys bus ne reguliarieji reiškiniai, o skaitiniai. Tačiau pereinant prie lokalės, kur trupmenos skirtukas nėra taškas, reguliariųjų reiškinių konvertavimas veiks. Jei norite, kad būtų įvertinamas įprastas reiškinys, o ne skaitinis, naudokite tokį reiškinį, kurio negalima klaidingai perskaityti kaip skaitinį, pvz., „.0]“ arba „.\0“ arba „(?i).0“.

Vidurkio sritis – papildomas argumentas. Sritis, kurioje nurodomas apskaičiuotas rezultatas.

Jei vidurkio sritis nenurodyta, sritis naudojama ir vidurkio skaičiavimui, ir paieškai pagal nurodytą sąlygą. Jei vidurkio sritis nurodyta, tai sritis naudojama tik paieškai pagal sąlygą tol, kol vidurkio skaičiavimui naudojama vidurkio sritis.

Jei reikšmių srities langelis yra tuščias arba jame yra tekstas, tai funkcija AVERAGEIF jo nepaiso.
Jei visa sritis tuščia, joje yra tik tekstas arba reikšmės neatitinka sąlygų, tai funkcija grąžina klaidą #DIV/0!.

### Pavyzdžiai

Aptarsime pateiktą lentelę

| A | B | C
1 | Produkto pavadinimas | Sales | Revenue
2 | pieštukas | 20 | 65
3 | plunksna | 35 | 85
4 | užrašinė | 20 | 190
5 | knyga | 17 | 180
6 | pencil-case | not | not

Žemiau pateiktuose pavyzdžiuose skaičiavimo sritys apima #6 eilutę, kurios nepaisoma, nes joje yra tekstas.

#### Įprastas naudojimas

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

Apskaičiuoja srities B2:B6 reikšmių, mažesnių už 35, vidurkį. Grąžina 19, kadangi antroji eilutė neįtraukiama į skaičiavimą.

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

Apskaičiuoja tos pačios srities reikšmių, mažesnių už didžiausią srities reikšmę, vidurkį. Grąžina 19, nes didžiausia reikšmė (antroje eilutėje) neįtraukiama į skaičiavimą.

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

Apskaičiuoja tos pačios srities reikšmių, mažesnių už pirmą mažiausią srities reikšmę, vidurkį. Grąžina 25, nes pirma mažiausia reikšmė (ketvirtoje eilutėje) neįtraukiama į skaičiavimą.

#### Vidurkio srities naudojimas

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

Funkcija ieško reikšmių, mažesnių už 35, srityje B2:B6 ir apskaičiuoja atitinkamų srities C2:C6 reikšmių vidurkį. Grąžina 145, nes antroji eilutė neįtraukiama į skaičiavimą.

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

Funkcija ieško reikšmių srityje B2:B6, kurios yra didesnės už mažiausią srities B2:B6 reikšmę, ir apskaičiuoja atitinkamų srities C2:C6 reikšmių vidurkį. Grąžina 113,3, nes ketvirtoji eilutė (kur yra mažiausia srities B2:B6 reikšmė), neįtraukiama į skaičiavimą.

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

Funkcija ieško srityje B2:B6 reikšmių, kurios yra mažesnės už antrą didžiausią srities B2:B6 reikšmę, ir apskaičiuoja atitinkamų srities C2:C6 reikšmių vidurkį. Grąžina 180, nes ketvirtoji eilutė neįtraukiama į skaičiavimą.

#### Reguliariųjų reiškinių naudojimas

=AVERAGEIF(A2:A6;"rašiklis";B2:B6)

Funkcija ieško, kuriuose srities A2:A6 langeliuose yra žodis „rašiklis“, ir apskaičiuoja atitinkamų srities B2:B6 reikšmių vidurkį. Grąžina 35, nes antroji eilutė įtraukiama į skaičiavimus. Paieška vykdoma srityje A2:A6, bet skaičiavimui naudojamos srities B2:B6 reikšmės.

=AVERAGEIF(A2:A6;"raš.*";B2:B6)

Funkcija ieško, kuriuose srities A2:A6 langeliuose yra žodis „raš“ su bet kokia pabaiga ir apskaičiuoja atitinkamų srities B2:B6 reikšmių vidurkį. Grąžina 27,5, nes ir žodis „raštas“ tenkina sąlygą, todėl ir pirmoji ir antroji eilutės įtraukiamos į skaičiavimus.

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

Funkcija ieško srities A2:A6 langelių, kuriuose yra žodis „knyg“ su bet kokia pabaiga ir apaksičiuoja atitinkamų srities B1:B6 reikšmių vidurkį. Grąžina 18,5, nes tik trečia ir ketvirta eilutės įtraukiamos į skaičiavimą.

#### Nuoroda į langelį kaip kriterijus

Jei norite lengvai pakeisti kriterijų, tai geriau jį nurodyti atskirame langelyje ir naudoti jo nuorodą kaip sąlygą funkcijoje AVERAGEIF.

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

Funkcija ieško, kuriuose srities A2:A6 langeliuose yra E2 langelyje nurodytų ženklų kombinacija su bet kokia pradžia ir pabaiga, ir apskaičiuoja atitinkamų srities B2:B6 langelių reikšmių vidurkį. Jei E2 yra nurodyta visa knyga, tai funkcija grąžina 18,5.

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

Funkcija ieško, kurių srities B2:B6 langelių turinys yra mažesnis už nurodytą reikšmę langelyje E2, ir apskaičiuoja atitinkamų srities C2:C6 langelių reikšmių vidurkį. Jei E2 = 35, funkcija grąžina 45.

Ši funkcija yra raštinės paketo standarto 1.2 versijos atviro dokumento formato dalis (ISO/IEC 26300:2-2015)

Susijusios temos

AVERAGEIF wiki page.

AVERAGE, AVERAGEA, AVEDEV

COUNTIFS, MINIF, MAXIFS, AVERAGEIFS, SUMIFS

Reguliariųjų reiškinių sąrašas