ALS-functie - complete tutorial met simpele voorbeelden
Een van de meestgebruikte functies
Engels: IF
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( 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
Inhoud van dit artikel
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( 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( 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( 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( 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( 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
.