Gids
Spreadsheetformules die je dagelijks gebruikt
Twintig functies, elk met een voorbeeld dat echt gedraaid heeft: de formule, en eronder het getal dat eruit kwam. Met de Nederlandse Excel-naam erbij, en met de twee gewoontes uit het Nederlandse Excel die hier niet werken.
De tabel waarop deze voorbeelden draaien
Eén project, twee tabellen. Elke formule hieronder is tegen precies deze gegevens uitgevoerd, en de regel eronder is wat er terugkwam — ook bij de ene die iets anders teruggeeft dan je verwacht.
| Rij | Datum | Regio | Pakket | Plekken | Bedrag |
|---|---|---|---|---|---|
| 1 | 2026-01-14 | NL | Basic | 3 | 120 |
| 2 | 2026-01-28 | BE | Pro | 1 | 240 |
| 3 | 2026-02-11 | NL | Pro | 2 | 480 |
| 4 | 2026-02-25 | DE | Team | 4 | 960 |
| 5 | 2026-03-09 | NL | Basic | 5 | 200 |
| 6 | 2026-03-23 | BE | Team | 2 | 480 |
| 7 | 2026-04-07 | NL | Pro | 1 | 240 |
| 8 | 2026-04-21 | DE | Basic | 6 | 240 |
| Rij | Pakket | Prijs | Credits |
|---|---|---|---|
| 1 | Basic | 0 | 200 |
| 2 | Pro | 14 | 3000 |
| 3 | Team | 24 | 6000 |
- Geen kopregel. De naam van een kolom hoort bij de kolom en staat niet in rij 1, dus
A1is de eerste order en alle acht zijnA1:A8. - Puntkomma mag, komma in een getal niet.
SUM(E1:E8; D1:D8)werkt. Maar0,06wordt gelezen als de argumenten0en06, dusPMT(0,06/12; 60; 12000)geeft -24120 in plaats van -231.99. Om dezelfde reden staat er in elke uitkomst hieronder een punt: zo schrijft het blad ze. - Een kolomverwijzing betekent twee dingen. In
[Bedrag] * 2is het de cel van deze rij, inSUM([Bedrag])de hele kolom. Kolomnamen zijn van jou, dus[Bedrag]en[Regio]mogen Nederlands blijven. - Elke tabel is een blad.
Pakketten!A1:C3is een rechthoek in de andere tabel,[Pakketten]![Prijs]een hele kolom ervan. Geen import, geen kopie.
Nederlandse en Engelse formulenamen naast elkaar
Excel vertaalt functienamen mee met je taalinstelling. Daarom kun je een formule van een Engelstalig forum niet zomaar plakken. Hier is er één set namen, de Engelse, dus de middelste kolom is wat je typt.
| Nederlands (Excel) | Engels (hier) | Waarvoor |
|---|---|---|
| SOM | SUM | Optellen |
| GEMIDDELDE | AVERAGE | Gemiddelde |
| AANTAL / AANTALARG | COUNT / COUNTA | Tellen |
| AFRONDEN | ROUND | Afronden |
| SOM.ALS / SOMMEN.ALS | SUMIF / SUMIFS | Optellen met voorwaarden |
| AANTAL.ALS / AANTALLEN.ALS | COUNTIF / COUNTIFS | Tellen met voorwaarden |
| ALS | IF | Als dit, dan dat |
| ALS.VOORWAARDEN | IFS | Gevallen op volgorde |
| ALS.FOUT / ALS.NB | IFERROR / IFNA | Fout opvangen |
| EN / OF / NIET | AND / OR / NOT | Voorwaarden combineren |
| VERT.ZOEKEN | VLOOKUP | Verticaal zoeken |
| HORIZ.ZOEKEN | HLOOKUP | Horizontaal zoeken |
| X.ZOEKEN | XLOOKUP | Zoeken in elke richting |
| VERGELIJKEN | MATCH | Positie |
| INDEX | INDEX | Waarde op een positie |
| TEKST | TEXT | Getal naar tekst |
| LINKS / RECHTS / DEEL | LEFT / RIGHT / MID | Stuk tekst |
| LENGTE / SPATIES.WISSEN | LEN / TRIM | Tekens, spaties |
| VANDAAG | TODAY | Vandaag |
| JAAR / MAAND / DAG | YEAR / MONTH / DAY | Delen van een datum |
| DAGEN | DAYS | Dagen ertussen |
| LAATSTE.DAG | EOMONTH | Laatste dag van de maand |
| ZELFDE.DAG | EDATE | n maanden later |
| NETTO.WERKDAGEN / WERKDAG | NETWORKDAYS / WORKDAY | Werkdagen |
| ISO.WEEKNUMMER | ISOWEEKNUM | Weeknummer |
| DATUMVERSCHIL | DATEDIF | Verschil in dagen of maanden |
| BET | PMT | Termijnbedrag |
| NHW / IR | NPV / IRR | Contante waarde, rentabiliteit |
| CORRELATIE | CORREL | Samenhang |
| SOMPRODUCT | SUMPRODUCT | Vermenigvuldigen en optellen |
Ook de foutcodes blijven Engels: waar Excel #N/B, #VERW! en #DEEL/0! schrijft, staat hier #N/A, #REF! en #DIV/0!. Er is er één bij die Excel niet heeft, #CYCLE!, voor een formule die uiteindelijk om zichzelf vraagt.
SOM (SUM) en GEMIDDELDE (AVERAGE)
Allebei slaan ze lege cellen over en struikelen ze niet over tekst. Een gemiddelde over een leeg bereik geeft #DIV/0! en geen nul: “nog niets” en “niets verkocht” zijn twee verschillende uitspraken.
SUM(E1:E8)→ 2960
SUM([Bedrag])→ 2960 — dezelfde acht cellen, bij naam
AVERAGE(E1:E8)→ 370
SOM.ALS (SUMIF) en SOMMEN.ALS (SUMIFS)
SUMIF krijgt eerst het bereik dat je toetst, dan de voorwaarde, en als laatste het bereik dat je optelt. Bij SUMIFS draait die volgorde om: het bereik dat je optelt komt eerst. Die omkering is de meest voorkomende reden dat een formule die als SUMIF klopte, als SUMIFS onzin teruggeeft.
SUMIF(B1:B8; "NL"; E1:E8)→ 1040
SUMIFS(E1:E8; B1:B8; "NL"; C1:C8; "Pro")→ 720 — de twee Nederlandse Pro-orders
Voorwaarden zijn gewone tekst en werken ook op datums, omdat een datum als ISO-tekst is opgeslagen en die goed sorteert.
SUMIFS(E1:E8; A1:A8; ">=2026-03-01"; B1:B8; "NL")→ 440 — vanaf maart, alleen Nederland
AANTAL.ALS (COUNTIF) en AANTALLEN.ALS (COUNTIFS)
Dezelfde taal voor voorwaarden, maar tellend. * staat voor een willekeurig aantal tekens en ? voor één; hoofdletters maken niet uit.
COUNTIF(C1:C8; "B*")→ 3 — elk pakket dat met een B begint
COUNTIFS(B1:B8; "NL"; E1:E8; ">200")→ 2
ALS (IF), ALS.VOORWAARDEN (IFS) en ALS.FOUT (IFERROR)
Argumenten worden lui berekend: een tak die je niet neemt wordt niet uitgerekend. Daardoor kan IFERROR een fout opvangen zonder dat de hele cel omvalt.
IF([Regio]="NL"; [Bedrag]*21%; 0)→ 100.8 op rij 3 — een procentteken achteraan deelt door honderd
IFS is een rij paren van voorwaarde en antwoord, eerste treffer wint. Sluit af met een losse TRUE; zonder dat krijgt een rij die nergens op past #N/A in plaats van een lege cel.
IFS([Bedrag]>=500; "groot"; [Bedrag]>=200; "middel"; TRUE; "klein")→ groot op rij 4, klein op rij 1
IFERROR(VLOOKUP("Goud"; Pakketten!A1:C3; 2); 0)→ 0 — er is geen pakket Goud
VERT.ZOEKEN (VLOOKUP) en X.ZOEKEN (XLOOKUP)
VLOOKUP zoekt in de eerste kolom van een rechthoek en geeft de n-de kolom van de gevonden rij terug. Eén verschil om te onthouden: het vierde argument wordt aangenomen en genegeerd, en er wordt altijd exact gezocht. De truc met een gesorteerde tabel met ondergrenzen, waarmee je in Excel een cijfer in een categorie stopt, doet hier dus niets. Gebruik IFS, wat sowieso beter leest.
VLOOKUP([Pakket]; Pakketten!A1:C3; 2)→ 14 op rij 3 — de prijs van Pro
XLOOKUP krijgt de kolom waarin je zoekt en de kolom die je terug wilt als twee losse argumenten. Er wordt niets geteld, dus een ingevoegde kolom breekt niets, en het vierde argument is de waarde voor als er niets gevonden wordt. Dat scheelt de IFNA eromheen.
XLOOKUP("Goud"; Pakketten!A1:A3; Pakketten!B1:B3; 0)→ 0 — geen treffer, geen #N/A, geen IFNA nodig
INDEX en VERGELIJKEN (MATCH)
MATCH geeft de positie van een waarde, INDEX de waarde op een positie. Samen doen ze wat XLOOKUP doet, in de vorm van voorXLOOKUP.
INDEX(Pakketten!C1:C3; MATCH("Pro"; Pakketten!A1:A3))→ 3000 — de credits bij het Pro-pakket
Hier zit het enige voorbeeld op deze pagina dat een geloofwaardig verkeerd getal teruggeeft in plaats van een foutmelding. INDEX neemt één positie over een bereik dat rij voor rij wordt gelezen; de tweedimensionale vorm van Excel bestaat niet.
INDEX(Pakketten!A1:C3; 2; 2)→ 0 — en niet 14, want positie 2 van de platgeslagen rechthoek
Geef INDEX dus één kolom en één positie. MATCH neemt eveneens twee argumenten en zoekt altijd exact, dus een geplakte MATCH(x; bereik; 0) klopt en een geplakte MATCH(x; bereik; 1) is stilletjes niet meer benaderend.
TEKST (TEXT)
TEXT maakt van een getal tekst in een opgegeven opmaak. Dit is de tweede plek waar je Nederlandse gewoonte niet werkt: TEXT rekent altijd met de Engelse schrijfwijze — punt als decimaalteken, komma voor duizendtallen. Een Nederlands patroon als "#.##0,00" wordt gelezen alsof je nul decimalen vraagt en geeft 2,960.
TEXT(SUM(E1:E8); "#,##0.00")→ 2,960.00
Wil je het toch Nederlands, draai de twee tekens dan zelf om — via een derde teken, anders overschrijf je je eigen resultaat. Verder dekt het patroon drie dingen: decimalen, duizendtalscheiding en procenten. Geen datumopmaak, geen valutatekens, geen kleuren.
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(SUM(E1:E8); "#,##0.00"); ","; "|"); "."; ","); "|"; ".")→ 2.960,00
De datumfuncties
Datums zijn ISO-tekst — 2026-01-14 — omdat een datumkolom dat opslaat, het als tekst goed sorteert, en een rondje door JSON de dag niet verschuift door een tijdzone. Een dubbelzinnige datum wordt geweigerd in plaats van geraden, en dat raakt je hier direct: DATEVALUE("14-01-2026") geeft #VALUE! met de reden erbij, want die tekst kan dag-eerst of maand-eerst zijn. Schrijf 2026-01-14.
| Formule | Resultaat |
|---|---|
| DAYS(A8; A1) | 97 kalenderdagen |
| NETWORKDAYS(A1; A8) | 70 werkdagen, weekenden eruit |
| NETWORKDAYS("2026-01-01"; "2026-01-31"; "2026-01-01") | 21 — het derde argument zijn feestdagen |
| WORKDAY(A1; 10) | 2026-01-28 |
| EOMONTH(A1; 0) | 2026-01-31 — en het klemt af: 31 januari plus een maand is 2026-02-28 |
| EDATE(A1; 3) | 2026-04-14 |
| DATEDIF(A1; A8; "M") | 3 hele maanden. Alleen D, M of Y |
| ISOWEEKNUM(A1) | 3 — het weeknummer dat de salarisadministratie bedoelt |
| YEAR(A1) | 2026. MONTH en DAY werken net zo |
| TODAY() | De dag waarop het blad is doorgerekend, geen tikkende klok |
BET (PMT) en NHW (NPV)
PMT is het termijnbedrag van een lening. De rente is per periode en niet per jaar, dus 6% per jaar bij maandbetaling is 0.06/12 — met een punt, want een komma splitst het argument. De uitkomst is negatief omdat het geld dat weggaat.
ROUND(PMT(0.06/12; 60; 12000); 2)→ -231.99 per maand op 12.000 in vijf jaar; -230.84 bij vooruitbetaling
NPV verdisconteert een reeks kasstromen, en de eerste stroom die je meegeeft wordt één periode verdisconteerd, dus een bedrag dat je vandaag betaalt hoort er buiten. Doe je dat niet, dan verdisconteer je een investering een periode te veel en ziet elk project er beter uit dan het is. Elf financiële functies in totaal, waaronder FV, PV, NPER, RATE en IRR.
ROUND(NPV(0.1; 3000; 4200; 6800) - 10000; 2)→ 1307.29 — de 10.000 van vandaag staat erbuiten
CORRELATIE (CORREL)
CORREL geeft de samenhang tussen twee reeksen, van -1 tot 1. Er zijn minstens twee paren nodig, het langere bereik wordt afgekapt op het kortere, en je krijgt #DIV/0! als een van beide nooit verandert. SLOPE, INTERCEPT, FORECAST en RSQ nemen hetzelfde paar bereiken.
ROUND(CORREL(D1:D8; E1:E8); 3)→ 0.046 — plekken en omzet bewegen nauwelijks samen
ROUND(CORREL(Pakketten!B1:B3; Pakketten!C1:C3); 3)→ 0.993 — prijs en inbegrepen credits lopen bijna gelijk op
Dat eerste getal is het nuttigst juist omdat het saai is: het aantal plekken zegt bijna niets over het bedrag, want het pakket bepaalt de prijs. Eén formule, en een grafiek die je later niet hoeft uit te leggen.
Wat er bewust niet is
Er zijn 167 functies. Negen ontbreken met opzet, en je hoort welke: de formule-editor van een kolom zegt het voordat je iets uitvoert, en een naam die je in een cel typt komt terug met de reden in plaats van een kaal #NAME? — horen dat iets bewust is weggelaten leest anders dan vermoeden dat je het verkeerd spelde.
| Excel | Hier | Waarom |
|---|---|---|
| ASELECT, ASELECTTUSSEN | Afwezig. | Een cel die bij elke weergave verandert, valt niet te vergelijken met wat hij een seconde eerder zei. |
| UNIEK, SORTEREN, FILTEREN, TRANSPONEREN | Afwezig. | Ze schrijven in cellen die je niet selecteerde. Dat vraagt een overloopmodel, en een half model is erger dan geen. |
| INDIRECT, VERSCHUIVING | Afwezig. | Ze bouwen een verwijzing uit tekst tijdens het rekenen, dus de cyclusbewaking ziet de afhankelijkheden niet vooraf. |
| Macro's en VBA | Afwezig. | Wat een macro automatiseert — herhaal dit over elke rij — is wat een formulekolom al is. |
| INDEX met rij en kolom | Eén positie. | Staat er niet bij. Je krijgt de verkeerde cel in plaats van een fout. |
| Benaderend VERT.ZOEKEN en VERGELIJKEN | Altijd exact. | Staat er niet bij. Het extra argument wordt genegeerd. |
| Nederlandse namen, decimale komma | Engelse namen, punt. | Staat er niet bij. De puntkomma tussen argumenten mag wel. |
| Een miljoen rijen per blad | Ongeveer 50.000 comfortabel. | Bij 100.000 weigert de browseropslag de schrijfactie. |
Een formulekolom mag naar een andere verwijzen; een cel waar om gevraagd wordt terwijl hij al berekend wordt geeft #CYCLE! in plaats van je tabblad te laten hangen, en die bewaking kan alleen eerlijk zijn omdat INDIRECT ontbreekt. De volledige vergelijking staat op hoe dit zich verhoudt tot Excel, en verder staan formules in je scriptieresultaten en de cijfers achter een pitch deck klaar.
Veelgestelde vragen
Wat is het verschil tussen VERT.ZOEKEN en X.ZOEKEN?
X.ZOEKEN krijgt de kolom waarin je zoekt en de kolom die je terug wilt als twee losse argumenten, dus er wordt niets geteld en een ingevoegde kolom breekt niets. Het vierde argument is de waarde voor als er niets gevonden wordt. VERT.ZOEKEN telt kolommen binnen één rechthoek en kijkt alleen naar rechts. Hier zoeken ze allebei altijd exact.
Waarom krijg ik #VERW! of #N/B in beeld?
#VERW! betekent dat het adres buiten de tabel valt, of naar een tabel wijst die dit project niet heeft. #N/B betekent dat een zoekopdracht wel liep maar niets vond. Let op: Tougather toont de Engelse codes, dus je ziet #REF! en #N/A staan. Zet ALS.NB — hier IFNA — om de zoekopdracht heen, of geef XLOOKUP een vierde argument.
Hoe tel ik alleen bepaalde rijen op?
Met SOM.ALS voor één voorwaarde en SOMMEN.ALS voor meerdere, hier geschreven als SUMIF en SUMIFS. Let op de volgorde, want die draait om: bij SUMIF komt het bereik dat je optelt als laatste, bij SUMIFS als eerste. Voorwaarden zijn gewone tekst en werken ook op datums.
Waarom heten Excel-formules in het Nederlands anders?
Excel vertaalt functienamen mee met de taalinstelling: SUM wordt SOM, IF wordt ALS, VLOOKUP wordt VERT.ZOEKEN. Het bestand verandert niet, alleen wat je ziet, dus een formule uit een Engelse handleiding werkt pas na vertaling. Tougather houdt één set namen aan, de Engelse.
Werken Excel-formules ook in Tougather?
Grotendeels. Er zijn 167 functies. Je typt de Engelse naam — SOM en VERT.ZOEKEN geven #NAME? — maar de puntkomma tussen argumenten mag gewoon. De decimale komma niet: 0,06 leest de parser als twee argumenten, en dat levert een verkeerd getal op in plaats van een foutmelding. Negen functies ontbreken met opgaaf van reden: RAND, RANDBETWEEN, UNIQUE, SORT, FILTER, TRANSPOSE, INDIRECT, OFFSET en macro's.
Plak een CSV of een xlsx-bestand erin, zet een van deze formules op de kolom in plaats van in een cel, en dezelfde uitdrukking loopt over elke rij. Daar had je anders een macro voor nodig gehad.
Een spreadsheet openen