Foutmeldingen verbergen met ALS(ISFOUT()), ALS(ISNB()) of ALS.FOUT()

Geplaatst in Fouten, Functies door Exhelp | Tags: , , , , , , , , ,
Van toepassing op: Excel 2003, Excel 2007, Excel 2010, Excel 2013

Wat de verschillende foutmeldingen betekenen en hoe je ze kan oplossen heb ik hier reeds besproken. Soms is zo’n fout echter gewoon het gevolg van het feit dat bepaalde gegevens nog niet beschikbaar of ingevoerd zijn. Vooral het ‘niet-kunnen-delen-door-0’ zal vaak voor komen.

Als je wil dat je werkblad er niet amateuristisch uit ziet, dan kan het leuk zijn om deze foutmeldingen te verbergen.

Lege cellen worden bij berekeningen door Excel ook behandeld als 0. Resultaat van je formule: #DEEL/0!. Je wil deze fout echter niet zien, want je weet dat er gewoon nog wat gegevens missen en dat de formule pas zou moeten werken als deze gegevens ingevuld zijn.

Je kunt voorkomen dat dit gebeurt door je formules uit te breiden met een controle…

Stel bijvoorbeeld dat je de formule =A1/A2 in cel ‘A3’ hebt staan, waarbij ‘A2’ soms leeg is en dus een foutmelding wordt weergegeven.

ISFOUT() / ISNB()

Dit kan je voorkomen door in ‘A3’ volgende formule te gebruiken:

=ALS(ISFOUT(A1/A2);"";A1/A2)

Deze formule zal alle foutmeldingen verbergen.

De formule betekent: als ‘A1/A2’ in een fout resulteert, dan wordt in cel ‘A3’ niets ingevuld (“”). Indien de formule wel een correct resultaat geeft, zal het resultaat van de formule verschijnen in ‘A1’.

Indien je enkel de #N/B fout wil verbergen, gebruik dan volgende formule:

=ALS(ISNB(A1/A3);"";A1/A2)

Deze werkt namelijk sneller omdat ze maar naar één fout moet zoeken, namelijk #N/B.

Natuurlijk kan je ook je eigen foutmelding laten weergeven. Bijvoorbeeld:

=ALS(ISFOUT(A1/A2);"Er ontbreken gegevens";A1/A2)

ALS.FOUT()

Vanaf Excel 2007 werd de functie ALS.FOUT() geïntroduceerd welke hetzelfde resultaat geeft maar iets korter is. Het verschil: met ALS() en ISFOUT() kan je kiezen wat er gebeurt wanneer er geen fout gevonden wordt. Bij ALS.FOUT() wordt sowieso de te controleren waarde of formule geretourneerd.

=ALS.FOUT(A1/A2;"")

Ook hier kunnen we weergeven wat we willen:

=ALS.FOUT(A1/A2;"Er ontbreken gegevens")


Maar het belangrijkste verschil is de snelheid! Namelijk: wanneer je formule niet in een fout resulteert moet Excel het volgende doen bij de combinatie ALS(ISFOUT()): de formule één keer uitvoeren om te controleren of er een foutmelding van komt, en daarna één keer om het resultaat van de formule weer te geven.

Conclusie

Wat is de beste manier om foutmeldingen te verbergen? Zo lang het over weinig formules gaat maakt het eigenlijk weinig uit. Je zal het gewenste resultaat krijgen en van de snelheid niets merken. In het andere geval:

Oplossing 1
De beste oplossing is en blijft het zichtbaar laten van deze fouten. Ze verbergen vertraagt sowieso je Excel bestand. Dit is natuurlijk minder van toepassing voor een bestand waarin weinig gegevens verwerkt worden.

Oplossing 2
Wanneer je toch je fouten wil verbergen, vermijd dan de ALS(ISFOUT()) formule. Deze werkt zeer vertragend voor je Excel file. Wanneer je geen Excel 2007 hebt, moet je wat creatiever te werk gaan:

Excel 2003: Gebruik een hulpkolom

Of in ons voorbeeld: een hulprij.

Zoals je kan zien moet onze formule “A1/A2” nu geen twee keer uitgevoerd worden. Als we rij 4 nu verbergen ziet je werkblad er ook netjes uit.

Excel 2007: gebruik de ALS.FOUT() functie

zie hierboven…

 

Plaats een reactie

U moet ingelogd zijn om te reageren.

Login

Forums

Exhelp

Meest recente berichten

TAGS



Creative Commons Licentie
Op dit werk is een Creative
Commons Licentie
van toepassing.