Documentatie/Calc-functies/SOMMEN.ALS

From The Document Foundation Wiki
Jump to navigation Jump to search
This page is a translated version of the page Documentation/Calc Functions/SUMIFS and the translation is 100% complete.
Other languages:
English • ‎Nederlands • ‎dansk



Functienaam:

SOMMEN.ALS

Categorie:

Wiskundig

Samenvatting:

Berekent de som van een reeks getallen in een celbereik, waarbij de bij elkaar op te tellen cellen worden bepaald aan de hand van meerdere criteria. Het belangrijkste verschil tussen SOMMEN.ALS en Calc's SOM.ALS functie is dat de laatste beperkt is tot het evalueren van slechts één criterium.

De criteria die aan SOMMEN.ALS worden doorgegeven, kunnen gebruikmaken van jokertekens of reguliere expressies.

Syntaxis:

SOMMEN.ALS(Sombereik; Bereik 1; Criteria 1[; Bereik 2; Criteria 2[; … [; Bereik 127; Criteria 127]]])

Retourneert:

Retourneert een reëel getal dat het resultaat is van het optellen van de getallen in relevante cellen.

Argumenten:

Argument Sombereik

Sombereik specificeert de cellen die moeten worden opgeteld. Sombereik heeft meestal één van de volgende vormen:

  • Een verwijzing naar een celbereik (bijvoorbeeld A1:A25), die mogelijk geen gebruik maakt van de referentie-aaneenschakelingsoperator (~).
  • De naam van een benoemd bereik.
  • De naam van een databasebereik.

Argumenten Bereik

Bereik 1 specificeert de set cellen die moet worden vergeleken met Criteria 1 en neemt één van de vormen aan die worden vermeld voor Sombereik. Bereik 1 moet dezelfde afmetingen hebben als Sombereik.

Bereik 2, ..., Bereik 127 hebben dezelfde betekenis als Bereik 1.

Argumenten Criteria

Criteria 1 is het criterium voor het matchen met de cellen in Bereik 1 of een cel die dat criterium bevat. Criteria 1 kan één van de volgende vormen aannemen:

  • Een getal, zoals 34,5. Datums en logische waarden (WAAR of ONWAAR) worden behandeld als getallen.
  • Een uitdrukking, zoals 2/3, WORTEL($D$1) of DATUM(2021; 11; 1).
  • Een tekenreeks, zoals "golf" of "<>10".

SOMMEN.ALS zoekt naar cellen in Bereik 1 die gelijk zijn aan Criteria 1, tenzij Criteria 1 een tekenreeks is die begint met een comparator (>, <, > =, <=, = of <>). In het laatste geval vergelijkt SOMMEN.ALS de cellen in Bereik 1 met de rest van de tekstreeks (indien mogelijk geïnterpreteerd als een getal en anders als tekst). De voorwaarde ">4,5" test bijvoorbeeld of de inhoud van elke cel groter is dan het getal 4,5, de voorwaarde "<hond" test of de inhoud van elke cel alfabetisch voor de tekst "hond" komt en de voorwaarde "< >2021-11-01" test of de inhoud van elke cel niet gelijk is aan de opgegeven datum.

Criteria 1 ondersteunt het volgende specifieke gedrag:

  • De tekenreeks "=" komt overeen met lege cellen. De formule =SOMMEN.ALS(A1:A10; B1:B10; "=") retourneert bijvoorbeeld de som van alle waarden in het bereik A1:A10 als alle cellen in het bereik B1:B10 leeg zijn. Merk op dat "=0" niet overeenkomt met lege cellen.
  • De tekenreeks "<>" komt overeen met niet-lege cellen. De formule =SOMMEN.ALS(A1:A10; C1:C10; "<>") retourneert bijvoorbeeld de som van alle waarden in het bereik A1:A10 als er geen lege cellen in het bereik C1 zijn: C10.
  • Als de waarde na de <> comparator niet leeg is, komt Criteria 1 overeen met elke celinhoud behalve die waarde, inclusief lege cellen.

Criteria 2, ..., Criteria 127 hebben dezelfde betekenis als Criteria 1.

