Vertikaal zoeken (Vert.Zoeken)

De functie Vert.Zoeken, vertikaal zoeken, is misschien wel de meest gebruikte functie in Excel. Desondanks worden er onbedoeld en onbewust nog steeds veel fouten mee gemaakt. Vaak met enorme consequenties.Hoe werkt de functie Vert.Zoeken dus echt?


De functie Vert.Zoeken (verticaal zoeken) zoekt een waarde in de meest linker kolom van een tabel (of database) en geeft de waarde uit een bepaalde kolom in de rij die de zoekwaarde bevat, als resultaat terug.

De Syntax is: =VERT.ZOEKEN(Zoekwaarde;Tabelmatrix;Kolomindex_getal;Benaderen)

De functie kent vier argumenten:

  • Zoekwaarde: De waarde die wordt gezocht in de meest linker kolom van de tabel (of database)
  • Tabelmatrix: De tabel (of database) waarin wordt gezocht
  • Kolomindex_getal: De kolom van de tabel (of database) waaruit een waarde (het resultaat) moet worden opgehaald
  • Benaderen: Waar of Onwaar
    • Waar (of weggelaten). Er wordt naar een exacte match gezocht. Als een exacte match niet gevonden wordt, wordt de dichtstbijzijnde waarde gezocht
    • Onwaar. Er wordt naar een exacte match gezocht. Wordt er geen exacte match gevonden, dan wordt de waarde #N/B geretourneerd

Ik noem de functie Vert.Zoeken de functie van de W’s:

  • Wie – Zoekwaarde
  • Waar – Tabelmatrix
  • Wat – Kolomindex_getal
  • Waarom – Benaderen (Optioneel)

 

Ondanks dat er heel veel te vinden is over de functie Vert.Zoeken worden er dus nog steeds fouten mee gemaakt.

Welke?

  • De Zoekwaarde bevindt zich niet in de meest linker kolom van de tabel of database
    – In dit geval wordt er vaak geen match gevonden tussen de Zoekwaarde en die waarde in de tabel, terwijl die Zoekwaarde vaak wel in de tabel staat

 

  • De Tabelmatrix is niet als absolute verwijzing opgenomen in de functie
    – In dit geval wordt er vaak geen match gevonden tussen de Zoekwaarde en die waarde in de tabel, terwijl die Zoekwaarde vaak wel in de tabel staat. Dit komt voor indien je meerdere zoekwaardes waarvoor je iets wilt opzoeken, onder elkaar hebt staan.  Als je de verwijzing naar de tabel niet absoluut maakt (de dollartekens !) en de functie naar beneden kopieert, wordt de verwijzing naar de tabel relatief gekopieerd en dus voor elke rij anders. Zou de tabel staan in C1:E5 en er in A1 tot A3, drie zoekwaardes onder elkaar staan, dan wordt de verwijzing naar de tabel voor de zoekwaarde in A1, C1:E5. Voor de zoekwaarde in A2, wordt het C2:E6. Voor de zoekwaarde in A3 wordt het C3:E7. De tabel bevat dus steeds meer lege rijen. Door de verwijzingen naar de tabel absoluut te maken door dollartekens in de notatie op te nemen, voorkom je dit. De verwijzing wordt dan $C$1:$E$5.

 

  • Het argument kolomindex_getal is onjuist
    – Dit argument levert veel verwarring op. Wat vul je in? Waar het om gaat is dat je sowieso een getal invult en geen verwijzing naar de kolom. C, of H, is dus altijd fout! Vervolgens moet je je realiseren dat dit getal een index is. Anders gezegd, het is de zoveelste van een reeks! Zou de te vinden waarde in kolom H staan en de tabel beginnen in kolom C, dan wordt het kolomindex_getal 6. Gerekend vanaf C, de 1ste kolom van de tabel, is kolom H, immers de 6e kolom! Niet de 8ste.

 

  • Het vierde argument Benaderen is onjuist
    – Ook dit argument levert veel verwarring op. Wat vul je in? WAAR, lijkt de meest logische keuze. Maar, is dat zo? Als je werkt met een tabel waarbij de te zoeken waarde uniek en exact is, is ONWAAR de goede keuze. Als je werkt met een tabel waarbij de zoekwaarde een grenswaarde kan zijn (een bonustabel of de schijventabel van de belastingdienst), dan is WAAR de juiste keuze. Onlogisch? Voor mij wel! Wellicht heeft een en ander te maken met de oorspronkelijke opzet van de functie. Als de opzet is geweest dat het handig is om uit te zoeken hoeveel bonus er moet worden uitbetaald of in welke belastingschijf iemand valt, verklaart dat veel. Dan krijg je veruit de meeste antwoorden door als vierde argument WAAR te gebruiken. Indien de opzet is geweest om exacte waardes in een lijst te vinden, dan snap ik niet waarom het vierde argument ONWAAR moet zijn.

 

  • De tabel is niet gesorteerd
    – Indien je zoekt naar de dichtstbijzijnde waarde in een tabel (met grenswaarden) zoals die van de belastingdienst, moet het vierde argument Benaderen WAAR zijn. Het is dan echter ook NOODZAKELIJK dat de waardes in de eerste kolom van die tabel oplopend (A-Z) worden gesorteerd. Als dat niet het geval is, kun je verkeerde uitkomsten verwachten! Zoek je in een tabel naar een exacte waarde, dan is het niet nodig om die tabel te sorteren. Als een waarde bestaat, wordt die gevonden. Zo niet, dan krijg je als resultaat #N/B (Niet beschikbaar).

 

  • Waar staat de tabelmatrix?
    – De functie Vert.Zoeken wordt vaak gebruikt om te zoeken naar waardes in een tabel die niet op hetzelfde werkblad staat als het werkblad waarop je werkt. Soms wordt een tabel gebruikt die in een ander werkboek staat. Als je niet de controle hebt over de naam van het werkboek of werkblad waar de tabel zich bevindt, kan het zijn dat een ander die naam wijzigt. In dat geval zal de functie Vert.Zoeken op jouw werkblad niets meer vinden!

 

Het zal duidelijk zijn dat het ook vaak voorkomt dat de functie geen juist resultaat oplevert, omdat er een combinatie van fouten is gemaakt!


De Engelstalige variant van Vert.Zoeken heet VLookUp.

De Syntax is: =VLOOKUP(lookup_value;table_array;col_index_num;range_lookup)

Download voorbeeld