Cursus
Geneste IF()-verklaringen kunnen meerdere voorwaarden in één formule afhandelen. Ik heb ze gebruikt voor alles, van het analyseren van verkooprapporten tot het categoriseren van klantgegevens en zelfs het maken van dashboards. In plaats van meerdere formules te gebruiken of extra kolommen aan te maken, kun je één efficiënte formule maken die alles doet.
Maar toen ik net begon, vond ik dit soort geavanceerde formules best lastig om te begrijpen. Als jij in hetzelfde schuitje zit, raad ik je aan om te starten met de cursus Data Analysis in Excel of de skill track Excel Fundamentals. Die helpen je een stevige basis op te bouwen voor geavanceerde technieken zoals geneste IF().
Wat is geneste IF() in Excel?
We gebruiken een eenvoudige IF()-verklaring om één voorwaarde te controleren. Maar als je meer dan één voorwaarde moet controleren, kun je meerdere IF()-verklaringen combineren — dat creëert een geneste IF(). Hiermee kun je meerdere logische tests achter elkaar uitvoeren en verschillende resultaten krijgen voor elke test.
Dit is de basis-syntaxis:
=IF(condition1, value_if_true, IF(condition2, value_if_true, value_if_false))
Je kunt geneste IF()-verklaringen gebruiken om complexe beslislogica op één plek af te handelen. Stel dat je cijfers berekent op basis van scorebereiken. Met een geneste IF() kun je een formule schrijven zoals deze:
=IF(A1>=90, "A", IF(A1>=80, "B", IF(A1>=70, "C", "F")))
Deze formule controleert of een score in cel A1 groter dan of gelijk is aan 90, 80 of 70, en kent een overeenkomstig cijfer toe.
Wanneer gebruik je geneste IF() in Excel
Je kunt geneste IF() gebruiken om elke voorwaarde sequentieel te controleren en de bijbehorende waarde te retourneren als een voorwaarde waar is, of door te gaan naar de volgende als dat niet zo is. Ik laat je met een paar voorbeelden zien hoe het werkt.
Voorbeeld 1: Gegevens categoriseren met geneste IF()
Stel dat ik elke medewerker een batch wil toewijzen op basis van het aantal dienstjaren in het bedrijf.
| Dienstjaren | Batch |
|---|---|
| ≥ 10 jaar | Platinum |
| 5–9 jaar | Gold |
| < 5 jaar | Silver |
Dit is de formule die ik zou gebruiken:
=IF(C2>=10, "Platinum", IF(C2>=5, "Gold", "Silver"))
Laten we nu begrijpen hoe dit werkt:
-
IF(C2>=10, "Platinum", ...)controleert of de waarde in cel C2 groter dan of gelijk is aan 10. Als dat zo is, retourneert het Platinum. Zo niet, dan gaat het door naar de volgende voorwaarde. -
Vervolgens controleert
IF(C2>=5, "Gold", "Silver")of de waarde in C2 groter dan of gelijk is aan 5. Als dat zo is, retourneert het Gold. -
Als geen van beide voorwaarden wordt gehaald, is de standaardwaarde Silver.

De geneste IF()-functie toepassen. Afbeelding door de auteur.
Geneste IF()-verklaringen zijn handig in dit soort situaties waarin je snel gegevens wilt categoriseren of groeperen. Maar dat is slechts één manier om ze te gebruiken. Je kunt geneste IF()-verklaringen ook gebruiken voor gegevensvalidatie, zoals controleren of een invoer binnen een specifiek bereik valt, of voor voorwaardelijke opmaak, zoals rijen markeren die aan bepaalde criteria voldoen.
Voorbeeld 2: Gegevensvalidatie met geneste IF()
Stel dat ik wil dat de waarden in kolom A tussen 10 en 50 liggen. Ik kan gegevensvalidatie instellen om deze regel af te dwingen. Zo doe je dat:
-
Selecteer het bereik voor validatie, bijvoorbeeld
A1:A10. -
Ga naar het tabblad Data en klik op Gegevensvalidatie.
-
Kies in het dialoogvenster Gegevensvalidatie voor Aangepast in de vervolgkeuzelijst Toestaan.
-
Voer de volgende formule in het veld Bron in:
=IF(A1>=10, IF(A1<=50, TRUE, FALSE), FALSE)
Deze formule zorgt ervoor dat de waarde in A1 tussen 10 en 50 valt. Om het nog gebruiksvriendelijker te maken, kun je een foutmelding toevoegen. Ga daarvoor naar het tabblad Foutmelding. Stel een bericht in zoals: "Waarde moet tussen 10 en 50 liggen."

