SUMIFS
Vrne vsoto vrednosti celic v obsegu, ki ustreza več pogojem v več obsegih.
Ta funkcija je na voljo od LibreOffice 4.0.
SUMIFS(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 vsote.
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čne 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. Kajti = in <> veljata, če vrednost ni prazna in je ni možno tolmačiti kot vrsto števila ali ene njenih podvrst.
-
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 področne 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
|
Sales
|
Revenue
|
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
=SUMIFS(B2:B6;B2:B6;">=20")
Izračuna vsoto vrednosti v obsegu B2:B6, ki so večje ali enake 20. Vrne 75, saj peta vrstica ne ustreza pogoju.
=SUMIFS(C2:C6;B2:B6;">=20";C2:C6;">70")
Izračuna vsoto vrednosti v obsegu C2:C6, ki so večje od 70 in ustrezajo celicam v obsegu B2:B6, z vrednostmi, ki so večje od ali enake 20. Vrne 275, saj druga in peta vrstica ne ustrezata najmanj enemu pogoju.
Uporaba regularnih izrazov in gnezdenih funkcij
=SUMIFS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))
Izračuna vsoto vrednosti v obsegu C2:C6, ki ustrezajo vsem vrednostim v celicah obsega B2:B6, razen najmanjši in največji vrednosti. Vrne 255, saj tretja in peta vrstica ne ustrezata najmanj enemu pogoju.
=SUMIFS(C2:C6;A2:A6;"sir.*";B2:B6;"<"&MAX(B2:B6))
Izračuna vsoto vrednosti v obsegu C2:C6, ki ustrezajo vsem vrednostim v celicah obsega A2:A6, ki se začnejo s »sir«, in vsem celicam v obsegu B2:B6, razen tisti z največjo vrednostjo. Vrne 65, saj 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 SUMIFS. Zgornjo funkcijo lahko tako zapišete na naslednji način:
=SUMIFS(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: