• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Geneste IF-constructie

Status
Niet open voor verdere reacties.

JJZijlstra

Gebruiker
Lid geworden
26 nov 2013
Berichten
299
Beste lezer(s),

Misschien zie ik iets over het hoofd, maar graag het volgende.

In bijgevoegd bestandje heb ik een voorbeeld staan met een geneste IF-constructie.
De eerste 2 IF-constructies werken prima, maar de derde IF-constructie wordt niet meegenomen in bijgevoegd rekenvoorbeeld.
HTML:
 =IF(B3<1000,B3*0.02,IF(B3>1000,B3*0.03,IF(B3>2000,B3*0.04,"")))

M.a.w. Bij een bedrag hoger dan 2000 zou de 0.04 berekend moeten worden, maar hij berekent alleen maar tot 0.03. Hoe kan dit?

PS Gebruik het bestandje IF-Constructie Genest. De andere lijkt me minder geschikt.

Groet,
Toby
 

Bijlagen

2000 is ook groter dan 1000 dus bij de eerste IF is de voorwaarde al waar, dus wordt B3 vermenigvuldigd met 0,03. Ok al is B3 10.000. Excel kijkt niet vooruit in de formule of zo.

Vergelijk jouw formule eens met deze en probeer te achterhalen waarom deze wel goed gaat...
Code:
[NL] =B3*ALS(B3>2000;0,04;ALS(B3>1000;0,03;0,02))
[EN] =B3*IF(B3>2000,0.04,IF(B3>1000,0.03,0.02))

Voor Excel 365 is dit ook een optie:
Code:
[NL] =B3*ALS.VOORWAARDEN(B3>2000;0,04;B3>1000;0,03;B3<=1000;0,02)
[EN] =B3*IFS(B3>2000,0.04,B3>1000,0.03,B3<=1000,0.02)
 
Laatst bewerkt:
@AlexCEL,

Het werkt nu helemaal perfect.
Dit was precies de bedoeling.

Hartelijk dank voor uw hulp en snelle reactie.

Groet,
Toby
 
HTML:
=B3*ALS(B3>2000;0,04;ALS(B3>1000;0,03;0,02))
Het is dus altijd van de hoogste waarde naar de laagste zoals boven
en nooit zoals hieronder omschreven van de laagste waarde naar de hoogste, want dan gaat het mijns inziens mis. Zie ik dat juist?

En nooit: =
HTML:
B3*ALS(B3>1000;0,04;ALS(B3>2000;0,03;0,02))
 
Klopt in dit geval. Al B3 bijvoorbeeld 1500 is dan is in de onderste formule de eerste ALS "waar", en dus krijg je dan als uitkomt 0,04.

In de eerste formule is B3 dus niet groter dan 2000, dus kijkt Excel naar de tweede ALS. Daar is de eerste test wel "waar" dus is de uitkomt 0,03. Mocht B3 kleiner zijn dan 1000, dan is de tweede test "onwaar" en is de uitkomst 0,02.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan