ALS-functie - complete tutorial met simpele voorbeelden

Een van de meestgebruikte functies

Engels: IF

Gebruikte functies:
ALS
EN
NIET
GELIJK
OF

Bij de ALS-functie voer je een logische test uit. Afhankelijk van de uitkomst kun je zelf de output definiëren.

ALS-functie voorbeeld

ALS-functie

=ALS( D5>=20; "Warm"; "Niet warm")// cel G5, output: Niet warm

Dit is het meest basale voorbeeld van gebruik van de ALS-functie, puur de "als dan"-variant.

In het eerste input argument, logische-test, testen we of een temperatuur groter of gelijk (>=) is aan 20 (graden). Dit levert WAAR of ONWAAR op.

In het tweede (waarde-als-waar) en derde input argument (waarde-als-onwaar) definiëren we wat we als output willen. Als de test WAAR oplevert, dan vinden we het warm. Zo niet, dan noemen we het "niet warm".

In dit voorbeeld hebben we zelf waarden ingevuld ("Warm", "niet Warm"), maar hier kunnen natuurlijk ook formules staan.

Voorbeeld: je krijgt 10% korting op het totaalbedrag (en betaalt dus 90%) als je meer dan 3 item koopt. Aantal items in cel B2, totaalbedrag zonder korting in cel C2. Dan reken je met deze formule het totaalbedrag (met eventuele korting) uit:

=ALS( B2>3; 0.9*C2; C2)// Als meer dan 3 items, dan 0.9 * totaalbedrag

Gebruik van de ALS-functie

Logische tests en alle varianten van operatoren

Voor een logische test in het eerste input argument maak je bijna altijd gebruik van een of meerdere logische operatoren (>,<,=,<>).

Een paar voorbeelden:

Wat je wil testen Formule voor logische-test
Is C6 groter dan 18? C6>18
Is C6 groter of gelijk aan 18? C6>=18
Is C6 gelijk aan 18? C6=18
Is C6 gelijk aan Amsterdam? C6="Amsterdam"
Is C6 ongelijk aan 18? C6<>18
Is C6 kleiner dan 18? C6<18
Is C6 kleiner of gelijk aan 18? C6<=18
Is C6 kleiner dan het gemiddelde van B1:B10? C6<GEMIDDELDE(B1:B10)
Is C6 ongelijk aan vandaag? C6<>VANDAAG()

Belangrijk om te vermelden, is dat de =-operator NIET hoofdlettergevoelig is.

Als je wel wilt vergelijken met hoofdlettergevoeligheid, gebruik dan ALS in combinatie met GELIJK:

=ALS( "ABC"="Abc"; "Gelijk"; "Ongelijk")// Geeft "Gelijk"
=ALS( GELIJK( "ABC"; "Abc"); "Gelijk"; "Ongelijk")// Geeft "Ongelijk"

ALS met EN - "als dit en als dat, dan..."

ALS-functie met en

=ALS( EN( D7>=20; E7<=5); "Aangenaam"; "Koud en/of nat")// cel G7, output: Aangenaam

De binnenste EN-functie voert beide tests uit, en geeft alleen WAAR als output als beide tests WAAR opleveren.

Overigens kun je hetzelfde bereiken zonder de EN-functie:

=ALS( ( D7>=20)*( E7<=5); "Aangenaam"; "Koud en/of nat")
=ALS( WAAR*WAAR; "Aangenaam"; "Koud en/of nat")
=ALS( WAAR; "Aangenaam"; "Koud en/of nat")
="Aangenaam"

In deze variant zet je de beide tests tussen haakjes en vermenigvuldig je ze met elkaar. Als een test ONWAAR oplevert, dan levert vermenigvuldigen als een ONWAAR op, onafhankelijk van wat de andere test oplevert. Alleen als beide tests WAAR opleveren, is vermenigvuldigen ook WAAR.

ALS met OF - "als dit of als dat, dan.."

ALS-functie met of

