AGGREGAAT
AGGREGATE in Engelstalige Excel
Voert een van 19 berekeningen uit, zoals SOM, GROOTSTE of een kwartiel, en slaat naar keuze foutwaarden, verborgen rijen of geneste subtotalen over.
Laatst bijgewerkt: 13 oktober 2026
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Orderregel | Materiaalcode | Regelwaarde | Totaal geprijsde regels | |
| 2 | OL-01 | KB-2501 | €1,250.00€ 1.250,00 | €5,825.75€ 5.825,75=AGGREGAAT(9, 6, C2:C7)=AGGREGAAT(9; 6; C2:C7) | |
| 3 | OL-02 | KB-2517 | #N/B | ||
| 4 | OL-03 | WP-0310 | €840.50€ 840,50 | ||
| 5 | OL-04 | WP-0388 | €3,120.00€ 3.120,00 | ||
| 6 | OL-05 | KB-2999 | #N/B | ||
| 7 | OL-06 | TH-1140 | €615.25€ 615,25 |
Veeg opzij om alle kolommen te zien
Resultaat: €5,825.75€ 5.825,75
=AGGREGAAT(9,6, C2:C7)
=AGGREGAAT(9;6; C2:C7)
Wat AGGREGAAT doet en wanneer je het gebruikt
Wat het doet: het voert een berekening uit, zoals een totaal of de op twee na grootste waarde, en slaat de cellen over die je aanwijst, bijvoorbeeld een prijskolom waarin enkele opzoekacties #N/B gaven.
Wanneer je het gebruikt: als een kolom foutwaarden bevat die je niet eerst kunt herstellen, of verborgen rijen, en je toch een totaal of ranglijst nodig hebt. Het vervangt SUBTOTAAL zodra fouten in de weg zitten.
De drie grootste voordelen:
- Slaat fouten over: één #N/B laat SOM of GROOTSTE niet meer mislukken.
- Alleen zichtbare rijen: rijen die een filter verbergt vallen weg uit het resultaat.
- Meer dan een totaal: GROOTSTE, KLEINSTE, percentielen en kwartielen, die SUBTOTAAL niet biedt.
Hoe Excel de functie berekent
Excel leest eerst functie_getal en kiest daarmee de berekening. Daarna leest het opties en stelt het de lijst op van cellen die wegvallen, afhankelijk van de code:
- foutwaarden
- rijen die door een filter of door jou zijn verborgen
- cellen met een SUBTOTAAL- of AGGREGAAT-formule
Wat overblijft gaat de berekening in. Bij de codes 14 tot en met 19 geldt het laatste argument k voor die overgebleven verzameling, dus een rang telt alleen de cellen die zijn behouden.
Bij de codes 1 tot en met 13 moeten de argumenten na opties verwijzingen zijn; bij 14 tot en met 19 mag het derde argument ook een berekende matrix zijn.
Let op: AGGREGAAT verbergt fouten zonder spoor. Wijzen ze op een echt probleem, herstel dan de bron of gebruik ALS.FOUT waar je de vervangende waarde ziet.
Denkmodel
Een sorteertafel met twee schakelaars. De eerste kiest de machine (som, grootste, kwartiel); de tweede kiest wat eruit wordt gehaald voordat de machine start.
Begrippen op deze pagina: celverwijzing, foutwaarde, matrix, argument, cel
AGGREGAAT(functie_getal,opties, verw1, [verw2], ...)
AGGREGAAT(functie_getal;opties; verw1; [verw2]; ...)
| Argument | Soort | Betekenis |
|---|---|---|
functie_getal | Verplicht | 1 tot 19: welke berekening, zoals 9 voor SOM of 14 voor GROOTSTE. |
opties | Verplicht | 0 tot 7: wat wordt overgeslagen. 6 = fouten, 5 = verborgen rijen, 7 = beide. |
verw1 | Verplicht | Het bereik waarover wordt gerekend (of een matrix, bij de codes 14 tot en met 19). |
verw2 | Optioneel | Codes 14 tot en met 19: k (rang of breuk). Codes 1 tot en met 13: meer bereiken. |
Geeft terug:Een getal: de gekozen berekening over de cellen die overblijven
Formules gebruiken komma's (,) tussen de argumenten, zoals in de Engelse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel. Formules gebruiken puntkomma's (;) tussen de argumenten, zoals in de Nederlandse Excel; de Engelse Excel gebruikt komma's (,).
Uitgewerkte voorbeelden
Beginner
Totaal van orderregels waarvan de prijs soms niet gevonden is
Je controleert de inkoopverplichtingen van Veldhuis Installatie BV. In kolom C staat de regelwaarde die een opzoekformule uit de prijslijst van de cliënt haalt; voor materiaalcodes die niet in die lijst staan, geeft de opzoekformule #N/B. Je wilt het totaal van de regels die wel een prijs hebben, zonder eerst alle opzoekformules te herstellen.
| Rij | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Orderregel | Materiaalcode | Regelwaarde | Totaal geprijsde regels | ||
| 2 | OL-01 | KB-2501 | €1,250.00€ 1.250,00 | €5,825.75€ 5.825,75=AGGREGAAT(9, 6, C2:C7)=AGGREGAAT(9; 6; C2:C7) | ||
| 3 | OL-02 | KB-2517 | #N/B | |||
| 4 | OL-03 | WP-0310 | €840.50€ 840,50 | |||
| 5 | OL-04 | WP-0388 | €3,120.00€ 3.120,00 | |||
| 6 | OL-05 | KB-2999 | #N/B | |||
| 7 | OL-06 | TH-1140 | €615.25€ 615,25 | |||
| 8 |
Veeg opzij om alle kolommen te zien
Formule in E2
=AGGREGAAT(9,6, C2:C7)
=AGGREGAAT(9;6; C2:C7)
Resultaat: €5,825.75€ 5.825,75
Stap voor stap
- functie_getal is 9, de code voor SOM. opties is 6: cellen met een foutwaarde worden overgeslagen. Verborgen rijen en geneste subtotalen horen niet bij optie 6.
- AGGREGAAT loopt langs
C2:C7, zes cellen: 1250, #N/B, 840,50, 3120, #N/B, 615,25. C3enC6bevatten #N/B, dus optie 6 laat ze buiten beschouwing. Er blijven vier cellen over:C2,C4,C5enC7.- De vier waarden gaan in SOM: 1250 + 840,50 + 3120 + 615,25 = 5825,75.
- Herstel je de prijs van
OL-02, dan telt die regel meteen mee. SOM(C2:C7) over hetzelfde bereik zou #N/B geven zodra er één fout in staat.
Let op: Het totaal ziet er compleet uit, maar twee orderregels ontbreken erin. Het overslaan van fouten gaat stil, dus tel de foutcellen (Ga naar > Speciaal > Formules > Fouten) en meld ze als regels zonder prijs.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 1 variant
Waarom het werkt
Het argument opties bepaalt wat wordt overgeslagen voordat de berekening begint, dus SOM ziet alleen getallen. De berekening zelf is de bekende SOM.
Meer om op te letten
- Optie 6 slaat rijen die een filter verbergt niet over. Neem 7 als je de zichtbare rijen wilt.
Varianten
=SOM(ALS.FOUT(C2:C7,0))
=SOM(ALS.FOUT(C2:C7;0))
Hetzelfde totaal, 5825,75. In Excel 2019 en eerder bevestig je de formule met Ctrl+Shift+Enter. Kies deze als je de vervangende waarde in de formule wilt zien staan.
Halfgevorderd
Op twee na grootste boeking terwijl enkele geïmporteerde bedragen fouten zijn
Voor een journaalpostentest bij Veldhuis Installatie BV staan de bedragen van een jaarafsluitingsimport in kolom B. In twee cellen staat een fout omdat de import ze niet kon omzetten. Je wilt het op twee na grootste bedrag weten om te bepalen welke boekingen je als eerste onderzoekt, en de rang moet je in een cel kunnen aanpassen.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Boeking | Bedrag | Rang (k) | Bedrag op die rang | |||
| 2 | JE-101 | €18,400.00€ 18.400,00 | 33 | €29,875.00€ 29.875,00=AGGREGAAT(14, 6, B2:B8, D2)=AGGREGAAT(14; 6; B2:B8; D2) | |||
| 3 | JE-102 | €42,150.00€ 42.150,00 | |||||
| 4 | JE-103 | #WAARDE! | |||||
| 5 | JE-104 | €7,300.00€ 7.300,00 | |||||
| 6 | JE-105 | €42,150.00€ 42.150,00 | |||||
| 7 | JE-106 | €29,875.00€ 29.875,00 | |||||
| 8 | JE-107 | #DEEL/0! | |||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in F2
=AGGREGAAT(14,6, B2:B8, D2)
=AGGREGAAT(14;6; B2:B8; D2)
Resultaat: €29,875.00€ 29.875,00
Stap voor stap
- functie_getal 14 is GROOTSTE, die een k nodig heeft. opties 6 slaat foutwaarden over. De k is het vierde argument,
D2, met de waarde 3. - AGGREGAAT leest
B2:B8en vindt #WAARDE! inB4en #DEEL/0! inB8. Beide gaan opzij. - Er blijven vijf getallen over: 18400, 42150, 7300, 42150, 29875. Gesorteerd van groot naar klein: 42150, 42150, 29875, 18400, 7300.
- De twee boekingen van 42150 nemen rang 1 en rang 2 in, dus rang 3 is 29875.
- Typ je 6 in
D2, dan is het resultaat #GETAL!: er zijn maar vijf getallen over, dus er is geen zesde grootste.
Let op: Het resultaat is de derde grootste boeking, niet het derde grootste verschillende bedrag. Met 42150 twee keer is rang 2 nog steeds 42150.
Meer over dit voorbeeld: waarom het werkt, nog 1 valkuil, 2 varianten
Waarom het werkt
De codes 14 tot en met 19 nemen een vierde argument, k, dat wordt toegepast nadat de fouten zijn verwijderd. De rang telt dus alleen echte getallen, en een dubbel bedrag neemt zoveel rangen in als het aantal keer dat het voorkomt.
Meer om op te letten
- Laat je de k weg bij code 14, dan geeft AGGREGAAT #WAARDE!, omdat GROOTSTE geen standaardrang heeft.
Varianten
=GROOTSTE(ALS(ISGETAL(B2:B8),B2:B8), D2)
=GROOTSTE(ALS(ISGETAL(B2:B8);B2:B8); D2)
Hetzelfde resultaat. Het werkt in elke versie zodra je het bevestigt met Ctrl+Shift+Enter, maar het is langer en gaat mis als je die stap vergeet.
=GROOTSTE(FILTER(B2:B8,ISGETAL(B2:B8)), D2)
=GROOTSTE(FILTER(B2:B8;ISGETAL(B2:B8)); D2)
Microsoft 365 en Excel 2021. Kies deze als je de opgeschoonde lijst ook voor andere berekeningen nodig hebt.
Gevorderd
Grootste factuur van één kostenplaats, zonder MAX.ALS.VOORWAARDEN
In de inkoopfacturen van Veldhuis Installatie BV wil je de grootste factuur weten die op de kostenplaats in E2 is geboekt, om te zien of de goedkeuringsgrens is gehandhaafd. De werkmap moet ook openen in Excel 2010, waar MAX.ALS.VOORWAARDEN niet bestaat (ook niet in Excel 2016 zonder Microsoft 365; de functie begint bij Excel 2019). Alleen de code van de kostenplaats in die cel pas je aan.
| Rij | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| 1 | Kostenplaats | Document | Bedrag | Kostenplaats | Grootste factuur | ||
| 2 | CC-20 | INV-501 | €4,820.00€ 4.820,00 | CC-20 | €9,360.00€ 9.360,00=AGGREGAAT(14, 6, C2:C8 / (A2:A8 = E2), 1)=AGGREGAAT(14; 6; C2:C8 / (A2:A8 = E2); 1) | ||
| 3 | CC-10 | INV-502 | €1,275.50€ 1.275,50 | ||||
| 4 | CC-20 | INV-503 | €9,360.00€ 9.360,00 | ||||
| 5 | CC-30 | INV-504 | €2,210.00€ 2.210,00 | ||||
| 6 | CC-20 | INV-505 | €7,745.25€ 7.745,25 | ||||
| 7 | CC-10 | INV-506 | €15,890.00€ 15.890,00 | ||||
| 8 | CC-30 | INV-507 | €640.00€ 640,00 | ||||
| 9 |
Veeg opzij om alle kolommen te zien
Formule in F2
=AGGREGAAT(14,6, C2:C8 / (A2:A8 = E2), 1)
=AGGREGAAT(14;6; C2:C8 / (A2:A8 = E2); 1)
Resultaat: €9,360.00€ 9.360,00
Stap voor stap
- Van binnen naar buiten:
A2:A8=E2vergelijkt elke kostenplaats metCC-20. Het resultaat is WAAR, ONWAAR, WAAR, ONWAAR, WAAR, ONWAAR, ONWAAR. C2:C8/ (die matrix) deelt elk bedrag door 1 bij WAAR en door 0 bij ONWAAR. Resultaat: 4820, #DEEL/0!, 9360, #DEEL/0!, 7745,25, #DEEL/0!, #DEEL/0!.- AGGREGAAT krijgt die matrix met code 14 (GROOTSTE), optie 6 (fouten overslaan) en k = 1.
- Optie 6 verwijdert de vier waarden #DEEL/0!. De drie facturen van
CC-20blijven over: 4820, 9360, 7745,25. - De grootste daarvan is 9360. De 15890 van
CC-10is groter dan elk bedrag vanCC-20, maar de deling door 0 heeft er een fout van gemaakt en die is overgeslagen. - Verander je
E2inCC-30, dan is het resultaat 2210 (tegen 640).
Let op: Een passende rij met een leeg bedrag wordt 0 / 1 = 0 en telt als waarde. Zijn alle passende bedragen negatief, zoals bij creditnota's, dan wint een lege cel met 0 als grootste, zonder dat iets er mis uitziet.
Meer over dit voorbeeld: waarom het werkt, nog 2 valkuilen, 2 varianten
Waarom het werkt
Delen door een voorwaarde maakt van elke rij die niet voldoet een fout, en de optie om fouten over te slaan werkt dan als filter. De matrixvorm van AGGREGAAT berekent zo'n bewerking zelf, dus Ctrl+Shift+Enter is niet nodig.
Meer om op te letten
- Komt er geen enkele rij overeen, dan is elke waarde een fout en is het resultaat #GETAL!. Dat klopt, maar het is geen duidelijke melding; zet er alleen ALS.FOUT omheen als je 'geen overeenkomst' kunt onderscheiden van een echt probleem.
- Verborgen rijen worden hier niet overgeslagen, ook niet met optie 7, omdat de matrix na de deling geen rij-informatie bevat.
Varianten
=MAX.ALS.VOORWAARDEN(C2:C8,A2:A8, E2)
=MAX.ALS.VOORWAARDEN(C2:C8;A2:A8; E2)
Hetzelfde resultaat, 9360. Korter en duidelijker in Excel 2019 en later; gebruik deze tenzij het bestand in Excel 2010, 2013 of 2016 moet werken.
=MAX(FILTER(C2:C8,A2:A8 = E2))
=MAX(FILTER(C2:C8;A2:A8 = E2))
Microsoft 365 en Excel 2021. Kies deze als je de passende rijen ook wilt zien.
ExpertExcel 2021 of nieuwer (Dit voorbeeld vereist Excel 2021 of nieuwer)
Bovengrens voor uitschieters, met fouten en verborgen testrijen overgeslagen
In de journaalposten van Veldhuis Installatie BV stel je een drempel voor ongewone bedragen vast: het derde kwartiel plus 1,5 keer de interkwartielafstand. In de lijst staan een #N/B en een testboeking van 52000 die je met de hand hebt verborgen. Beide moeten buiten de kwartielen blijven, omdat ze de drempel zouden vertekenen.
| Rij | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | Boeking | Bedrag | Bovengrens | ||
| 2 | JE-201 | €1,200.00€ 1.200,00 | €2,159.38€ 2.159,38=LET( bedragen, B2:B9, laagKwartiel, AGGREGAAT(17, 7, bedragen, 1), hoogKwartiel, AGGREGAAT(17, 7, bedragen, 3), AFRONDEN(hoogKwartiel + 1.5 * (hoogKwartiel - laagKwartiel), 2) )=LET( bedragen; B2:B9; laagKwartiel; AGGREGAAT(17; 7; bedragen; 1); hoogKwartiel; AGGREGAAT(17; 7; bedragen; 3); AFRONDEN(hoogKwartiel + 1,5 * (hoogKwartiel - laagKwartiel); 2) ) | ||
| 3 | JE-202 | €1,450.00€ 1.450,00 | |||
| 4 | JE-203 | #N/B | |||
| 5 | JE-204 | €1,325.00€ 1.325,00 | |||
| 6 (Verborgen of weggefilterde rij) | JE-205 | €52,000.00€ 52.000,00 | |||
| 7 | JE-206 | €1,580.00€ 1.580,00 | |||
| 8 | JE-207 | €9,800.00€ 9.800,00 | |||
| 9 | JE-208 | €1,710.00€ 1.710,00 | |||
| 10 |
Veeg opzij om alle kolommen te zien
Formule in D2
=LET( bedragen,B2:B9, laagKwartiel, AGGREGAAT(17, 7, bedragen, 1), hoogKwartiel, AGGREGAAT(17, 7, bedragen, 3), AFRONDEN(hoogKwartiel + 1.5 * (hoogKwartiel - laagKwartiel), 2) )
=LET( bedragen;B2:B9; laagKwartiel; AGGREGAAT(17; 7; bedragen; 1); hoogKwartiel; AGGREGAAT(17; 7; bedragen; 3); AFRONDEN(hoogKwartiel + 1,5 * (hoogKwartiel - laagKwartiel); 2) )
Resultaat: €2,159.38€ 2.159,38
Stap voor stap
- LET noemt het bereik
B2:B9bedragen. Het blijft een verwijzing, en dat moet ook: alleen zo ziet AGGREGAAT welke rijen verborgen zijn. - laagKwartiel is AGGREGAAT(17; 7; bedragen; 1). Code 17 is KWARTIEL.INC, optie 7 slaat fouten en verborgen rijen over.
B4(#N/B) en rij 6 (52000) vallen af. Gesorteerd: 1200, 1325, 1450, 1580, 1710, 9800. - Het eerste kwartiel staat op positie 1 + 5 × 0,25 = 2,25: 1325 + 0,25 × (1450 - 1325) = 1356,25.
- hoogKwartiel gebruikt k = 3, positie 1 + 5 × 0,75 = 4,75: 1580 + 0,75 × (1710 - 1580) = 1677,50.
- De interkwartielafstand is 1677,50 - 1356,25 = 321,25. De grens is 1677,50 + 1,5 × 321,25 = 1677,50 + 481,875 = 2159,375, en AFRONDEN maakt daarvan 2159,38.
- Boeking
JE-207van 9800 ligt boven 2159,38 en wordt geselecteerd voor onderzoek. Maak je rij 6 weer zichtbaar en gebruik je optie 6, dan springt de grens naar 12306,25, en gaat 9800 ongemerkt door.
Let op: Een andere fout: met optie 6 in plaats van 7 telt de verborgen 52000 mee. Q1 wordt 1387,50, Q3 5755 en de grens 12306,25. De formule geeft nog steeds een getal, dus niets wijst op de fout.
Meer over dit voorbeeld: waarom het werkt, nog 3 valkuilen, 1 variant
Waarom het werkt
LET geeft het bereik één keer een naam, zodat beide kwartielen dezelfde verwijzing lezen en elke AGGREGAAT-aanroep optie 7 erop toepast. Optie 7 combineert twee filters die KWARTIEL.INC op zichzelf niet heeft, en alleen de codes 14 tot en met 19 geven percentielen en kwartielen met die keuze in wat wordt overgeslagen.
Let op
Een andere fout: met optie 6 in plaats van 7 telt de verborgen 52000 mee. Q1 wordt 1387,50, Q3 5755 en de grens 12306,25. De formule geeft nog steeds een getal, dus niets wijst op de fout.
Leg om dezelfde reden vast in welke weergave je de test hebt uitgevoerd: een rij zichtbaar maken of een filter wissen verandert het resultaat zonder waarschuwing.
- Met optie 4 of 5 wordt de #N/B niet overgeslagen, en geeft de hele formule #N/B.
In Microsoft 365 of Excel 2021 geeft FILTER(B2:B9; ISGETAL(B2:B9)) een zichtbare, opgeschoonde lijst die je voor elke statistiek kunt hergebruiken, maar die herkent geen verborgen rijen.
Het AGGREGAAT-deel van deze formule werkt vanaf Excel 2010 en ziet verborgen rijen, terwijl de LET eromheen Excel 2021 of Microsoft 365 nodig heeft (zonder LET herhaal je
B2:B9in beide aanroepen).Komen de fouten uit een opzoekformule, zet daar dan ALS.NB omheen, zodat het probleem wordt aangepakt waar het begint.
Varianten
=LET( bedragen,B2:B9, laagKwartiel, AGGREGAAT(17, 6, bedragen, 1), hoogKwartiel, AGGREGAAT(17, 6, bedragen, 3), AFRONDEN(hoogKwartiel + 1.5 * (hoogKwartiel - laagKwartiel), 2) )
=LET( bedragen;B2:B9; laagKwartiel; AGGREGAAT(17; 6; bedragen; 1); hoogKwartiel; AGGREGAAT(17; 6; bedragen; 3); AFRONDEN(hoogKwartiel + 1,5 * (hoogKwartiel - laagKwartiel); 2) )
Optie 6 geeft hier 12306,25, omdat de verborgen 52000 meetelt. Gebruik dit alleen als verborgen rijen tot de populatie horen.
Veelgemaakte fouten
| Symptoom | Oorzaak | Oplossing |
|---|---|---|
| Een totaal dat klopt maar rijen mist | De uitkomst ziet er goed uit, maar er ontbreken rijen in het totaal: optie 6 heeft de fouten overgeslagen zonder melding. | Tel de foutcellen apart en meld ze. Herstel de oorzaak als de fouten niet verwacht zijn. |
| Subtotaalrijen die dubbel meetellen | Gebruik je optie 6 op een lijst met SUBTOTAAL-rijen, dan telt AGGREGAAT de subtotalen dubbel. | Alleen de opties 0 tot en met 3 slaan geneste SUBTOTAAL- en AGGREGAAT-formules over. Gebruik 2 om fouten en subtotalen over te slaan, of 3 om daarnaast verborgen rijen over te slaan. |
| #WAARDE! bij een berekende matrix | Een code van 1 tot en met 13 met een berekende matrix geeft #WAARDE!. | Geef een verwijzing naar een bereik mee, of kies een code van 14 tot en met 19, die matrices accepteren. |
| Verborgen kolommen zitten nog in het totaal | Verborgen kolommen horen te worden overgeslagen, maar de totalen bevatten ze nog. | De opties voor verborgen rijen werken alleen op rijen. Zet de gegevens verticaal of tel de zichtbare kolommen op een andere manier op. |
| #GETAL! terwijl het bereik getallen bevat | Het resultaat is #GETAL!, hoewel het bereik getallen bevat. | Na het overslaan bleven er minder cellen over dan k vraagt, of geen enkele. Controleer k en de opties. |