Too many arguments in Excel-formule

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • theroman
  • Registratie: Januari 2002
  • Laatst online: 16-08 09:37
In Excel 2010 probeer ik een formule te maken die op basis van een bruto inkomen de algemene heffingskorting uitrekent. Als de gehele formule staat, krijg ik de melding "too many arguments". Nu snap ik dat in formules met IF altijd "statement,true,false" aanhoudt, maar ik ben het overzicht even kwijt met 3 IF-statements.

Dit deel van de formule werkt:

=IF(E1<=20711,"2711",IF(AND(E1>=20711,E1<=68507),2711-(0.05672*(E1-20711))))

Als dit laatste deel wordt toegevoegd, krijg ik de foutmelding:

=IF(E1<=20711,"2711",IF(AND(E1>=20711,E1<=68507),2711-(0.05672*(E1-20711))),IF(E1>68507,"0"))

Hoe pas ik dit aan, zodat het wel werkt?

Beste antwoord (via theroman op 08-02-2020 13:30)


  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
theroman schreef op zaterdag 25 januari 2020 @ 12:01:
Als dit laatste deel wordt toegevoegd, krijg ik de foutmelding:
=IF(E1<=20711,"2711",IF(AND(E1>=20711,E1<=68507),2711-(0.05672*(E1-20711))),IF(E1>68507,"0"))
Hoe pas ik dit aan, zodat het wel werkt?
Er staat achteraan 1 haakje op de verkeerde plaats. Zo werkt je formule wel (ervan uitgaande dat op je computer de punt als decimaalteken en de komma als lijstscheidingsteken staat ingesteld:
code:
1
 '=IF(E1<=20711,"2711",IF(AND(E1>=20711,E1<=68507),2711-(0.05672*(E1-20711)))),IF(E1>68507,"0")

En verder:
- Getallen kun je best als getallen laten weergeven en niet als tekst, daarom kun je beter de dubbele aanhalingstekens rond 2711 en 0 verwijderen (alhoewel die geen foutmelding zullen veroorzaken als je ze laat staan).
- Omdat je in je formule al bepaalt wat er moet gebeuren als E1 kleiner of gelijk is aan 20711, kun je dat gedeelte daarna achterwege laten. Hiermee rekening houdend kan je formule worden ingekort tot:
code:
1
=IF(E1<=20711,2711;IF(E1<=68507,2711-(0.05672*(E1-20711)),IF(E1>68507;0)))

- Een opmerking terzijde: De getallen 20711 en 2711 lijken verdacht veel op elkaar, dat is toch niet per ongeluk een typfout?

Alle reacties


Acties:
  • +1 Henk 'm!

  • Matszs
  • Registratie: Juli 2010
  • Laatst online: 08-10 20:15

Matszs

><>

Kijk eens of je er met een 'beautifier' uit komt: http://excelformulabeautifier.com/

Acties:
  • +1 Henk 'm!

  • htca
  • Registratie: November 2001
  • Laatst online: 07:57
Splits je formule even op over meerdere cellen en maak dan de combinatie. Dan zie je vanzelf waar het misloopt. Ik denk dat je ergens een haakje of komma verkeerd hebt staan.

Acties:
  • 0 Henk 'm!

  • bregweb
  • Registratie: Juni 2005
  • Laatst online: 10:09
Is die laatste toevoeging niet een ELSE?
E1 is kleiner dan waarde E1-2711, E1 ligt tussen waardes E1-x2711, anders 0

Hattrick: Thorgal Eagles


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
theroman schreef op zaterdag 25 januari 2020 @ 12:01:
Als dit laatste deel wordt toegevoegd, krijg ik de foutmelding:
=IF(E1<=20711,"2711",IF(AND(E1>=20711,E1<=68507),2711-(0.05672*(E1-20711))),IF(E1>68507,"0"))
Hoe pas ik dit aan, zodat het wel werkt?
Er staat achteraan 1 haakje op de verkeerde plaats. Zo werkt je formule wel (ervan uitgaande dat op je computer de punt als decimaalteken en de komma als lijstscheidingsteken staat ingesteld:
code:
1
 '=IF(E1<=20711,"2711",IF(AND(E1>=20711,E1<=68507),2711-(0.05672*(E1-20711)))),IF(E1>68507,"0")

En verder:
- Getallen kun je best als getallen laten weergeven en niet als tekst, daarom kun je beter de dubbele aanhalingstekens rond 2711 en 0 verwijderen (alhoewel die geen foutmelding zullen veroorzaken als je ze laat staan).
- Omdat je in je formule al bepaalt wat er moet gebeuren als E1 kleiner of gelijk is aan 20711, kun je dat gedeelte daarna achterwege laten. Hiermee rekening houdend kan je formule worden ingekort tot:
code:
1
=IF(E1<=20711,2711;IF(E1<=68507,2711-(0.05672*(E1-20711)),IF(E1>68507;0)))

- Een opmerking terzijde: De getallen 20711 en 2711 lijken verdacht veel op elkaar, dat is toch niet per ongeluk een typfout?

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 07:50

g0tanks

Moderator CSA
htca schreef op zaterdag 25 januari 2020 @ 12:12:
Splits je formule even op over meerdere cellen en maak dan de combinatie. Dan zie je vanzelf waar het misloopt. Ik denk dat je ergens een haakje of komma verkeerd hebt staan.
Dit dus. Gebruik in het vervolg hulpkolommen om je formule op te splitsen en zo fouten te voorkomen.

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 09-10 19:43

Dido

heforshe

dix-neuf schreef op zondag 26 januari 2020 @ 11:11:
- Omdat je in je formule al bepaalt wat er moet gebeuren als E1 kleiner of gelijk is aan 20711, kun je dat gedeelte daarna achterwege laten. Hiermee rekening houdend kan je formule worden ingekort tot:
code:
1
=IF(E1<=20711,2711;IF(E1<=68507,2711-(0.05672*(E1-20711)),IF(E1>68507;0)))
Sterker nog, die laatste if is ook overbodig. Als E1 niet <= 68505, dan is E1 dus groter.
Dus dan wordt ie iets als dit:
code:
1
=IF(E1<=20711,2711,IF(E1<=68507,2711-(0.05672*(E1-20711)),0))


Afbouw heffingskorting?

Wat betekent mijn avatar?

Pagina: 1