=ALS( OF( D8>=20; E8<=5); "Warm of droog"; "Koud en nat")// cel G8, output: Warm of droog

De binnenste EN-functie voert beide tests uit, en geeft WAAR als output als minimaal een van beide tests WAAR oplevert.

Ook hier kun je zonder de OF-functie met een variant met haakjes:

=ALS( ( D8>=20)+( E8<=5); "Warm of droog"; "Koud en nat")
=ALS( WAAR+ONWAAR; "Warm of droog"; "Koud en nat")
=ALS( WAAR; "Warm of droog"; "Koud en nat")
="Warm of droog"

In dit geval tel je de beide tests tussen haakjes bij elkaar op. Als er een WAAR tussen staat, dan is de som altijd WAAR. Alleen als alle tests ONWAAR zijn dan is de som ervan ook ONWAAR.

ALS met NIET - "als niet dit, dan..."

Je kunt ook testen of een waarde ergens niet aan voldoet. Een simpel voorbeeld:

// Stel D7=21
=ALS( NIET( D7>=20); "Warm"; "Koud")
=ALS( NIET( WAAR); "Warm"; "Koud")
=ALS( ONWAAR; "Warm"; "Koud")
="Koud"

Geavanceerdere logica met meerdere ALS-functies genest

Je kunt meer geavanceerde logica definiëren. Bijvoorbeeld als je meer dan 2 uitkomsten wilt.

ALS-functie genest

=ALS( D9<$D$2; "Te laag"; ALS( D9>$D$3; "Te hoog"; "Goed"))// cel E9, output: Te hoog

In dit soort geneste ALS-formules is het heel belangrijk om goed op de haakjes te letten. Een foutje is snel gemaakt.

Als er de formule ontleden, ziet het er zo uit:

=ALS( D9<$D$2; "Te laag"; ALS( D9>$D$3; "Te hoog"; "Goed"))
=ALS( D9<$D$2; "Te laag"; ALS( WAAR; "Te hoog"; "Goed"))
=ALS( D9<$D$2; "Te laag"; "Te hoog")
=ALS( ONWAAR; "Te laag"; "Te hoog")
="Te hoog"

Het wordt met meerdere geneste ALS-functies wel gauw onleesbaar, en foutgevoelig. Goede alternatieven zijn in veel van deze gevallen VERT.ZOEKEN of (nog beter) X.ZOEKEN.

Met ALS meerdere cellen in een keer testen

Als je een nieuwere versie van Excel hebt, dan kun je met een enkele formule meerdere cellen tegelijk testen. Output is dan van dezelfde grootte als wat er in het eerste input argument in gaat.

ALS-functie meerdere cellen

=ALS( D5:D9>=20; "Warm"; "Niet warm")// cel G5, output: Niet warm

De functie hierboven neemt niet 1 cel als input, maar 5 cellen (D5:D9). Output is dan ook 5 cellen (in dit geval G5:G9)

Dit principe werkt voor rijen, kolommen of een combinatie van meerdere rijen en kolommen. Elke keer heeft de output dezelfde dimensies als de input.

Let erop dat de cellen waar de ALS-functie zijn data kwijt wil, ook leeg zijn. Anders krijg je een #OVERLOPEN!-foutmelding. De functie overschrijft dus geen cellen waar al data in stond.

Als tussen 2 waarden

Er zijn ook situaties dat je wilt checken of een waarde tussen een minimum en maximum zit:

ALS-functie tussen 2 waarden

=ALS( EN( D8>=$D$2; D8<=$D$3); "Tussen min en max"; "Niet ertussen")// cel E8, output: Tussen min en max

Dit is wederom een formule met ALS en EN.

Meer artikelen

Meer formules met de ALS-functie

Overzichten

Voor deze site wil ik gebruik maken van cookies om te analyseren hoe bezoekers de pagina gebruiken. Vind je dat OK?
(Ik toon sowieso geen advertenties en speel geen advertentiedata door)