Combinatie
Omzet per maand voor twaalf maanden in één formule
Totaal omzet voor elk van twaalf maanden met één SOMMEN.ALS: REEKS telt de maanden, ZELFDE.DAG maakt van elk getal de eerste dag van een maand, en die datums vormen de criteria.
Gebruikte functies:SOMMEN.ALSZELFDE.DAGREEKSExcel 2021 of nieuwer (Deze combinatie vereist Excel 2021 of nieuwer)
Uitgewerkt voorbeeld
Omzet per maand voor de cijferanalyse
Situatie
Voor de cijferanalyse van Veldhuis Installatie BV heb je acht omzetboekingen op rekening 8000 uit de XAF-auditfile over 2025. Je wilt de omzet van elk van de twaalf maanden in één kolom zien, om te vergelijken met de begroting en maanden zonder omzet op te merken, zonder twaalf keer SOMMEN.ALS te schrijven.
De gegevens
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Datum | Boekstuk | Omzet | Eerste maand | 01-01-2025 | ||
| 2 | 15-01-2025 | 25-0101 | €12,500.00€ 12.500,00 | Omzet per maand | €20,900.00€ 20.900,00=SOMMEN.ALS(C2:C9, A2:A9, ">="&ZELFDE.DAG(F1, REEKS(12, 1, 0)), A2:A9, "<"&ZELFDE.DAG(F1, REEKS(12, 1, 1)))=SOMMEN.ALS(C2:C9; A2:A9; ">="&ZELFDE.DAG(F1; REEKS(12; 1; 0)); A2:A9; "<"&ZELFDE.DAG(F1; REEKS(12; 1; 1))) | ||
| 3 | 28-01-2025 | 25-0118 | €8,400.00€ 8.400,00 | €15,200.00€ 15.200,00 | |||
| 4 | 10-02-2025 | 25-0204 | €15,200.00€ 15.200,00 | €0.00€ 0,00 | |||
| 5 | 03-04-2025 | 25-0407 | €9,800.00€ 9.800,00 | €16,100.00€ 16.100,00 | |||
| 6 | 30-04-2025 | 25-0433 | €6,300.00€ 6.300,00 | €0.00€ 0,00 | |||
| 7 | 21-07-2025 | 25-0712 | €21,000.00€ 21.000,00 | €0.00€ 0,00 | |||
| 8 | 14-11-2025 | 25-1109 | €17,500.00€ 17.500,00 | €21,000.00€ 21.000,00 | |||
| 9 | 31-12-2025 | 25-1243 | €11,400.00€ 11.400,00 | €0.00€ 0,00 | |||
| 10 | €0.00€ 0,00 | ||||||
| 11 | €0.00€ 0,00 | ||||||
| 12 | €17,500.00€ 17.500,00 | ||||||
| 13 | €11,400.00€ 11.400,00 | ||||||
| 14 |
Veeg opzij om alle kolommen te zien
Formule in F2
=SOMMEN.ALS(C2:C9,A2:A9, ">="&ZELFDE.DAG(F1, REEKS(12, 1, 0)), A2:A9, "<"&ZELFDE.DAG(F1, REEKS(12, 1, 1)))
=SOMMEN.ALS(C2:C9;A2:A9; ">="&ZELFDE.DAG(F1; REEKS(12; 1; 0)); A2:A9; "<"&ZELFDE.DAG(F1; REEKS(12; 1; 1)))
Resultaat: €20,900.00 / €15,200.00 / €0.00 / €16,100.00 / €0.00 / €0.00 / €21,000.00 / €0.00 / €0.00 / €0.00 / €17,500.00 / €11,400.00€ 20.900,00 / € 15.200,00 / € 0,00 / € 16.100,00 / € 0,00 / € 0,00 / € 21.000,00 / € 0,00 / € 0,00 / € 0,00 / € 17.500,00 / € 11.400,00
Hoe de onderdelen samenwerken
De formule uit elkaar gehaald, van binnen naar buiten. Je kunt elk onderdeel in een eigen cel typen om te zien wat het teruggeeft.
=REEKS(12,
1, 0) =REEKS(12;
1; 0) rowsHoeveel rijen het blok heeft.Druk op Escape om te sluitencolumns (optioneel)Hoeveel kolommen; standaard 1.Druk op Escape om te sluitenstart (optioneel)Het eerste getal; standaard 1.Druk op Escape om te sluitenEen kolom van twaalf getallen die bij 0 begint en telkens 1 omhoog gaat: 0, 1, 2, tot en met 11. Dit zijn de maanden die je vanaf de startdatum opschuift.
=ZELFDE.DAG(F1,
REEKS(12, 1, 0)) =ZELFDE.DAG(F1;
REEKS(12; 1; 0)) ZELFDE.DAG EDATEDezelfde dag van de maand, een aantal maanden verderop.Lees meer over ZELFDE.DAGDruk op Escape om te sluitenbegindatumDe datum waarvan je telt; het dagnummer blijft staan waar de maand dat toelaat.Invoercel: 01-01-2025Druk op Escape om te sluitenREEKS SEQUENCEMaakt een lijst getallen in stappen.Hier gebruikt als: aantal_maandenHoeveel maanden je verschuift: 12 is een jaar later, -3 is drie maanden terug.Lees meer over REEKSDruk op Escape om te sluitenrowsHoeveel rijen het blok heeft.Druk op Escape om te sluitencolumns (optioneel)Hoeveel kolommen; standaard 1.Druk op Escape om te sluitenstart (optioneel)Het eerste getal; standaard 1.Druk op Escape om te sluitenZELFDE.DAG schuift de startdatum in
F1(1 januari 2025) op met elk van de twaalf getallen. Het resultaat is twaalf datums: 1 januari 2025, 1 februari 2025, tot en met 1 december 2025. Dit zijn de eerste dagen van de maanden.=ZELFDE.DAG(F1,
REEKS(12, 1, 1)) =ZELFDE.DAG(F1;
REEKS(12; 1; 1)) ZELFDE.DAG EDATEDezelfde dag van de maand, een aantal maanden verderop.Lees meer over ZELFDE.DAGDruk op Escape om te sluitenbegindatumDe datum waarvan je telt; het dagnummer blijft staan waar de maand dat toelaat.Invoercel: 01-01-2025Druk op Escape om te sluitenREEKS SEQUENCEMaakt een lijst getallen in stappen.Hier gebruikt als: aantal_maandenHoeveel maanden je verschuift: 12 is een jaar later, -3 is drie maanden terug.Lees meer over REEKSDruk op Escape om te sluitenrowsHoeveel rijen het blok heeft.Druk op Escape om te sluitencolumns (optioneel)Hoeveel kolommen; standaard 1.Druk op Escape om te sluitenstart (optioneel)Het eerste getal; standaard 1.Druk op Escape om te sluitenHetzelfde, maar beginnend bij 1 in plaats van 0: 1 februari 2025 tot en met 1 januari 2026. Elke datum is de eerste dag van de volgende maand, dus de bovengrens van de maand ervoor, die zelf niet meetelt.
=">="&ZELFDE.DAG(F1,
REEKS(12, 1, 0)) =">="&ZELFDE.DAG(F1;
REEKS(12; 1; 0)) TekstVaste waardeDruk op Escape om te sluiten&Voegt tekst samenDruk op Escape om te sluitenZELFDE.DAG EDATEDezelfde dag van de maand, een aantal maanden verderop.Lees meer over ZELFDE.DAGDruk op Escape om te sluitenbegindatumDe datum waarvan je telt; het dagnummer blijft staan waar de maand dat toelaat.Invoercel: 01-01-2025Druk op Escape om te sluitenREEKS SEQUENCEMaakt een lijst getallen in stappen.Hier gebruikt als: aantal_maandenHoeveel maanden je verschuift: 12 is een jaar later, -3 is drie maanden terug.Lees meer over REEKSDruk op Escape om te sluitenrowsHoeveel rijen het blok heeft.Druk op Escape om te sluitencolumns (optioneel)Hoeveel kolommen; standaard 1.Druk op Escape om te sluitenstart (optioneel)Het eerste getal; standaard 1.Druk op Escape om te sluitenZet de operator voor elke datum, zodat je twaalf criteria krijgt. Excel plakt de operator aan het serienummer van de datum, dus de eerste is
>=45658(1 januari 2025). SOMMEN.ALS leest dit als: op of na die datum.=SOMMEN.ALS(C2:C9,
A2:A9, ">="&ZELFDE.DAG(F1, REEKS(12, 1, 0)), A2:A9, "<"&ZELFDE.DAG(F1, REEKS(12, 1, 1))) =SOMMEN.ALS(C2:C9;
A2:A9; ">="&ZELFDE.DAG(F1; REEKS(12; 1; 0)); A2:A9; "<"&ZELFDE.DAG(F1; REEKS(12; 1; 1))) SOMMEN.ALS SUMIFSTelt de getallen op die aan alle opgegeven voorwaarden voldoen.Lees meer over SOMMEN.ALSDruk op Escape om te sluitenoptelbereikDe cellen met de getallen die worden opgeteld als een rij door alle tests komt.Kolom Omzet, 8 cellenDruk op Escape om te sluitencriteriumbereik1Het bereik waarop je de eerste voorwaarde toetst; even groot als optelbereik.Kolom Datum, 8 cellenDruk op Escape om te sluitencriterium1De test: een waarde, een cel, of tekst zoals ">=100" of "MEM-*".">=": vergelijkingenDruk op Escape om te sluiten&Voegt tekst samenDruk op Escape om te sluitenZELFDE.DAG EDATEDezelfde dag van de maand, een aantal maanden verderop.Lees meer over ZELFDE.DAGDruk op Escape om te sluitenbegindatumDe datum waarvan je telt; het dagnummer blijft staan waar de maand dat toelaat.Invoercel: 01-01-2025Druk op Escape om te sluitenREEKS SEQUENCEMaakt een lijst getallen in stappen.Hier gebruikt als: aantal_maandenHoeveel maanden je verschuift: 12 is een jaar later, -3 is drie maanden terug.Lees meer over REEKSDruk op Escape om te sluitenrowsHoeveel rijen het blok heeft.Druk op Escape om te sluitencolumns (optioneel)Hoeveel kolommen; standaard 1.Druk op Escape om te sluitenstart (optioneel)Het eerste getal; standaard 1.Druk op Escape om te sluitencriteriumbereik2 (optioneel)Bereik voor nog een voorwaarde; tot 127 van zulke paren.Kolom Datum, 8 cellenDruk op Escape om te sluitencriterium2 (optioneel)De test voor criteriumbereik2, op dezelfde manier geschreven als criterium1.Druk op Escape om te sluiten&Voegt tekst samenDruk op Escape om te sluitenZELFDE.DAG EDATEDezelfde dag van de maand, een aantal maanden verderop.Lees meer over ZELFDE.DAGDruk op Escape om te sluitenbegindatumDe datum waarvan je telt; het dagnummer blijft staan waar de maand dat toelaat.Invoercel: 01-01-2025Druk op Escape om te sluitenREEKS SEQUENCEMaakt een lijst getallen in stappen.Hier gebruikt als: aantal_maandenHoeveel maanden je verschuift: 12 is een jaar later, -3 is drie maanden terug.Lees meer over REEKSDruk op Escape om te sluitenrowsHoeveel rijen het blok heeft.Druk op Escape om te sluitencolumns (optioneel)Hoeveel kolommen; standaard 1.Druk op Escape om te sluitenstart (optioneel)Het eerste getal; standaard 1.Druk op Escape om te sluitenSOMMEN.ALS rekent één keer per maand: het telt de bedragen op met een datum op of na de eerste dag van de maand en vóór de eerste dag van de volgende. Het resultaat is een kolom van twaalf totalen, van 20.900 voor januari tot 11.400 voor december.
Stap voor stap
- REEKS(12; 1; 0) geeft 0, 1, 2, tot en met 11. REEKS(12; 1; 1) geeft 1, 2, 3, tot en met 12.
- ZELFDE.DAG(F1; 0 tot en met 11) maakt van de startdatum 1 januari 2025 de ondergrenzen: 1 jan, 1 feb, 1 mrt, tot en met 1 dec 2025. ZELFDE.DAG(F1; 1 tot en met 12) geeft de bovengrenzen: 1 feb 2025 tot en met 1 jan 2026.
- De operatoren worden aan de datums geplakt, zodat SOMMEN.ALS twaalf paar criteria krijgt: >=1 jan en <1 feb, daarna >=1 feb en <1 mrt, enzovoort.
- Januari: 15 en 28 januari tellen mee, dus 12,50012.500 + 8,4008.400 = 20,90020.900. Februari: alleen 10 februari, dus 15,20015.200. Maart: geen boekingen, dus 0.
- April: 3 en 30 april, dus 9,8009.800 + 6,3006.300 = 16,10016.100. Mei en juni: 0. Juli: 21,00021.000. Augustus, september en oktober: 0.
- November: 17,50017.500. December: de boeking van 31 december ligt vóór 1 januari 2026, dus die telt mee: 11,40011.400. De twaalf totalen tellen op tot 102,100102.100, evenveel als de acht boekingen: 12,50012.500 + 8,4008.400 + 15,20015.200 + 9,8009.800 + 6,3006.300 + 21,00021.000 + 17,50017.500 + 11,40011.400.
Waarom het werkt
SOMMEN.ALS accepteert een matrix als criterium en geeft dan één resultaat per element.
REEKS levert de maandnummers, ZELFDE.DAG zet ze om naar datums en regelt zelf de verschillende maandlengtes en de jaarwisseling, en de ondergrens (inbegrepen) en bovengrens (niet inbegrepen) knippen het jaar in twaalf stukken zonder gaten of overlap. Pas je de startdatum in F1 aan, dan volgen alle twaalf maanden.
Let op
- De startdatum moet de eerste dag van een maand zijn. Staat in
F115 januari, dan loopt elk stuk van de 15e tot de 15e en komen de totalen niet meer overeen met de kalendermaanden. - Zijn de datums in kolom
Atekst (vaak na een CSV-import), dan voldoet geen enkele boeking aan de criteria en tonen alle twaalf totalen 0, zonder waarschuwing. Controleer ofA2rechts is uitgelijnd of ISGETAL(A2) WAAR geeft, en vergelijk de som van de twaalf maanden met het totaal van kolomC. - Boekingen buiten de twaalf maanden blijven stilzwijgend buiten beeld. Vergelijk daarom altijd het totaal van de twaalf maanden met het totaal van de rekening, zodat een boeking uit 2024 of 2026 niet onopgemerkt blijft.
Varianten
=SOMMEN.ALS(C2:C9,A2:A9, ">="&F1, A2:A9, "<"&ZELFDE.DAG(F1, 1))
=SOMMEN.ALS(C2:C9;A2:A9; ">="&F1; A2:A9; "<"&ZELFDE.DAG(F1; 1))
De oudere aanpak voor één maand: dezelfde twee criteria zonder matrices, die je twaalf keer naar beneden kopieert met een oplopende startdatum. Geeft 20,90020.900 voor januari.
=SOMMEN.ALS(C2:C9,A2:A9, ">="&F1, A2:A9, "<="&LAATSTE.DAG(F1, 0))
=SOMMEN.ALS(C2:C9;A2:A9; ">="&F1; A2:A9; "<="&LAATSTE.DAG(F1; 0))
De bovengrens als laatste dag van de maand met LAATSTE.DAG. Geeft ook 20,90020.900 voor januari, maar mist boekingen met een tijdstip na middernacht op de laatste dag, dus de versie met de eerste dag van de volgende maand is veiliger.
Verwante combinaties
Gebruikte functies
- SOMMEN.ALSTelt de getallen in één bereik op, maar alleen in de rijen die voldoen aan alle voorwaarden die je op andere bereiken stelt.
- ZELFDE.DAGGeeft de datum die op dezelfde dag van de maand valt, een opgegeven aantal maanden voor of na een begindatum.
- REEKSMaakt een blok opeenvolgende getallen met een beginwaarde en een stap, dat overloopt naar zoveel rijen en kolommen als je opgeeft.
Gebruikte functies
- SOMMEN.ALSTelt de getallen in één bereik op, maar alleen in de rijen die voldoen aan alle voorwaarden die je op andere bereiken stelt.
- ZELFDE.DAGGeeft de datum die op dezelfde dag van de maand valt, een opgegeven aantal maanden voor of na een begindatum.
- REEKSMaakt een blok opeenvolgende getallen met een beginwaarde en een stap, dat overloopt naar zoveel rijen en kolommen als je opgeeft.