Foutcondities

  • Als een celbereik dat als argument wordt doorgegeven een verwijzingsaaneenschakelingsoperator (~) bevat, retourneert SOMMEN.ALS als fout Ongeldig argument (Fout:502).
  • Alle celbereiken die als argumenten worden doorgegeven (Sombereik en Bereik 1, ..., Bereik 127) moeten hetzelfde aantal rijen en hetzelfde aantal kolommen bezetten . Als dit niet het geval is, retourneert SOMMEN.ALS als fout Ongeldig argument (Fout:502).
  • Als de argumenten Bereik n en Criteria n niet correct zijn gekoppeld, retourneert SOMMEN.ALS als fout Ontbrekende variabele (Fout:511).

Aanvullende details:

Details specifiek voor de functie SOMMEN.ALS

  • De standaardovereenkomst die door SOMMEN.ALS wordt uitgevoerd, is niet hoofdlettergevoelig. Een hoofdlettergevoelige overeenkomst kan echter worden uitgevoerd bij gebruik van een reguliere expressie door een modusmodifier "(?-i)" op te nemen in de reguliere expressie, zoals blijkt uit één van de onderstaande voorbeelden.
  • Het gedrag van SOMMEN.ALS wordt beïnvloed door verschillende instellingen die beschikbaar zijn in het dialoogvenster Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen (LibreOffice ▸ Preferences ▸ LibreOffice Calc ▸ Calculate op macOS).
  1. Als het selectievakje is aangevinkt voor Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn, dan komt de voorwaarde "rood" alleen overeen met "rood"; indien niet aangevinkt, komt het overeen met "rood", "brood", "rood bruin".
  2. Als het selectievakje is aangevinkt voor Jokertekens in formules inschakelen, komt de voorwaarde overeen met behulp van jokertekens - dus bijvoorbeeld "b?g" komt overeen met "bag", "beg", "big", "bog ", en "bug".
  3. Als het selectievakje is aangevinkt voor Reguliere expressies in formules toestaan, komt de voorwaarde overeen met het gebruik van reguliere expressies - dus bijvoorbeeld "rd" komt overeen met "red", "rid" en "rod", terwijl "red.*" komt overeen met "red", "redden" en "redevoering".
  4. De instelling van het selectievakje Hoofdlettergevoelig heeft geen invloed op de werking van SOMMEN.ALS.



Calc wildcards
Jokerteken Beschrijving
? (vraagteken) Komt overeen met elk afzonderlijk teken. De zoekreeks 'b?g' komt bijvoorbeeld overeen met 'bag' en 'beg', maar niet met 'boog' of 'mug'.

Houd er rekening mee dat deze ook niet overeenkomt met 'bg' , sinds "?" moet exact overeenkomen met één karakter. Het "?" jokerteken komt niet overeen met een nul-tekenovereenkomst.
* (sterretje) Komt overeen met elke reeks tekens, inclusief een lege tekenreeks. De zoekreeks "*cast" komt bijvoorbeeld overeen met "cast", "forecast" en "outcast", maar komt niet overeen met "forecaster" met de standaardinstellingen van Calc.

Als de optie 'Zoekcriteria = en <> moeten op hele cellen toepasbaar zijn' is uitgeschakeld in Extra > Opties > LibreOffice Calc > Berekenen, dan zal 'forecaster' een overeenkomst zijn met de zoekreeks '*cast'.
~ (tilde) Ontvangt de speciale betekenis van een vraagteken, asterisk of tilde-teken dat direct volgt op het tilde-teken.

Bijvoorbeeld de zoekreeks "why~?" komt overeen met "why?" maar komt niet overeen met "whys" of "why~s".


Voorbeelden:

Verkoopvoorbeelden briefpapier

Bekijk de volgende tabel met verkoop- en omzetinformatie voor een kleine leverancier van kantoorbenodigdheden. De string "N/B" verwijst naar producten die niet beschikbaar waren voor levering tijdens de periode waarop de gegevens betrekking hebben.

A B C
1 Product Verkopen Omzet
2 Penhouder 20 $65
3 Pen 35 $85
4 Kladblok 20 $190
5 Boek 17 $180
6 Penetui N/B N/B

