In het vorige artikel hebben we gezien dat je de foutmelding #N/B krijgt als Excel de zoekwaarde niet kan vinden in de tabelmatrix. Cel E4 in de onderstaande afbeelding is daar een goed voorbeeld van.
De formule in cel E4 is =VERT.ZOEKEN(D4;$A$2:$B$6;2;0). Het is prettig dat Excel deze foutmelding geeft. In één oogopslag is duidelijk dat er wat mis is. We moeten rekening 4300 toevoegen aan onze tabel met omschrijvingen. Toch kan de foutmelding ook lastig zijn. Het staat niet netjes in een overzicht en als dit met numerieke gegevens gebeurt waarop je nog andere formules toepast dan lopen deze ook allemaal fout.
Het zou daarom mooier zijn als we zelf kunnen beslissen welke waarde Excel teruggeeft als het de zoekwaarde niet kan vinden in de tabel. Dit is mogelijk met behulp van de functies ALS (Engels: IF) en ISNB (Engels: ISNA). ISNB evalueert een expressie (een celwaarde of een formule). Levert deze expressie de foutmelding #N/B op, dan is het resultaat van de functie WAAR. In alle andere gevallen is het resultaat ONWAAR.
Stel dat we in ons voorbeeld willen dat Excel de omschrijving (kolom E) leeg laat als het geen omschrijving kan vinden in de tabel (kolom A en B). We willen Excel dan de volgende opdrachten geven:
- Zoek met VERT.ZOEKEN de omschrijving voor rekening 4300
- Als je deze omschrijving kunt vinden, vul dan de omschrijving in
- Kun je de omschrijving niet vinden, laat de cel dan leeg
De logica bestaat uit drie stappen: 1 voer een test uit, 2 doe dit als de test slaagt, 3 doe dit als de test niet slaagt. Dit is precies de opbouw van de functie ALS (ALS(logische test; [waarde-als-waar]; [waarde-als-onwaar])). Met de functie ISNB kunnen we testen of de VERT.ZOEKEN functie als resultaat #/NB heeft. Dit is de logische test. Als deze test waar is moet Excel de cel leeg laten. Dit kan door de waarde “” in te vullen. Als de test niet waar is moet Excel de omschrijving invullen. Dit kan door de VERT.ZOEKEN functie nog een keer uit te voeren. De uiteindelijke formule wordt dan:
=ALS(ISNB(VERT.ZOEKEN(D4;$A$2:$B$5;2;ONWAAR));””;VERT.ZOEKEN(D4;$A$2:$B$5;2;ONWAAR))
Vullen we dit in ons voorbeeld in dan krijgen we het onderstaande resultaat.
Als je zelf wilt experimenteren met dit voorbeeld dan kun je [drain file 2 url hier] de file downloaden