ALS-functie – geneste formules en het vermijden van valkuilen
Van toepassing opExcel voor Microsoft 365 Excel voor Microsoft 365 voor Mac Webversie van Excel Excel 2024 Excel 2024 voor Mac Excel 2021 Excel 2021 voor Mac Excel 2019 Excel 2016 Excel Web App Excel voor Windows Phone 10

Met de ALS-functie kunt u een logische vergelijking maken tussen een waarde en wat u verwacht door te testen op een voorwaarde en een resultaat te retourneren indien Waar of Onwaar.

  • =ALS(iets waar is, doe dan iets, doe anders iets anders)

Een ALS-instructie kan dus twee resultaten hebben. Het eerste resultaat is als de vergelijking Waar is, het tweede is als de vergelijking Onwaar is.

ALS-instructies zijn zeer krachtig en vormen de basis van veel werkbladmodellen, maar ze zijn ook vaak de oorzaak van problemen met werkbladen. Een ALS-instructie kan het beste worden toegepast op minimale voorwaarden, zoals Man/Vrouw, Ja/Nee/Misschien, maar mogelijk moet u soms complexere scenario's evalueren waarin meer dan drie ALS-functies moeten worden genest*.

* "Nesting" verwijst naar de praktijk van het samenvoegen van meerdere functies in één formule.

Gebruik de functie ALS, een van de logische functies, om één waarde te retourneren als een voorwaarde waar is en een andere waarde als de voorwaarde onwaar is.

Syntaxis

ALS(logische_test;waarde_als_waar;[waarde_als_onwaar])

Bijvoorbeeld:

  • =ALS(A2>B2;"Budget overschreden";"OK")

  • =ALS(A2=B2;B4-A4,"")

Naam argument

Beschrijving

logische-test   

(vereist)

De voorwaarde die u wilt testen.

waarde-als-waar   

(vereist)

De waarde die u als resultaat wilt hebben als het resultaat van logische_test WAAR is.

waarde-als-onwaar   

(optioneel)

De waarde die u als resultaat wilt hebben als het resultaat van logische_test ONWAAR is.

Opmerkingen

Hoewel u in Excel maximaal 64 verschillende ALS-functies kunt nesten, is het helemaal niet raadzaam om dit te doen. Waarom?

  • Het kost veel denkwerk om meerdere ALS-instructies correct uit te werken en ervoor te zorgen dat de logica ervan via elke voorwaarde helemaal tot het eind correct kan worden berekend. Als u uw formule niet 100% nauwkeurig nest, werkt deze mogelijk 75% van de tijd, maar worden onverwachte resultaten 25% van de tijd geretourneerd. Helaas is de kans klein dat u die 25% ontdekt.

  • Meerdere ALS-instructies kunnen zeer lastig bij te houden zijn, vooral wanneer u later probeert te achterhalen wat u, of erger nog, iemand anders probeerde te doen.

Als je merkt dat je een IF-instructie hebt die gewoon lijkt te blijven groeien zonder einde in zicht, is het tijd om de muis neer te zetten en je strategie te herzien.

Laten we eens kijken hoe u op de juiste manier een complexe geneste ALS-instructie kunt maken met behulp van meerdere IO's en wanneer u kunt herkennen dat het tijd is om een ander hulpprogramma in uw Excel-arsenaal te gebruiken.

Voorbeelden

Hierna volgt een voorbeeld van een redelijk standaard geneste ALS-instructie waarmee de toetsresultaten van studenten worden geconverteerd naar de equivalente letterbeoordeling.

Complexe geneste ALS-instructie: formule in E2 is =ALS(B2>97,"A+",ALS(B2>93,"A",ALS(B2>89,"A-",ALS(B2>87,"B+",ALS(B2>83,"B",ALS(B2>79,"B-",ALS(B2>77,"C+",ALS(B2>73,"C",ALS(B2>69,"C-",ALS(B2>57,"D+",ALS(B2>53,"D",ALS(B2>49,"D-","F"))))))))))))
  • =ALS(D2>89,"A",ALS(D2>79,"B",ALS(D2>69,"C",ALS(D2>59,"D","F"))))

    Deze complexe geneste ALS-instructie volgt een eenvoudige logica:

  1. Als het toetsresultaat (in cel D2) groter is dan 89, krijgt de student een A

  2. Als het toetsresultaat groter is dan 79, krijgt de student een B

  3. Als het toetsresultaat groter is dan 69, krijgt de student een C

  4. Als het toetsresultaat groter is dan 59, krijgt de student een D

  5. Anders krijgt de student een F