In alle voorbeelden op basis van deze tabel moet worden opgemerkt dat rij 6 voor etuis geen numerieke gegevens bevat en dus nooit zal bijdragen aan het resultaat van SOMMEN.ALS, ongeacht de criteria die zijn gespecificeerd

Formule Beschrijving Retourneert
=SOMMEN.ALS(B2:B6; B2:B6; ">=20") Hier telt de functie de numerieke Verkoop-gegevens op die groter zijn dan of gelijk zijn aan 20. 75
=SOMMEN.ALS(C2:C6; B2:B6; ">=20"; C2:C6; ">70") Hier lokaliseert de functie items groter dan of gelijk aan 20 in de Verkoop-gegevens die ook een waarde hebben groter dan $ 70 in de Omzet-gegevens, en telt de corresponderende numerieke items in de Omzet-gegevens op . $275
=SOMMEN.ALS(C2:C6; B2:B6; ">"&MIN(B2:B6); B2:B6; "<"&MAX(B2:B6)) Hier berekent de functie de som van de numerieke invoer in de Omzet-gegevens die overeenkomen met alle waarden in de Verkoop-gegevens behalve het minimum en maximum. $255
=SOMMEN.ALS(C2:C6; A2:A6; "pen.*"; B2:B6; "<"&MAX(B2:B6)) Dit voorbeeld werkt alleen zoals hier beschreven als reguliere expressies zijn ingeschakeld. Hier lokaliseert de functie items in de Product-gegevens die beginnen met de tekens "pen" en hebben een waarde in de Verkoop-gegevens die niet het maximum is, en sommeert de corresponderende numerieke items in de Omzet- gegevens. $65
=SOMMEN.ALS(C2:C6; A2:A6; E2&".*"; B2:B6; "<"&MAX(B2:B6)) waarbij cel E2 de tekenreeks "pen" bevat (ingevoerd zonder dubbele aanhalingstekens te typen). Dit voorbeeld werkt alleen zoals hier beschreven als reguliere expressies zijn ingeschakeld. Als u een criterium gemakkelijk moet wijzigen, kunt u het in een aparte cel specificeren en een verwijzing naar deze cel gebruiken in de voorwaarde van de SOMMEN.ALS-functie. Hier wordt de link naar de cel vervangen door de inhoud ervan, wat hetzelfde resultaat oplevert als in het vorige voorbeeld. $65

Verkoopvoorbeelden sportuitrusting

De voorbeelden in deze subsectie zijn gebaseerd op een kleine database met verkoopgegevens voor sportuitrusting, met de gegevens gerangschikt zoals in de volgende tabel.