Geneste IF() gebruiken voor gegevensvalidatie. Afbeelding door de auteur.
Als je nu een waarde buiten het bereik invoert, verschijnt de foutmelding om ongeldige invoer te voorkomen en je gegevens consistent te houden.

Er is een fout opgetreden. Afbeelding door de auteur.
Voorbeeld 3: Voorwaardelijke opmaak met geneste IF()
Laten we nog een stap verder gaan. Nu wil ik rijen markeren waarbij de waarden in kolom B tussen 10 en 50 liggen. Zo pak je dat aan:
-
Selecteer het bereik dat je wilt opmaken, bijvoorbeeld
B1:B10. -
Ga naar Start > Voorwaardelijke opmaak > Nieuwe regel.
-
Kies Een formule gebruiken om te bepalen welke cellen worden opgemaakt en voer de formule in:
=IF($B1>=10, IF($B1<=50, TRUE, FALSE), FALSE)
4. Klik op Opmaak en kies een opvulkleur. Klik daarna op OK om de regel toe te passen.

Geneste IF() gebruiken voor voorwaardelijke opmaak. Afbeelding door de auteur.
Je ziet nu dat alle rijen die aan de criteria voldoen, gemarkeerd zijn:

Voorwaardelijke opmaak met geneste IF(). Afbeelding door de auteur.
Geneste IF() combineren met andere Excel-functies
Geneste IF()-functies zijn op zichzelf al veelzijdig, maar in combinatie met andere Excel-functies worden ze nog handiger. Ik laat je met wat voorbeelden zien hoe.
IF() met VLOOKUP()
Als je VLOOKUP() combineert met IF(), kun je voorwaardelijk gegevens ophalen en bewerken op basis van specifieke criteria. Stel, je hebt een prijslijst die per regio verschilt. Als de regio Noord is, wil je 10% korting toepassen — anders toon je de standaardprijs.
Gebruik hiervoor de volgende formule:
=IF(C2="North",VLOOKUP(B2,B2:D7,3,FALSE)*0.9,VLOOKUP(B2,B2:D7,3,FALSE))
In de bovenstaande formule controleert de IF()-functie of de regio in C2 North is. Als dat zo is, wordt de door VLOOKUP() opgehaalde prijs vermenigvuldigd met 0,9 om 10% korting toe te passen. Zo niet, dan haalt VLOOKUP() de standaardprijs op.

IF() combineren met VLOOKUP(). Afbeelding door de auteur.
IF() met SUMIF()
De functie SUMIF() telt waarden op op basis van bepaalde criteria. Als je die combineert met IF(), kun je data nog beter analyseren door alleen getallen op te tellen die aan specifieke voorwaarden voldoen. Als ik bijvoorbeeld de totale verkoop voor de regio Noord wil berekenen, gebruik ik de volgende formule:
=IF(B2="North",(SUMIF(B2:C10,B2,C2:C10)),"")
In de bovenstaande formule controleert de IF()-functie of de regio in B2 North is. Als TRUE, telt SUMIF() alle waarden in kolom C op die overeenkomen met North. Als FALSE, retourneert het een lege tekenreeks.

IF() combineren met SUMIF(). Afbeelding door de auteur.
Dingen die ik dubbelcheck als ik formules combineer
Het was lastig toen ik meerdere functies begon te combineren. Ik schreef complexe formules die vervolgens stukliepen door iets simpels. Dit zijn een paar lessen die ik met vallen en opstaan heb geleerd:
-
Houd haakjes bij: Hier ging het meestal mis. Ik vergat een sluitend haakje en was vervolgens lang bezig om te ontdekken waarom mijn formule niet werkte. Nu check ik altijd of elk openingshaakje een bijpassend sluitingshaakje heeft. Dat scheelt zóveel tijd.
-
Fouten afvangen: Als je ooit een lelijke fout uit een formule hebt gekregen door één ontbrekende waarde, weet je hoe frustrerend dat is. Ik gebruik nu altijd
IFERROR()om zulke issues op te vangen en te vervangen door iets nuttigers, zoals een aangepast bericht. -
Benoemde bereiken gebruiken: Voor ik bereiken een naam gaf, raakte ik in lange formules het overzicht kwijt welk bereik ik waar gebruikte. Sinds ik ze duidelijke namen geef, zijn mijn formules leesbaarder en is de kans kleiner dat ik een verwijzing verknoei.
Alternatieven voor geneste IF()
Om volledig te zijn, bekijken we wat opties.
IFS()-functie
Hoewel Excel tot 64 geneste IF()-functies ondersteunt, laten we eerlijk zijn — zoveel voorwaarden stapelen levert foutgevoelige formules op die niemand wil debuggen. Gebruik je Excel 2016 of later, dan kun je de functie IFS() gebruiken. Dat is een netter alternatief om meerdere voorwaarden af te handelen zonder te nesten.
Dit is de syntaxis:
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2])
Ik laat je zien hoe het werkt. Stel dat ik belastingtarieven moet berekenen op basis van salarissen van medewerkers, dan pas ik de volgende formule toe.
=IFS(C2<=30000, "10%", C2<=60000, "20%", C2<=100000, "30%", C2>100000, "40%")
Als het salaris in C2 $30.000 of minder is, retourneert het 10%. Tussen $30.001 en $60.000 retourneert het 20%. Tussen $60.001 en $100.000 retourneert het 30%. Alles boven $100.000 retourneert 40%.
Net als bij de functie IF() is de volgorde van de voorwaarden belangrijk. Excel stopt met evalueren zodra het de eerste voorwaarde vindt die TRUE is. Als geen van je voorwaarden wordt gehaald, krijg je een fout. Om dat te voorkomen, kun je aan het eind een standaardvoorwaarde toevoegen zoals deze:
=IFS(C2<=30000, "10%", C2<=60000, "20%", C2<=100000, "30%", C2>100000, "40%", TRUE, "No Tax")
Nu retourneert Excel No Tax als geen van de salarisvoorwaarden wordt gehaald, in plaats van een #N/A fout te geven.

De IFS()-functie gebruiken. Afbeelding door de auteur.
IF() gecombineerd met IF() met &
Als optie kun je IF() combineren met functies zoals & of CONCATENATE(). Hier is een voorbeeld waarin ik de kortingsaanbieding per regio toon:
=(IF(C2="North", 10%, "") & IF(C2="South",15%, "") & IF(C2="East", 5%, "") & IF(C2="West", 20%, ""))*1
In de bovenstaande formule controleert elke IF()-verklaring de regio en voegt het kortingspercentage als tekst toe. De *1 aan het eind zet het resultaat om in een getal. Wil je tekst als output, dan kun je die weglaten.

