SOMMEN.ALS
De functie SOMMEN.ALS retourneert de som van de cellen in een verzameling als de toetswaarden voldoen aan de opgegeven voorwaarden.
SOMMEN.ALS(somwaarden; toetswaarden; voorwaarde; toetswaarden…; voorwaarde…)
somwaarden: Een verzameling met de waarden waarvan de som moet worden berekend. somwaarden kan uit getalswaarden, datum-tijdwaarden of duurwaarden bestaan.
toetswaarden: Een verzameling met waarden die moeten worden getoetst. toetswaarden kan uit een willekeurige waarde bestaan.
voorwaarde: Een uitdrukking die waarden vergelijkt of test en die resulteert in de booleaanse waarde WAAR of ONWAAR. voorwaarde kan vergelijkingsoperatoren, constanten, de samenvoegingsoperator "&", verwijzingen en jokers bevatten. Je kunt jokers gebruiken om een of meer tekens in de uitdrukking te zoeken. Je kunt een ? (vraagteken) gebruiken om één teken te representeren, een * (asterisk) om meerdere tekens te representeren en het teken ~ (tilde) om aan te geven dat het daaropvolgende teken moet worden gezocht en niet als joker moet worden beschouwd. voorwaarde kan ook een REGEX-functie in plaats van jokers bevatten.
toetswaarden…: Optioneel kunnen een of meer extra verzamelingen met te toetsen waarden worden toegevoegd. Elke verzameling toetswaarden moet direct worden gevolgd door een uitdrukking met een voorwaarde. Dit patroon van toetswaarden; voorwaarde kan zo vaak als nodig is worden herhaald.
voorwaarde…: voorwaarde… is een extra uitdrukking die volgt op een optionele verzameling toetswaarden en resulteert in de booleaanse waarde WAAR of ONWAAR. Omdat elke verzameling toetswaarden moet worden gevolgd door één voorwaarde, heeft deze functie altijd een oneven aantal argumenten.
Opmerkingen
Voor alle combinaties van toetswaarden en voorwaarden wordt de overeenkomende cel of waarde (met dezelfde positie binnen de verzameling) getoetst aan de voorwaarde. Als aan alle voorwaarden wordt voldaan, wordt de overeenkomende cel of waarde in somwaarden opgenomen in de som.
Alle verzamelingen moeten dezelfde grootte hebben.
Voorbeelden |
---|
Gegeven wordt de onderstaande tabel: |
A | B | C | |
---|---|---|---|
1 | Ton | Classificatie | Datum |
2 | 6 | 1 | 10-12-2012 |
3 | 15 | 2 | 10-12-2012 |
4 | 5 | 1 | 13-12-2012 |
5 | 7 | 2 | 13-12-2012 |
6 | 8 | 2 | 14-12-2012 |
7 | 6 | 1 | 15-12-2012 |
8 | 7 | 2 | 15-12-2012 |
9 | 4 | 2 | 16-12-2012 |
10 | 7 | 1 | 16-12-2012 |
11 | 8 | 2 | 16-12-2012 |
12 | 5 | 1 | 17-12-2012 |
13 | 11 | 2 | 20-12-2012 |
=SOMMEN.ALS(A2:A13; B2:B13; "=1"; C2:C13; ">=13-12-2012"; C2:C13; "<=17-12-2012") retourneert 23, het aantal ton van het artikel dat in de week van 17 december is geleverd en dat is geclassificeerd met een "1". De verzameling A2:A13 bevat het aantal ton, oftewel de waarden waarvan de som moet worden berekend (somwaarden). De verzameling B2:B13 (toetswaarden) bevat de eerste waarde waarop moet worden getoetst, voor de classificatie 1 (voorwaarde). De verzameling C2:C13 (toetswaarden…) bevat de tweede waarde waarop moet worden getoetst om een overeenkomst te vinden voor een begindatum (voorwaarde…). Ditzelfde bereik bevat ook de derde waarde waarop moet worden getoetst, namelijk de einddatum. De rijen 4 (5 ton), 7 (6 ton), 10 (7 ton) en 12 (5 ton) voldoen aan alle voorwaarden en de som daarvan is 23 ton. Je kunt ook ≥ en ≤ als operator gebruiken. =SOMMEN.ALS(A2:A13; B2:B13; "=2"; C2:C13; ">=13-12-2012"; C2:C13; "<=17-12-2012") retourneert 34, het aantal ton van het artikel dat in dezelfde week is geleverd, maar de classificatie "2" heeft gekregen. Je kunt ook ≥ en ≤ als operator gebruiken. =SOMMEN.ALS(A2:A13; B2:B13; "<>2"; C2:C13; ">=10-12-2012"; C2:C13; "<=20-12-2012") retourneert 29, het aantal ton van het artikel dat in een willekeurige week is geleverd en niet de classificatie "2" heeft gekregen. Je kunt ook ≠, ≥ en ≤ als operator gebruiken. |
Voorbeeld met REGEX |
---|
Gegeven wordt de onderstaande tabel: |
A | B | |
---|---|---|
1 | 45 | marina@example.com |
2 | 41 | Aaron |
3 | 29 | michael@example.com |
4 | 64 | jake@example.com |
5 | 12 | Sarah |
=SOMMEN.ALS(A1:A5; B1:B5;REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})";); A1:A5; ">10") retourneert 138, de som van de cellen in A1:A5 die groter zijn dan 10 en waarbij de overeenkomende cel in B1:B5 een e-mailadres bevat. |