De ALS functie (in het Engels IF formule) is een zeer krachtige functie in Excel. Wanneer je nog nooit met ALS hebt gewerkt raad ik je aan eerst het artikel ‘Intelligente formules maken door middel van de ALS functie’ te lezen. Je kunt de ALS functie meerdere keren in één formule toepassen. We noemen dit de geneste ALS functie (ook wel ALS in ALS). Intelligentere formules maken met de geneste ALS functie? In dit artikel leg ik uit hoe dit werkt!
Een eenvoudig voorbeeld met de geneste ALS formule
Dit voorbeeld gaat uit van een voorraad diverse fruitproducten. Op basis van ervaringscijfers weten we dat het aantal verkochte producten op 1 dag nooit hoger is dan 50 stuks. We willen nooit ‘nee’ verkopen dus de voorraad moet in ieder geval hoger zijn dan 50 stuks. Op basis van levertijden weten we dat we bij een voorraad van tussen 50 en 60 stuks moeten bestellen. We willen ook niet dat de voorraad te groot is omdat het om bederfelijke waar gaat. De voorraad mag dan ook niet hoger zijn dan 100 stuks. We willen de status van de voorraad weten door het toepassen van de ALS functie:
- Bij een voorraad groter dan 100 stuks is de voorraadstatus ‘voorraad overtollig’
- Bij een voorraad tussen 60 en 100 stuks is de voorraadstatus ‘voorraad op niveau’
- Bij een voorraad tussen 50 en 60 stuks is de voorraadstatus ‘voorraad bestellen’
- Bij een voorraad lager dan 50 is de voorraadstatus ‘voorraad tekort’
Zo ga je deze formule te lijf
Het makkelijkst is om de formule in kleine stukjes op te bouwen. Je begint op 1 regel met de uitvraag van een van de vier voorwaarden. In dit geval begin ik bij bullet 1
=ALS(B2>=100;”Teveel”;”minder dan 100″)
Uitleg: Als de waarde in cel B2 groter (of gelijk) is dan 100 is moet de voorraad status in cel B2 “Teveel” zijn (Formule resultaat is WAAR). Zo niet, dan moet de voorraad status “minder dan 100” worden (Formule resultaat is ONWAAR). Test het resultaat door de waarden in Cel B2 aan te passen.
Daarmee hebben we het eerste stukje van de puzzel opgelost. We weten nu in ieder geval dat de waarde in cel B2 hoger/gelijk of lager ligt dan 100 stuks.
Je eerste geneste formule maken
Bij een voorraad boven de 100 stuks weten we exact wat de voorraad status is (namelijk “Teveel”). Bij een voorraad onder de 100 stuks willen we dit preciezer weten. “Minder dan 100” is niet voldoende. We voegen daarom een tweede uitvraag toe aan de bestaande formule op de plek waar nu “Minder dan 100” (ONWAAR) staat.
=ALS(B2>=100;”Teveel”;ALS(B2>=60;”Gewenst”;”Lager dan 60″))
Uitleg:
- Als de waarde in cel B2 groter (of gelijk) is dan 100 dan wordt de voorraad status “Teveel” (WAAR).
- Anders (NIET WAAR) Als de waarde in Cel B2 groter (of gelijk) is dan 60 dan wordt de voorraad status “Gewenst” (WAAR)
- Anders (NIET WAAR) is de voorraad status “Lager dan 60”
Gefeliciteerd je hebt je eerste geneste ALS formule gemaakt.
De formule afronden
De formule is nog niet gereed. We moeten de uitvraag nog toevoegen bij een voorraad aantal van tussen de 50 en 60 stuks en bij een voorraad aantal lager dan 50. Wanneer je de vorige stappen begrijpt is de rest niet zo moeilijk. We voegen steeds aan het ONWAAR deel van de formule de volgende uitvraag toe. De formule komt er uiteindelijk als volgt uit te zien.
=ALS(B2>=100;”Teveel”;ALS(B2>=60;”Gewenst”;ALS(B2>=50;”Bestellen”;”Tekort”)))
Uitleg:
- Als de waarde in cel B2 groter (of gelijk) is dan 100 dan wordt de voorraad status “Teveel” (WAAR).
- Anders (NIET WAAR) Als de waarde in Cel B2 groter (of gelijk) is dan 60 dan wordt de voorraad status “Gewenst” (WAAR)
- Anders (NIET WAAR) Als de waarde in Cel B2 groter (of gelijk) is dan 50 dan wordt de voorraad status “Bestellen” (WAAR)
- Anders (NIET WAAR) wordt de voorraad status “Tekort”
Trek nu de formule door van Cel B2 naar Cel B8 zodat alle waarden op basis van dezelfde formule worden uitgevraagd.
Haakjes openen en sluiten
Een veel gemaakte fout bij het maken van ALS in ALS (geneste) formules is dat het aantal haakjes waarmee wordt afgesloten niet klopt. Onthou altijd dat het aantal haakjes waarmee je de formule opent ook weer nodig zijn om de formule te sluiten. We gebruiken in deze formule ((( drie keer een haakje om te openen dus we hebben er ook ))) drie nodig om de formule af te sluiten.
Bouw de formule stap voor stap op
Het toepassen van de geneste ALS functie is enorm handig. Maar zeker wanneer de formule erg groot wordt kan de formule ook onoverzichtelijk worden. Wanneer de formule een foutmelding geeft of het resultaat niet klopt is het lastig om uit te vinden waar het probleem zit. Bouw de formule dan ook op in kleine stapjes zoals in het vorige voorbeeld. Test ook ieder stapje voordat je de formule verder uit breidt.
Intelligentere formules maken met de geneste ALS functie
Je hebt je eerste geneste ALS functie gemaakt. Je bent nu in staat intelligentere formules te maken met de geneste ALS functie. Het aantal toepassingen zijn eindeloos en dit gaat je enorm helpen om zaken te automatiseren. Bedenk je steeds hoe deze functionaliteit jou kan helpen en pas het toe. In het begin is het best lastig maar door het veel te doen zul je zien dat het eigenlijk heel eenvoudig is. Je hebt je leven weer wat makkelijker gemaakt. Gefeliciteerd.
Succes met Excelleren!
Krijg je geen genoeg van excelleren? Bekijk onze handige en leerzame sjablonen...
-
Excel jaarkalender sjabloon – tot in lengte van jaren€4,95 incl. BTW
-
Sjabloon huishoudboekje – weet wat je nog te besteden hebt€4,95 incl. BTW
-
Sjabloon voor het gestructureerd vastleggen van taken€4,95 incl. BTW
=ALS(H27=”Enig kind”;”=cel K27″;””””)
Ik wil dat als de waarde Enig kind is dat hij dan de waarde in cel K27 pakt, maar op deze manier zet hij steeds ‘K27’ neer, in de cel staat een bedrag
De verwijzing naar de cel K27 bevat in de formule die je hebt gemaakt aanhalingstekens waardoor exacte de waarde getoond wordt en niet de verwijzing naar cel K27. Probeer de volgende formule: =ALS(H27=”Enig kind”;K27;””)
Is het mogelijk om een formule te maken waarmee ik de waarde van cel A1 kopieer naar het eerste werkblad als de waarde van A2 “ja” is?
Beste Jose, dat kan is en is vrij eenvoudig:
Stel dat op (tab)Blad 2 cel A1 = A, Cel A2 = B Cel A3 = C etc…
Stel dat op (tab)Blad 2 cel B1 = Nee, Cel B2 = Ja, Cel B3 = Ja etc…
Dan moet je op (tab)Blad 1 in cel A1 de volgende formule noteren =ALS(Blad2!B1=”ja”;Blad2!A1;””)
De formule doet het volgende: Als in tabblad 2 in cel B1 de waarde “ja” staat laat dan de waarde van cel A1 zien in cel A1 op tabblad 1, laat de cel anders leeg
je kunt deze formule doortrekken naar beneden zodat deze automatisch de formule toepast voor rij 2, 3 enz…
je kunt deze formule doortrekken naar beneden zodat deze automatisch de formule toepast voor rij 2, 3 enz…
Is het mogelijk om de waardes die in de 2de en 3de kolom worden getoond, zoals hieronder, in 1 veld worden getoond n.a.v. de waarde in de 1ste kolom
1 AK CK
1 AK CM
1 EN CE
2 SF CM
2 YH CE
2 YH CM
2 YH CS
2 ZH CE
Dus bijvoorbeeld van de waarde 1 in de 1ste kolom moet worden getoond in één regel met 2 kolommen als:
1 AK CE AK CK AK CM EN CE
De aantal zelfde waardes in kolom 1 fluctueren
Hi. Volgens mij is het niet zo lastig maar ik weet niet of ik je vraag helemaal begrijp. Kun je hier nog iets meer toelichting op geven of een mail naar info@excelleren.nl
Is goed. Ik heb records met 3 kolommen. In de 1ste kolom zit een nummer. In de 2de en 3de kolom zit een alfanumeriek veld van 2 lang. Bijvoorbeeld:
1234 AA CE
1234 AA CM
1234 AA CY
1234 BB CE
1235 AA CE
1235 BB CE
1235 CC CE
Bovenstaand voorbeeld bevat dus 2 unieke nummers, 1234 en 1235. Wat ik nu wil is dat alle waardes van kolom 2 en 3 behorende bij zo’n uniek nummer worden geplaatst op één regel met 2 kolommen. Dan moet je zoiets als onderstaand krijgen:
1234 AACEAACMAACYBBCE
1235 AACEBBCECCCE
Is hier dus ook een oplossing voor? Dit zijn maar 2 nummers, mijn echte bestand bevat duizenden ‘unieke’ nummers
Alvast bedankt voor je hulp
Hi. Een oplossing is het sorteren van de eerste kolom en vervolgens de volgende formule toepassen.
Ik ga ervan uit dat je de waarden op in de eerste drie kolommen A, B en C hebt staan. In kolom D zet je de volgende formule:
=ALS(A2=A1;D1&B2&C2;A2&B2&C2) en deze trek je in kolom D door voor alle regels/ records
Feitelijk kijk je steeds een regel terug. Als de waarde in kolom A van de voorgaande regel het zelfde (WAAR) is plak je als het ware de huidige waarden aan de vorige regel. Als de waarde van de vorige regel niet het zelfde is (ONWAAR) gaat het om een nieuw nummer en begin je opnieuw. Ik denk dat dit je aardig op weg helpt.