Dit specifieke voorbeeld is relatief veilig omdat het niet waarschijnlijk is dat de correlatie tussen testscores en lettergraden verandert, waardoor er niet veel onderhoud nodig is. Maar hier is een gedachte: wat als je de cijfers wilt segmenteren tussen A+, A en A- (enzovoort)? Nu moet uw als-instructie met vier voorwaarden worden herschreven om 12 voorwaarden te hebben. Uw formule ziet er nu als volgt uit:

  • =ALS(B2>97,"A+",ALS(B2>93,"A",ALS(B2>89,"A-",ALS(B2>87,"B+",ALS(B2>83,"B",ALS(B2>79,"B-", ALS(B2>77,"C+",ALS(B2>73,"C",ALS(B2>69,"C-",ALS(B2>57,"D+",ALS(B2>53,"D",ALS(B2>49,"D-","F"))))))))))))

Het is nog steeds functioneel nauwkeurig en werkt zoals verwacht, maar het duurt lang om te schrijven en langer om te testen om te controleren of het doet wat u wilt. Een ander opvallend probleem is dat u de scores en equivalente lettergraden handmatig hebt moeten invoeren. Wat is de kans dat je per ongeluk een typefout krijgt? Stel nu dat u dit 64 keer moet doen met nog complexere voorwaarden. Natuurlijk, het is mogelijk, maar wilt u zich echt onderwerpen aan dit soort inspanningen en waarschijnlijke fouten die echt moeilijk te herkennen zijn?

Tip: Voor elke functie in Excel is een haakje openen en sluiten () vereist. Excel probeert u te helpen erachter te komen wat waarheen gaat door verschillende delen van uw formule te kleuren wanneer u deze bewerkt. Als u bijvoorbeeld de bovenstaande formule zou bewerken, terwijl u de cursor langs elk van de eindhaken '' beweegt, wordt het bijbehorende haakje openen dezelfde kleur. Dit kan met name handig zijn in complexe geneste formules wanneer u wilt uitzoeken of u voldoende overeenkomende haakjes hebt.

Extra voorbeelden

Hierna ziet u een zeer gangbaar voorbeeld van het berekenen van de verkoopcommissie op basis van de niveaus van de behaalde omzet.

Formule in cel D9 is ALS(C9>15000,20%,ALS(C9>12500,17.5%,ALS(C9>10000,15%,ALS(C9>7500,12.5%,ALS(C9>5000,10%,0)))))
  • =ALS(C9>15000,20%,ALS(C9>12500,17.5%,ALS(C9>10000,15%,ALS(C9>7500,12.5%,ALS(C9>5000,10%,0)))))

