Documentatie/Calc-functies/SOMMEN.ALS

    From The Document Foundation Wiki
    This page is a translated version of the page Documentation/Calc Functions/SUMIFS and the translation is 100% complete.
    Other languages:


    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.


    Algemene informatie over de reguliere expressies van Calc

    Note pin.svg

    NB:
    Voor het gemak wordt de informatie in dit subgedeelte herhaald op alle pagina's die functies beschrijven die reguliere expressies beschrijven.

    • Een reguliere expressie is een reeks tekens die een tekstpatroon definieert dat moet worden vergeleken. Meer gedetailleerde, algemene achtergrondinformatie is te vinden op Wikipedia's Reguliere expressies pagina.
    • Reguliere expressies worden veel gebruikt in veel domeinen en er zijn meerdere reguliere expressieprocessors beschikbaar. Calc gebruikt het open source Regular Expressions-pakket van de International Components for Unicode (ICU), zie hun Regular Expressions documentatie voor meer details, inclusief een volledige definitie van de syntaxis voor ICU Reguliere Expressies.
    • Bovendien biedt het LibreOffice Help-systeem een lijst met reguliere expressies op hoog niveau.
    • De reguliere expressie-engine van Calc ondersteunt genummerde capturegroepen, waarmee subbereiken binnen een overeenkomst kunnen worden geïdentificeerd en gebruikt in vervangende tekst. Haakjes worden gebruikt om componenten van een reguliere expressie te groeperen en een genummerde capture-groep te maken. Om een capture-groep in een vervangende tekst in te voegen, gebruikt u het formulier "$n", waarbij n het nummer van de capture-groep is.


    Algemene informatie over de jokertekens van Calc

    Jokertekens zijn speciale tekens die kunnen worden gebruikt in zoekreeksen die als argumenten aan sommige Calc-functies worden doorgegeven; ze kunnen ook worden gebruikt om zoekcriteria te definiëren in het dialoogvenster Zoeken en vervangen. Het gebruik van jokertekens maakt het mogelijk om meer geavanceerde zoekparameters te definiëren met een enkele zoekreeks.

    Calc ondersteunt ofwel jokertekens of reguliere expressies als argumenten, afhankelijk van de huidige toepassingsinstellingen. Standaard worden jokertekens ondersteund in plaats van reguliere expressies.

    Om er zeker van te zijn dat jokertekens worden ondersteund, gaat u naar Extra ▸ Opties ▸ LibreOffice Calc ▸ Berekenen en controleert u of de optie Jokertekens in formules inschakelen is geselecteerd. Merk op dat u dit dialoogvenster kunt gebruiken om over te schakelen naar reguliere expressies door Reguliere expressies in formules inschakelen te kiezen of ervoor te kiezen om geen jokertekens of reguliere expressies te ondersteunen.

    De volgende tabel identificeert de jokertekens die Calc ondersteunt.

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

    Houd er rekening mee dat deze ook niet overeenkomt met "bg", sinds "?" moet exact overeenkomen met één karakter. De "?" 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 van toepassing zijn op hele cellen 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".

    Vergelijkingen met jokertekens zijn niet hoofdlettergevoelig, vandaar komt "A?" overeen met zowel "A1" als "a1".

    Deze jokertekens worden ondersteund in zowel Calc als Microsoft Excel. Kies daarom, als interoperabiliteit tussen de twee toepassingen nodig is, om met jokertekens te werken in plaats van reguliere expressies. Omgekeerd, als interoperabiliteit niet nodig is, overweeg dan om reguliere expressies te gebruiken voor krachtigere zoekmogelijkheden.

    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 functie SOMMEN.ALS. 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 SOMMEN.ALS 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; "east"; 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; ".*h") 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

    Gerelateerde (of gelijkwaardige) Excel-functies:

    SUMIFS