AVERAGEIFS
Vrne aritmetično sredino vseh celic v obsegu, ki ustrezajo podanim pogojem. Funkcija AVERAGEIFS sešteje vse rezultate, ki se ujemajo z logičnimi preizkusi, in deli to vsoto s številom izbranih vrednosti.
Ta funkcija je na voljo od Collabora Office 4.0.
AVERAGEIFS(Obseg_funkcije; Obseg1; Pogoj[; Obseg2; Pogoj2][; ...; [Obseg127; Pogoj127]])
Obseg_funkcije – obvezen argument. Gre za obseg celic, ime imenovanega obsega ali oznako stolpca ali vrstice, ki vsebuje vrednosti za izračun povprečja.
Obseg1 – obvezen argument. Gre za obseg celic, ime imenovanega obsega ali oznako stolpca oz. vrstice, kjer bo uveljavljen ustrezni pogoj.
Pogoj: pogoj je sklic na posamezno celico, število ali besedilo. Uporablja se za primerjavo z vsebino celic.
Sklic na prazno celico je tolmačen kot številska vrednost 0.
Ujemajoči izraz je lahko:
-
Številska ali logična vrednost. Ujemajoča vsebina celice je enaka tej številski ali logični vrednosti.
-
Vrednost, ki se začenja s primerjalnim operatorjem (<, <=, =, >, >=, <>).
Pri = so, če je vrednost prazna, zadetki prazne celice.
Pri <> so, če je vrednost prazna, zadetki celice, ki niso prazne.
Pri <> so, če vrednost ni prazna, zadetki vse celice s poljubno vsebino razen navedene vrednosti, vključno s praznimi celicami.
Opomba: "=0" se ne ujema s praznimi celicami.
Pri operatorjih = in <>, če vrednost ni prazna, je ni mogoče tolmačiti kot število ali eno od njegovih podvrst ter je potrjena lastnost Iskalna pogoja = in <> morata veljati za celotne celice, poteka primerjava s celotno vsebino celice; če lastnost ni potrjena, pa primerjava poteka s poljubnim delom polja, ki ustreza pogoju.
-
Druga besedilna vrednost. Če je lastnost Iskalna pogoja = in <> morata veljati za celotne celice potrjena (true), poteka primerjava s celotno vsebino celice; če je false, primerjava poteka s poljubnim delom polja, ki se ujema s pogojem. Izraz lahko vsebuje besedilo, števila, regularne izraze (če so omogočeni v nastavitvah računanja) ali nadomestne znake (če so omogočeni v nastavitvah računanja).
Obseg2 – neobvezen argument. Obseg2 in vsi naslednji imajo isti pomen kot Obseg1.
Pogoj2 – Neobvezno. Pogoj2 in vsi naslednji imajo isti pomen kot Pogoj.
Iskanje podpira regularne izraze. Če so ti omogočeni, lahko vnesete npr. »vse.*«, da najdete prvo mesto, kjer se nahaja »vse«, in kateremu sledi karkoli. Če želite iskati besedilo, ki je tudi regularen izraz, morate pred vsak meta-znak regularnega izraza ali operator vnesi znak »\« ali pa besedilo zaobjeti v \Q...\E. Samodejno vrednotenje nadomestnih znakov ali regularnega izraza lahko vklopite in izklopite v .
Če uporabljate funkcije, v katerih je vsaj eden argument iskalni pogoj, ki predstavlja regularni izraz, se bo niz pogojev najprej poskusil pretvoriti v števila. Primer: ».0« se pretvori v 0.0 itn. Če pretvorba uspe, iskanje ne bo vrnilo regularnega izraza, temveč število. Če preklopite na slovenske krajevne nastavitve, kjer decimalno ločilo ni pika, temveč vejica, pa pretvorba regularnega izraza deluje. Če želite vsiliti iskanje regularnega izraza namesto števila, uporabite izraz, ki ga ni mogoče pretvoriti v numeričnega, npr. ».[0]«, ».\0« ali »(?i).0«.
Obseg_funkcije in Obseg1, Obseg2, ... morajo biti enake velikosti, sicer funkcija vrne nap:502 – Neveljaven argument.
Logična relacija med pogojema lahko določimo kot logični IN oz. AND (konjunkcijo). Z drugimi besedami: če in samo če so izpolnjeni vsi dani pogoji, se vrednost ustrezne celice danega obsega_funkcije uporabi v izračunu.
Funkcija ima lahko do 255 argumentov, kar pomeni, da lahko določite 127 pogojev in njihovih obsegov.
Če celica vsebuje TRUE, je obravnavana kot 1, če vsebuje FALSE pa kot 0 (nič).
Ta funkcija je del standarda Open Document Format for Office Applications (OpenDocument) različice 1.2 (ISO/IEC 26300:2-2015).
Oglejte si naslednjo tabelo
|
A
|
B
|
C
|
1
|
Ime izdelka
|
Prodaja
|
Prihodek
|
2
|
sirotka
|
20
|
65
|
3
|
sir
|
35
|
85
|
4
|
sladoled
|
20
|
190
|
5
|
led
|
17
|
180
|
6
|
sirotka-kozja
|
ni
|
ni
|
V vseh spodnjih primerih vsebujejo obsegi za izračun vrstico številka 6, vendar je prezrta, ker vsebuje besedilo.
Enostavna raba
=AVERAGEIFS(B2:B6;B2:B6;">=20")
Izračuna srednjo vrednost vseh vrednosti iz obsega B2:B6, ki so večje ali enake 20. Vrne 25, saj peta vrstica ne ustreza pogoju.
=AVERAGEIFS(C2:C6;B2:B6:">=20";C2:C6;">70")
Izračuna povprečje za vrednosti iz obsega C2:C6, ki so večje od 70, in ustrezajo celicam v B2:B6, ki imajo vrednosti večje ali enake 20. Vrne 137,5, saj druga in peta vrstica ne ustrezata niti enemu pogoju.
Uporaba regularnih izrazov in gnezdenih funkcij
=AVERAGEIFS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))
Izračuna povprečje za vrednosti v obsegu C2:C6, ki ustrezajo vsem vrednostim iz obsega B2:B6, razen največji in najmanjši vrednosti v njem. Vrne 127,5, ker tretja in peta vrstica ne ustrezata niti enemu pogoju.
=AVERAGEIFS(C2:C6;A2:A6;"sir.*";B2:B6;"<"&MAX(B2:B6))
Izračuna povprečje za vrednosti iz obsega C2:C6, ki ustrezajo vsem celicam obsega A2:A6, ki se začnejo s »sir«, in vsem celicam iz obsega B2:B6, razen tistim z največjo vrednostjo. Vrne 65, ker le druga vrstica ustreza vsem pogojem.
Sklic na celico kot pogoj
Če želite enostavno spremeniti pogoj, ga lahko navedete v posebni celici in uporabite sklic na to celico v pogoju funkcije AVERAGEIFS. Zgornjo funkcijo lahko tako zapišete na naslednji način:
=AVERAGEIFS(C2:C6;A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6))
Če je E2 = sir, funkcija vrne 65, saj se povezava na celico zamenja z njeno vsebino.
Odprite datoteko s primerom: