Inhoudsopgave
De handleiding legt uit hoe u meerdere IF in Excel kunt gebruiken en geeft een aantal voorbeelden van geneste If-formules voor de meest voorkomende taken.
Als iemand u vraagt welke Excel-functie u het vaakst gebruikt, wat is dan uw antwoord? In de meeste gevallen is dat de Excel IF-functie. Een gewone If-formule die een enkele voorwaarde test is heel eenvoudig en gemakkelijk te schrijven. Maar wat als uw gegevens uitgebreidere logische tests met meerdere voorwaarden vereisen? In dat geval kunt u meerdere IF-functies in één formule opnemen, en deze meerdere If'sverklaringen worden genoemd Excel geneste IF Het grootste voordeel van het geneste If statement is dat u meer dan één voorwaarde kunt controleren en verschillende waarden kunt teruggeven afhankelijk van de resultaten van die controles, allemaal in één formule.
Microsoft Excel heeft grenzen aan de niveaus van geneste IF's In Excel 2003 en lager waren maximaal 7 niveaus toegestaan. In Excel 2007 en hoger kunt u tot 64 IF-functies in één formule nesten.
Verderop in deze handleiding vindt u een paar Excel geneste Als voorbeelden met een gedetailleerde uitleg van hun syntaxis en logica.
Voorbeeld 1. Klassieke geneste IF-formule
Hier volgt een typisch voorbeeld van Excel Als met meerdere voorwaarden. Stel dat u een lijst met studenten hebt in kolom A en hun examenscores in kolom B, en u wilt de scores indelen met de volgende voorwaarden:
- Uitstekend: meer dan 249
- Goed: tussen 249 en 200
- Bevredigend: tussen 199 en 150.
- Slecht: minder dan 150
Laten we nu een geneste IF-functie schrijven op basis van de bovenstaande criteria. Het wordt als een goede gewoonte beschouwd om te beginnen met de belangrijkste voorwaarde en je functies zo eenvoudig mogelijk te houden. Onze Excel geneste IF-formule gaat als volgt:
=IF(B2>249, "Uitstekend", IF(B2>=200, "Goed", IF(B2>150, "Bevredigend", "Slecht"))
En werkt precies zoals het hoort:
Inzicht in geneste IF-logica in Excel
Ik heb sommige mensen horen zeggen dat Excel multiple If hen gek maakt :) Probeer het vanuit een andere hoek te bekijken:
Wat de formule Excel eigenlijk vertelt te doen is het evalueren van de logische_test van de eerste IF-functie en, indien aan de voorwaarde is voldaan, de waarde teruggeven die in de waarde_indien_waar argument. Als niet aan de voorwaarde van de 1e If-functie is voldaan, test dan de 2e If-instructie, enzovoort.
ALS( controleer of B2>=249, indien waar - retour "Uitstekend, of andersALS( controleer of B2>=200, indien waar - retour "Goed", of anders
ALS( controleer of B2>150, indien waar - retour "Bevredigend", indien onwaar -
return "Poor"))
Voorbeeld 2. Meervoudige Indien met rekenkundige berekeningen
Hier is een andere typische taak: de eenheidsprijs varieert afhankelijk van de opgegeven hoeveelheid, en uw doel is een formule te schrijven die de totale prijs berekent voor elk aantal items dat in een specifieke cel wordt ingevoerd. Met andere woorden, uw formule moet meerdere voorwaarden controleren en verschillende berekeningen uitvoeren, afhankelijk van het bedragbereik waarin de opgegeven hoeveelheid valt:
Eenheid Hoeveelheid | Prijs per eenheid |
1 tot 10 | $20 |
11 tot 19 | $18 |
20 tot 49 | $16 |
50 tot 100 | $13 |
Over 101 | $12 |
Deze taak kan ook worden uitgevoerd met behulp van meerdere IF-functies. De logica is dezelfde als in het bovenstaande voorbeeld, het enige verschil is dat u de opgegeven hoeveelheid vermenigvuldigt met de waarde die de geneste IF's opleveren (d.w.z. de bijbehorende prijs per eenheid).
Ervan uitgaande dat de gebruiker de hoeveelheid in cel B8 invoert, is de formule als volgt:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF(B8>=11, 18, IF(B8>=1, 20, " )))))
En het resultaat ziet er ongeveer zo uit:
Zoals u begrijpt, demonstreert dit voorbeeld slechts de algemene aanpak, en u kunt deze geneste If-functie gemakkelijk aanpassen aan uw specifieke taak.
Bijvoorbeeld, in plaats van de prijzen in de formule "hard te coderen", kunt u verwijzen naar de cellen met die waarden (cellen B2 tot B6). Zo kunnen uw gebruikers de brongegevens bewerken zonder de formule te hoeven bijwerken:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, " )))))
Of u kunt een extra IF-functie(s) opnemen die een boven- of ondergrens of beide grenzen van het bedragbereik vastlegt. Als de hoeveelheid buiten het bereik valt, geeft de formule een "buiten bereik"-melding. Bijvoorbeeld:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, " ))))))
De hierboven beschreven geneste IF-formules werken in alle versies van Excel. In Excel 365 en Excel 2021 kunt u voor hetzelfde doel ook de IFS-functie gebruiken.
Gevorderde Excel-gebruikers die vertrouwd zijn met matrixformules, kunnen deze formule gebruiken die in principe hetzelfde doet als de hierboven besproken geneste IF-functie. Hoewel de matrixformule veel moeilijker te begrijpen is, laat staan te schrijven, heeft zij één onbetwistbaar voordeel - u specificeert het celbereik dat uw voorwaarden bevat in plaats van naar elke voorwaarde afzonderlijk te verwijzen. Dit maaktde formule flexibeler, en als uw gebruikers toevallig een van de bestaande voorwaarden wijzigen of een nieuwe toevoegen, hoeft u slechts een enkele bereikverwijzing in de formule bij te werken.
Excel geneste IF - tips en trucs
Zoals u zojuist hebt gezien, is het gebruik van meerdere IF in Excel geen raketwetenschap. De volgende tips zullen u helpen uw geneste IF-formules te verbeteren en veelgemaakte fouten te voorkomen.
Geneste IF grenzen
In Excel 2007 - Excel 365 kunt u maximaal 64 IF-functies nesten. In oudere versies van Excel 2003 en lager kunt u maximaal 7 geneste IF-functies gebruiken. Het feit dat u veel IF's in één formule kunt nesten, betekent echter niet dat u dat ook moet doen. Houd er rekening mee dat elk extra niveau uw formule moeilijker te begrijpen en problemen op te lossen maakt. Als uw formule te veel geneste niveaus heeft, kan het zijn dat uwillen optimaliseren door een van deze alternatieven te gebruiken.
De volgorde van geneste IF-functies is van belang
De geneste IF-functie van Excel evalueert de logische tests in de volgorde waarin zij in de formule voorkomen, en zodra een van de voorwaarden op TRUE uitkomt, worden de volgende voorwaarden niet meer getest. Met andere woorden, de formule stopt na het eerste TRUE-resultaat.
Laten we eens kijken hoe het in de praktijk werkt. Met B2 gelijk aan 274 evalueert de onderstaande geneste IF-formule de eerste logische test (B2>249), en geeft "Uitstekend" terug omdat deze logische test WAAR is:
=IF(B2>249, "Uitstekend", IF(B2>=200, "Goed", IF(B2>150, "Bevredigend", "Slecht"))
Laten we nu de volgorde van de IF-functies omkeren:
=IF(B2>150, "Bevredigend", IF(B2>200, "Goed", IF(B2>249, "Uitstekend", "Slecht"))
De formule test de eerste voorwaarde, en omdat 274 groter is dan 150, is het resultaat van deze logische test ook WAAR. Bijgevolg geeft de formule "Bevredigend" zonder andere voorwaarden te testen.
Zie je, het veranderen van de volgorde van de IF-functies verandert het resultaat:
Evalueer de logica van de formule
Om de logische stroom van uw geneste IF-formule stap voor stap te bekijken, gebruikt u de functie Formule evalueren in het venster Formule tabblad, in de Formulecontrole groep. De onderstreepte uitdrukking is het deel dat momenteel wordt geëvalueerd, en als u op de knop Evalueer knop toont u alle stappen in het evaluatieproces.
Bijvoorbeeld, de evaluatie van de eerste logische test van de geneste IF-formule in het onderstaande screenshot zal als volgt verlopen: B2>249; 274>249; TRUE; Excellent.
Balanceer de haakjes van geneste IF-functies
Een van de grootste uitdagingen bij geneste IF's in Excel is het matchen van haakjesparen. Als de haakjes niet matchen, werkt uw formule niet. Gelukkig biedt Microsoft Excel een paar functies die u kunnen helpen de haakjes in balans te brengen bij het bewerken van een formule:
- Als je meer dan één set haakjes hebt, worden de haakjesparen in verschillende kleuren gearceerd, zodat de openende haakjes overeenkomen met de sluitende.
- Wanneer u een haakje sluit, licht Excel het overeenkomende paar kort op. Hetzelfde vette, of "flikkerende" effect wordt geproduceerd wanneer u met de pijltjestoetsen door de formule gaat.
Voor meer informatie, zie Overeenkomende haakjesparen in Excel-formules.
Tekst en cijfers verschillend behandelen
Wanneer u logische tests van uw geneste IF-formules maakt, moet u onthouden dat tekst en getallen verschillend moeten worden behandeld - zet tekstwaarden altijd tussen dubbele aanhalingstekens, maar zet nooit aanhalingstekens rond getallen:
Juist: =IF(B2>249, "Excellent",...)
Fout: =IF(B2>"249", "Excellent",…)
De logische test van de tweede formule zal FALSE opleveren, zelfs als de waarde in B2 groter is dan 249. Waarom? Omdat 249 een getal is en "249" een numerieke tekenreeks, die twee verschillende dingen zijn.
Spaties of regeleinden toevoegen om geneste IF's leesbaarder te maken
Wanneer u een formule maakt met meerdere geneste IF-niveaus, kunt u de logica van de formule duidelijker maken door verschillende IF-functies te scheiden met spaties of regeleinden. Excel geeft niet om extra spaties in een formule, dus u hoeft zich geen zorgen te maken over het mangelen ervan.
Om een bepaald deel van de formule naar de volgende regel te verplaatsen, klikt u op waar u een regeleinde wilt invoegen, en drukt u op Alt + Enter . Breid vervolgens de formulebalk zo ver uit als nodig is, en u zult zien dat uw geneste IF-formule veel begrijpelijker is geworden.
Alternatieven voor geneste IF in Excel
Om de limiet van zeven geneste IF-functies in Excel 2003 en oudere versies te omzeilen en uw formules compacter en sneller te maken, kunt u overwegen de volgende alternatieven voor geneste IF-functies in Excel te gebruiken.
- Om meerdere voorwaarden te testen en verschillende waarden terug te geven op basis van de resultaten van die tests, kunt u de CHOOSE-functie gebruiken in plaats van geneste IF's.
- Maak een referentietabel en gebruik VLOOKUP met benaderde overeenkomst zoals in dit voorbeeld: VLOOKUP in plaats van geneste IF in Excel.
- Gebruik IF met de logische functies OR / AND, zoals gedemonstreerd in deze voorbeelden.
- Gebruik een matrixformule zoals in dit voorbeeld.
- Combineer meerdere IF statements door gebruik te maken van de CONCATENATE functie of de concatenate operator (&). Een voorbeeld van een formule vindt u hier.
- Voor ervaren Excel-gebruikers is het beste alternatief voor het gebruik van meerdere geneste IF-functies wellicht het maken van een aangepaste werkbladfunctie met behulp van VBA.
Zo gebruikt u een If-formule in Excel met meerdere voorwaarden. Ik dank u voor het lezen en hoop u volgende week op onze blog te zien.
Praktijk werkboek om te downloaden
Geneste If-uitspraken in Excel (.xlsx-bestand)