Met deze formule wordt het volgende aangegeven: ALS(C9 groter is dan 15.000, wordt 20% geretourneerd, ALS(C9 groter is dan 12.500 wordt 17,5% geretourneerd enzovoort...

Hoewel het opvallend veel lijkt op het eerdere voorbeeld van cijfers, is deze formule een goed voorbeeld van hoe moeilijk het kan zijn om grote IF-instructies te onderhouden. Wat moet u doen als uw organisatie heeft besloten om nieuwe compensatieniveaus toe te voegen en mogelijk zelfs de bestaande dollar- of percentagewaarden te wijzigen? Je zou veel werk aan je handen hebben.

Tip: U kunt regeleinden invoegen in de formulebalk om lange formules beter leesbaar te maken. Druk op Alt+Enter vóór de tekst die u op een nieuwe regel wilt plaatsen.

Hier volgt een voorbeeld van het commissiescenario waarbij de logica niet in de goede volgorde staat:

Formule in D9 heeft een onjuiste volgorde: =ALS(C9>5000,10%,ALS(C9>7500,12.5%,ALS(C9>10000,15%,ALS(C9>12500,17.5%,ALS(C9>15000,20%,0)))))

Kun je zien wat er mis is? Vergelijk de volgorde van de omzetvergelijkingen met het vorige voorbeeld. Welke kant gaat deze kant op? Dat klopt, het gaat van beneden naar boven ($ 5.000 naar $ 15.000), niet andersom. Maar waarom zou dat zo'n groot probleem moeten zijn? Het is een groot probleem omdat de formule de eerste evaluatie niet kan doorstaan voor een waarde van meer dan $ 5000. Stel dat u $ 12.500 aan omzet hebt. Het ALS-overzicht retourneert 10% omdat deze groter is dan $ 5.000 en daar stopt het. Dit kan zeer problematisch zijn, omdat dit soort fouten in veel situaties onopgemerkt blijft totdat ze een negatieve impact hebben gehad. Dus wetende dat er een aantal ernstige valkuilen zijn met complexe geneste ALS-instructies, wat kunt u doen? In de meeste gevallen kunt u de functie VERT.ZOEKEN gebruiken in plaats van een complexe formule te maken met de functie ALS. Met VERT.ZOEKEN moet u eerst een verwijzingstabel maken:

Formule in cel D2 is =VERT.ZOEKEN(C2,C5:D17,2,WAAR)
  • =VERT.ZOEKEN(C2,C5:D17,2,WAAR)

Met deze formule wordt aangegeven dat de waarde in C2 moet worden opgezocht in het bereik C5:C17. Als de waarde wordt gevonden, wordt de overeenkomende waarde uit dezelfde rij geretourneerd in kolom D.

Formule in cel C9 is =VERT.ZOEKEN(B9,B2:C6,2,WAAR)
  • =VERT.ZOEKEN(B9,B2:C6,2,WAAR)

Met deze formule wordt naar de waarde in cel B9 gezocht in het bereik B2:B22. Als de waarde wordt gevonden, wordt de overeenkomende waarde uit dezelfde rij geretourneerd in kolom C.

Opmerking: In beide VERT.ZOEKEN-formules wordt het argument WAAR gebruikt aan het einde van de formules, wat betekent dat er moeten worden gezocht naar een benadering van de zoekwaarde. Dit houdt in dat niet alleen de exacte waarden in de opzoektabel worden geretourneerd, maar ook de waarden hier tussenin. In dit geval moeten de opzoektabellen worden gesorteerd in oplopende volgorde, van kleinste naar grootste.

VERT.ZOEKEN wordt hier veel gedetailleerder behandeld, maar dit is zeker een stuk eenvoudiger dan een complexe, geneste IF-instructie van 12 niveaus! Er zijn ook andere, minder voor de hand liggende voordelen:

  • Verwijzingstabellen voor VERT.ZOEKEN zijn direct beschikbaar en goed leesbaar.

  • Tabelwaarden kunnen eenvoudig worden bijgewerkt en u hoeft de formule niet te wijzigen als de voorwaarden worden gewijzigd.

  • Als u niet wilt dat personen uw verwijzingstabel zien of verstoren, plaatst u deze gewoon op een ander werkblad.

Wist u dat...

Er is nu een functie ALS.VOORWAARDEN waarmee meerdere geneste ALS-instructies kunnen worden vervangen door één functie. Dus in plaats van het eerste beoordelingsvoorbeeld, met vier geneste ALS-functies:

  • =ALS(D2>89,"A",ALS(D2>79,"B",ALS(D2>69,"C",ALS(D2>59,"D","F"))))

Kan het veel eenvoudiger worden gemaakt met één functie ALS.VOORWAARDEN:

  • =ALS.VOORWAARDEN(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",WAAR,"F")

De functie IFS is geweldig omdat u zich geen zorgen hoeft te maken over al die IF-instructies en haakjes.

Opmerking: Deze functie is alleen beschikbaar als u een Microsoft 365-abonnement hebt. Als u een Microsoft 365-abonnee bent, controleert u of u de nieuwste versie van Office hebt.Microsoft 365 kopen of proberen

Meer hulp nodig?

U kunt altijd uw vraag stellen aan een expert in de Excel Tech Community of ondersteuning vragen in de Communities.

Verwante onderwerpen

IFS functie (Microsoft 365, Excel 2016 en hoger) De functie AANTAL.ALS telt waarden op basis van één criterium De functie AANTALLEN.ALS telt waarden op basis van meerdere criteria De functie SOM.ALS telt waarden op basis van één criterium . SOMMEN.ALS-functie somt waarden op basis van meerdere criteria AND, functie OR, functie VERT.ZOEKEN, functie Overzicht van formules in Excel Ongeldige formules voorkomenFouten in formules detecterenLogische functiesExcel-functies (alfabetisch)Excel-functies (per categorie)

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.