Meerdere IF()-functies aaneenkoppelen. Afbeelding door de auteur.
CHOOSE()- of SWITCH()-functies
Als je op zoek bent naare alternatieven, zijn CHOOSE() en SWITCH() het onderzoeken waard. Ze zijn ideaal voor eenvoudige scenario’s waarin je moet kiezen uit vooraf gedefinieerde opties of één waarde aan meerdere uitkomsten moet koppelen. Bekijk de cursus Data Analysis in Excel van DataCamp, waarin je veel kunt oefenen met uiteenlopende functies.
Tips voor het oplossen van problemen met geneste IF()
Toen ik begon met geneste IF()-formules, kreeg ik vaak fouten. Ze leken onmogelijk op te lossen. Met tijd en fouten maken heb ik echter lessen geleerd die ik graag eerder had geweten. Hier zijn er een paar:
-
Verwarring over gegevenstypes: Getallen en tekst door elkaar vergelijken kan onverwachte resultaten opleveren. Als je tekst vergelijkt, zorg dan dat het als tekst is geformatteerd. Hetzelfde geldt voor getallen.
-
De limiet bereiken: Excel heeft een limiet van 64 niveaus voor geneste
IF(). Als je formule niet meer werkt, check dan of je die limiet hebt geraakt. Op dat punt is het vaak tijd om je aanpak te herzien of over te stappen op een andere functie zoalsIFS()ofSWITCH().
Als je formule zich niet gedraagt zoals verwacht, kun je dit doen:
- Breek het op: Probeer niet een enorme formule in één keer te troubleshooten. Hak ’m in kleinere stukken en test elk deel. Zo kun je precies aanwijzen waar het misgaat.
- Gebruik de formule-auditingtools van Excel: Deze tools zijn goud waard bij debuggen. Gebruik Formule evalueren om je formule stap voor stap door te lopen of Voorgangers/afhankelijken traceren om te zien hoe cellen met elkaar verbonden zijn.
- Controleer de gegevensopmaak van je cellen: Soms is het gewoon een opmaakprobleem. Als een cel bijvoorbeeld tekst bevat maar eruitziet als een getal, kan je formule anders werken dan verwacht. Dubbelcheck en pas de opmaak aan indien nodig.
Een uitdaging
Hier is een eenvoudige challenge om toe te passen wat je hebt geleerd. Stel, je berekent bonussen voor medewerkers op basis van prestaties en dienstjaren. Je wilt geven:
- Een bonus van 10% als de prestatie Excellent is en de dienstjaren meer dan 5 zijn.
- Een bonus van 5% als de prestatie Good is en de dienstjaren meer dan 3 zijn.
- Anders geen bonus.
Zo kun je de formule schrijven:
=IF(B2="Excellent", IF(C2>5, D2*10%, "No Bonus"), IF(B2="Good", IF(C2>3, D2*5%, "No Bonus"), "No Bonus"))
Probeer dit uit en kijk of je het kunt aanpassen aan jouw situaties.
Tot slot
Toen ik geneste IF()-verklaringen begon te gebruiken, was ik verbaasd hoeveel tijd ik bespaarde en hoeveel nieuwe mogelijkheden er opengingen. Als je hebt meegelezen, heb je vast hetzelfde potentieel gezien.
De sleutel tot het onder de knie krijgen van geneste IF() is echt oefenen. Hoe meer je experimenteert en deze technieken toepast in je eigen projecten, hoe sneller ze vanzelfsprekend worden. Als je klaar bent om je skills nog verder te brengen, raad ik je de cursus Financial Modeling in Excel of de skill track Data Analysis with Excel Power Tools op DataCamp ten zeerste aan. Die helpen je de kloof te overbruggen tussen formules kennen en Excel gebruiken als een echt business-tool.
Excel heeft enorm veel te bieden, en geneste IF() is daar één onderdeel van. Zodra je deze formules creatief gaat gebruiken, zie je hoe behulpzaam Excel kan zijn.
Ik ben een contentstrateeg die graag complexe onderwerpen eenvoudig maakt. Ik heb bedrijven als Splunk, Hackernoon en Tiiny Host geholpen om boeiende en informatieve content te maken voor hun doelgroep.
Geneste IF() veelgestelde vragen
Wat is een geneste IF()-verklaring in Excel?
Een geneste if-verklaring in Excel is een formule waarmee meerdere voorwaarden binnen één enkele verklaring kunnen worden geëvalueerd, met verschillende uitkomsten op basis van de toegepaste logica.
Hoe schrijf ik een geneste IF()-verklaring in Excel?
Om een geneste if-verklaring te schrijven, begin je met een eerste IF-functie en voeg je vervolgens extra IF-functies toe binnen de TRUE- of FALSE-argumenten om verdere voorwaarden te evalueren.
Wanneer moet ik geneste IF()-verklaringen gebruiken?
Gebruik geneste if-verklaringen bij complexe beslisvragen waarbij je meerdere voorwaarden moet evalueren en verschillende resultaten moet retourneren op basis van die voorwaarden.
Kunnen geneste IF()-verklaringen worden gecombineerd met andere Excel-functies?
Ja, geneste if-verklaringen kunnen worden gecombineerd met andere functies zoals VLOOKUP of SUMIF om de functionaliteit te vergroten en uitgebreidere data-analyse mogelijk te maken.
Wat zijn veelvoorkomende valkuilen bij het gebruik van geneste IF()-verklaringen?
Veelvoorkomende valkuilen zijn te complexe formules maken die lastig te lezen en te debuggen zijn. Het is belangrijk om duidelijkheid en structuur te behouden bij het gebruik van geneste if-verklaringen.
Beperkt Excel het aantal geneste IF()-functies?
Ja. In oudere versies (Excel 2003 en eerder) kun je tot 7 niveaus van IF()-functies nesten. Vanaf Excel 2007 is deze limiet verhoogd naar 64 niveaus van geneste IF()-functies in één formule.
Waarom heeft Excel überhaupt een nestingslimiet?
De limiet bestaat om de prestaties te waarborgen en te voorkomen dat formules té complex worden, wat beheer, debugging en berekening lastig maakt.

