Meerdere IF-verklaringen gebruiken in Microsoft Excel
Afbeelding tegoed: monkeybusinessimages/iStock/GettyImages
Een IF-instructie in Excel voert een logische test uit die één waarde retourneert als aan een voorwaarde wordt voldaan en een andere waarde als dat niet het geval is. Het gebruik van één Excel IF-statement is alleen geschikt voor basisbewerkingen, maar als u meerdere IF-statements nest, kunt u ingewikkelde taken uitvoeren. Het enige nadeel is dat je voorzichtig moet zijn bij het construeren van de formule om fouten te voorkomen. Alternatieve Excel-functies kunnen hetzelfde werk doen met minder risico op fouten. Leer de basisprincipes van geneste IF-instructies in Excel en de alternatieven om de beste aanpak voor uw behoeften te vinden.
De Excel IF-verklaring begrijpen
De ALS-functie in Excel zegt in wezen "als dit waar is, retourneer dan de x-waarde, maar als dat niet het geval is, retourneer dan de y-waarde." Als u bijvoorbeeld aan het controleren was of verschillende afdelingen in uw bedrijf onder of boven het budget waren, kunt u hun uitgaven vergelijken met hun budgetten met behulp van de functie en deze laten terugkeren "Over budget" als de afdeling te veel heeft uitgegeven of "Binnen budget" als het niet. Over het algemeen gebruik je vergelijkingsoperatoren om je stelling te vormen, zoals:
Video van de dag
- = (gelijk aan)
(groter dan)
= (groter dan of gelijk aan)
- < (kleiner dan)
- <= (kleiner dan of gelijk aan)
- <> (niet gelijk aan)
Het begrijpen van de syntaxis van de Excel IF-instructie is een cruciale stap om deze correct te leren gebruiken. Het formaat voor de functie is IF(logische_test; waarde_als_waar, [waarde_if_false]) waarbij de vierkante haken aangeven dat dit laatste argument optioneel is. Deze zijn gemakkelijk te interpreteren: logische test betekent de verklaring die u wilt testen, value_if_true is de plek voor wat u wilt dat Excel laat zien of de test waar is, en [value_if_false] is de optionele plek voor wat u wilt dat Excel weergeeft als de test onwaar is.
Dit is voldoende om de Excel-formule voor als-dan-verklaringen te gebruiken, wat kan worden aangetoond met het voorbeeld "Over budget/binnen budget" van eerder. Stel je hebt het bedrag dat door verschillende afdelingen is uitgegeven in kolom B en het begrote bedrag in kolom C, waarbij de waarden op de tweede rij beginnen. In cel D2 typ je =ALS(B2>C2, "Over budget", "Binnen budget") om het resultaat te retourneren waarnaar u op zoek bent (merk op dat u aanhalingstekens moet gebruiken om ervoor te zorgen dat de tekst erin wordt geretourneerd). Het eerste deel zegt "als de waarde in B2 groter is dan de waarde in C2" (als de uitgaven groter zijn dan het budget), het tweede deel zegt "geef dan de tekst terug Budget overschreden en het derde deel zegt "zo niet, keer dan terug" Binnen het budget."
Meerdere IF-statements nesten
Door optimaal gebruik te maken van de Excel IF-statementtool, kun je meerdere IF-statements combineren wanneer je een taak hebt die daarvoor geschikt is. U kunt een tweede IF-verklaring in uw oorspronkelijke IF-verklaring opnemen, en u kunt daar nog een IF-verklaring in opnemen, enzovoort. Dit is met name handig als u iets met één formule in een van meerdere groepen wilt categoriseren. U kunt bijvoorbeeld geneste IF-statements gebruiken om de scores die studenten op een toets hebben behaald om te zetten in een cijfer.
Als u meerdere IF-instructies correct wilt gebruiken, moet u nadenken over de logica van wat u Excel vraagt te doen. In wezen kun je na je voorwaarde (het eerste argument in de functie), nog een IF-instructie toevoegen aan de value_if_true of value_if_false spaties, om Excel te vertellen wat het volgende moet doen. Zie dit als ervoor zorgen dat Excel de cel controleert aan de hand van een tweede criterium als de cel in kwestie dat niet doet voldoen aan het eerste criterium (of inderdaad, als het aan het eerste voldoet), en je kunt dit proces lang voortzetten tijd. Met andere woorden, je verandert "als dit, dan dat" in "als dit" en dit, dan dat" of "als niet dit maar dit, dan dat."
Een voorbeeld van een geneste IF-functie
Stel je voor dat je studenten een toets hebt gegeven waarbij een score van 85 procent of hoger een A is, tussen 70 en 85 procent is een B, tussen 55 en 70 procent is een C, tussen 40 procent en 55 procent is een D en alles wat lager is is a Mislukking. De scores staan in kolom B, van rij 2 tot en met rij 11. U kunt een zorgvuldig opgebouwde Excel ALS-functie met meerdere voorwaarden gebruiken om de scores van de studenten te categoriseren.
Het eerste deel is eenvoudig (voor een score in B2, in dit voorbeeld): =ALS(B2>=85, "A") vertelt Excel om een A te retourneren als de student 85 of hoger scoorde. Door te nesten kun je andere cijfers toevoegen, gebruikmakend van het derde argument (wat te doen als de voorwaarde onwaar is) om extra voorwaarden toe te voegen: =ALS(B2>=85, "A", ALS(B2>=70, "B")), die Excel vertelt om een A te retourneren voor scores van 85 of hoger, maar als dat niet het geval is, retourneert u een B als de score hoger is dan 70. Ga op deze manier verder om de formule te voltooien, waarbij u telkens het derde argument voor een nieuwe IF-instructie gebruikt: =IF(B2>=85, "A", IF(B2>=70, "B",IF(B2>=55, "C", IF(B2>=40, "D", "Fail")) ))
Dit ziet er ingewikkeld uit, dus het opbreken ervan zou het idee moeten versterken. De eerste twee argumenten zeggen "als de score in B2 85 of meer is, dan krijgt de student een A", en de derde zegt: "Controleer anders de volgende voorwaarde." De tweede IF leidt tot deze uitspraak: "(voor studenten die minder dan 85 scoren) als de score in B2 70 of hoger is, krijgt de student een B, en zo niet, controleer dan de volgende voorwaarde." De derde IF zegt: "(voor studenten die minder dan 70 scoren) als de score in B2 55 of hoger is, krijgt de student een C, en zo niet, controleer dan de volgende voorwaarde" en de vierde zegt "(voor studenten die minder dan 55 scoren) als de score in B2 hoger is dan 40, krijgt de student een D, zo niet, de student mislukt."
Foutcodes voor IF-verklaringen
Op voorwaarde dat u de formule voor uw IF-statement correct invoert, wordt een van de opties geretourneerd die u aan Excel hebt gegeven. Als u echter een fout maakt, kan de formule a. retourneren 0 of #NAAM? in de cel met uw formule.
EEN 0 fout betekent dat ofwel de value_if_true of value_if_false argumentatie is leeg. Los dit probleem op door ervoor te zorgen dat een waarde wordt ingevoerd in beide argumenten, of in ieder geval in de value_if_true argument. De value_if_false argument kan volledig worden verwijderd, en het zal FALSE retourneren als u geen tweede komma plaatst na de value_if_true veld.
EEN #NAAM? error geeft aan dat je waarschijnlijk iets verkeerd hebt gespeld of getypt in de formule. Dit is misschien wat moeilijker op te lossen omdat het elk deel van de formule kan zijn, maar het beste advies is om alles nog een keer te controleren of de formule opnieuw uit te schrijven.
Veelvoorkomende problemen met geneste IF-verklaringen
De vorige voorbeeld geneste ALS-functieformule werd behoorlijk lang, wat een van de belangrijkste nadelen is van het gebruik van meerdere IF-instructies in Excel. Ze kunnen ingewikkeld worden en het is gemakkelijk om een fout te maken, omdat je de logica zorgvuldig moet volgen om er zeker van te zijn dat alles werkt zoals je wilt. Microsoft wijst erop dat een onjuist geneste formule meestal zelfs het juiste resultaat oplevert, maar in zeldzame gevallen onjuiste resultaten. Deze zijn moeilijk te herkennen.
Het niet in de juiste volgorde zetten van de voorwaarden is een veelgemaakte fout. Als u in het voorbeeld van de beoordeelde toetsen bent begonnen met de lagere score =ALS(B2>=40, "D", ..." en ging verder met het opsommen van de anderen in oplopende volgorde, zelfs een score van 100 zou een D opleveren. Dit komt omdat de eerste voorwaarde het eerst wordt gecontroleerd, dus als je bent begonnen met "als cel B2 40 of hoger is, retourneer a D" zou het elke score van 40 of hoger classificeren als een D zonder iets anders te controleren, omdat het voldoet aan de eerste voorwaarde. Dit is een perfect voorbeeld van waarom u de logica van uw formule moet volgen.
U moet er ook voor zorgen dat u het juiste aantal haakjes toevoegt aan het einde van meerdere IF-instructies om de formule correct te sluiten. Excel helpt hierbij door de kleur te coördineren en de haakjes te markeren terwijl u werkt.
Maximaal aantal geneste IF's
Technisch gezien kunt u maximaal 64 IF-functies in een enkele formule nesten, maar Microsoft raadt het gebruik van de functie om de bovenstaande redenen niet aan. Dingen worden snel ingewikkeld en de kans is groot dat als u meer dan 10 IF-instructies probeert te nesten, er waarschijnlijk al een betere tool voor de taak in Excel is opgenomen.
De IFS-functie in Excel
Het handigste alternatief voor de IF-functie is de IFS-functie, een versie van de functie die dezelfde taak uitvoert als nesten in een enkele functie en tot 127. aankan conditie. De IFS-functie heeft een eenvoudigere syntaxis: =IFS(logische_test1, waarde_if_true1, [logische_test2, waarde_if_true2], [logische_test3, waarde_if_true3]...) enzovoorts. In wezen werkt dit als geneste IF-statements, behalve dat daaropvolgende IF-statements de spatie na de "waarde indien waar" innemen zonder dat de functie opnieuw hoeft te worden weergegeven.
De formule in het voorbeeld van een toetscijfer kan veel eenvoudiger worden geschreven met de IFS-functie. In plaats van:
=IF(B2>=85, "A", IF(B2>=70, "B",IF(B2>=55, "C", IF(B2>=40, "D", "Fail")) ))
gewoon schrijven
=IFS(B2>=85, "A", B2>=70, "B", B2>=55, "C", B2>=40, "D", TRUE, "Fail")
De WAAR op de voorlaatste plek zegt "als aan geen van de andere waarden wordt voldaan, retourneer dan de volgende waarde."
Deze functie is alleen beschikbaar in Excel 2019 of Excel voor Office 365.
De VERT.ZOEKEN-functie
De functie VERT.ZOEKEN in Excel is vaak een eenvoudiger alternatief voor meerdere IF-instructies en is vanaf 2007 beschikbaar in elke versie van Excel. Het is niet ideaal voor alle situaties, omdat het resultaten oplevert voor een exacte overeenkomst of voor de dichtstbijzijnde nummer, dus het kan niet worden gebruikt voor cijfers zoals in het vorige voorbeeld. In veel situaties kan het u echter veel werk besparen om een formule uit te schrijven, hoewel u een tabel met mogelijke waarden in één kolom, zoals producten die uw winkel verkoopt, en wat u wilt dat de functie retourneert, zoals de prijs van het product, in een andere kolom, voor voorbeeld.
De syntaxis voor VERT.ZOEKEN is =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) en door elk van de componenten te leren, leert u hoe u het moet gebruiken. De opzoekwaarde argument is de waarde die u wilt controleren, die een cel moet zijn in dezelfde kolom als het begin van de tabel waaraan u deze wilt controleren, erboven of eronder. De table_array is het cellenbereik dat uw informatietabel bevat, zoals producten en de bijbehorende prijzen, en col_index_num is de kolom waarin u wilt dat Excel kijkt om de waarde te vinden die moet worden geretourneerd, met 1 met vermelding van de meest linkse kolom, 2 de volgende aanduiden enzovoort. Eindelijk, [range_lookup] is optioneel, maar voer "TRUE" in als u wilt dat Excel het antwoord baseert op de dichtstbijzijnde waarde of "FALSE" als u alleen een exacte overeenkomst wilt.