A B C D E
1 Datum Verkoopwaarde Categorie Regio Werknemer
2 2021-10-02 $1,508 Golf Oost Hans
3 2021-10-02 $410 Tennis Noord Kurt
4 2021-10-02 $2,340 Zeilen Zuid Ute
5 2021-10-03 $4,872 Tennis Oost Brigitte
6 2021-10-06 $3,821 Tennis Zuid Fritz
7 2021-10-06 $2,623 Tennis Oost Fritz
8 2021-10-07 $3,739 Golf Zuid Fritz
9 2021-10-08 $4,195 Golf West Ute
10 2021-10-10 $2,023 Golf Oost Hans
Formule Beschrijving Retourneert
=SOMMEN.ALS(B2:B10; B2:B10; ">=4000") Hier telt de functie de numerieke invoer op in de Verkoopwaarde-gegevens die groter zijn dan of gelijk zijn aan $ 4.000. Deze formule is gelijk aan zowel =SOM.ALS(B2:B10; ">=4000") als =SOM.ALS(B2:B10; ">=4000"; B2:B10). $9,067
=SOMMEN.ALS(B2:B10; E2:E10; "ute") Hier lokaliseert de functie de invoer voor Ute in de Werknemer-gegevens en sommeert de corresponderende numerieke invoeren in de Verkoopwaarde-gegevens. Deze formule is gelijk aan =SOM.ALS(E2:E10; "ute"; B2:B10) en deze herschikking van de argumenten benadrukt een belangrijk verschil tussen de twee functies - Sombereik is het derde argument voor SOM.ALS en het eerste argument voor SOMMEN.ALS. $6,535
=SOMMEN.ALS(CategorieGegevens; "golf"; B2:B10) waarbij het genoemde bereik CategorieGegevens is gemaakt om het celbereik C2:C10 te dekken. Hier lokaliseert de functie de gegevens voor Golf in het gegeven Categorie en telt de corresponderende numerieke invoer in de gegevens Verkoopwaarde op. $11,465
=SOMMEN.ALS(B2:B10; D2:D10; F1; E2:E10; F2) waarbij de cellen F1 en F2 respectievelijk de tekstreeksen ">=zuid" en "ute" bevatten (beide ingevoerd zonder dubbele aanhalingstekens te typen). Hier lokaliseert de functie de invoer voor Zuid en West in de Regio-gegevens die ook Ute in de Werknemer-gegevens hebben, en telt de corresponderende numerieke invoer in de Verkoopwaarde-gegevens op. $6,535
=SOMMEN.ALS(B2:B10; A2:A10; DATUM(2021; 10; 2); C2:C10; "tennis") Hier zoekt de functie de items voor 2021-10-02 in de Datum-kolom die ook Tennis in de Categorie-gegevens hebben en telt de corresponderende numerieke invoer in de Verkoopwaarde-gegevens op. $410
=SOMMEN.ALS(B2:B10; A2:A10; ">="&DATUM(2021; 10; 6); E2:E10; "<>"&E8) Hier lokaliseert de functie de items die zijn gedateerd op of na 2021-10-06 in de Datum-kolom die geen Fritz hebben in de Werknemer-gegevens en teltde corresponderende numerieke items in de Verkoopwaarde gegevens op. $6,218
=SOMMEN.ALS(B2:B10; C2:C10; "tennis"; D2:D10; "oost"; E2:E10; "fritz") Hier lokaliseert de functie de items met Tennis in de Categorie-gegevens, Oost in de Regio-gegevens en Fritz in de Werknemer-gegevens. Het telt de corresponderende numerieke invoer op in de Verkoopwaarde-gegevens. $2,623
=SOMMEN.ALS(B2:B10; D2:D10; "????"; E2:E10; "*e") Dit voorbeeld werkt alleen zoals hier beschreven als jokertekens zijn ingeschakeld. Hier lokaliseert de functie de items van vier tekens in de Regio-gegevens (Oost en West) die ook een vermelding hebben in de Werknemer-gegevens die eindigen op de letter "e" of "E" (Brigitte en Ute). Het somt de corresponderende numerieke invoer op in de Verkoopwaarde-gegevens. $9,067
=SOMMEN.ALS(B2:B10; C2:C10; "^t.*"; D2:D10; ".*d") Dit voorbeeld werkt alleen zoals hier beschreven als reguliere expressies zijn ingeschakeld. Hier zoekt de functie de items voor Tennis in de Categorie-gegevens die beginnen met de letter "t" of "T" (Tennis) die ook een vermelding hebben in de Regio-gegevens die eindigen met de letter " d" of "D" (Noord en Zuid). Het telt de corresponderende numerieke invoer op in de Verkoopwaarde-gegevens. $4,231
=SOMMEN.ALS(B2:B10; E2:E10; "(?-i)ute") Dit voorbeeld werkt alleen zoals hier beschreven als reguliere expressies zijn ingeschakeld. De modusmodifier "(?-i)" binnen de reguliere expressie verandert in een hoofdlettergevoelige overeenkomst en er worden dus geen vermeldingen gevonden in de Werknemer-gegevens. Vergelijk dit met het tweede voorbeeld in deze tabel. $0

Extra voorbeelden

Download en bekijk dit Calc-werkblad voor meer voorbeelden.

Gerelateerde LibreOffice-functies:

GEMIDDELDEN.ALS

AANTALLEN.ALS

SOM.ALS

ODF standaard:

Section 6.16.63, part 2

Gelijkwaardige Excel-functies:

SOMMEN.ALS