VERT.ZOEKEN (VLOOKUP) in Excel uitgelegd met voorbeelden

Van alle Excel-functies is VERT.ZOEKEN (in het Engels =VLOOKUP) de functie die mijn klanten het vaakst willen leren. En terecht: zodra je hem onder de knie hebt, hoef je nooit meer prijzen, btw-tarieven of klantgegevens met de hand over te tikken. In deze gids leg ik VERT.ZOEKEN uit in gewone taal, met concrete voorbeelden uit de praktijk van een boekhouder. Aan het eind snap je precies wat elke parameter doet en hoe je de gevreesde foutmelding #N/B voorkomt.

Wat doet VERT.ZOEKEN eigenlijk?

VERT.ZOEKEN zoekt een waarde op in de eerste kolom van een tabel en geeft een waarde terug uit een andere kolom op diezelfde rij. Denk aan een telefoonboek: je zoekt op een naam (eerste kolom) en leest het bijbehorende nummer af (andere kolom). Verticaal, want je zoekt van boven naar beneden in een kolom. Vandaar de naam VERT.ZOEKEN.

In de praktijk werkt het zo: je hebt ergens een lange lijst met gegevens staan, bijvoorbeeld al je artikelen met hun prijzen. Ergens anders in je werkmap wil je alleen maar een nummer intikken en dat de rest automatisch verschijnt. VERT.ZOEKEN vormt de brug tussen die twee plekken. Je typt het artikelnummer, en Excel gaat voor jou in de lijst kijken en haalt de bijbehorende gegevens op. Dat scheelt niet alleen tijd, maar voorkomt vooral overtypfouten, en juist die fouten zijn in een boekhouding het lastigst terug te vinden.

Ik gebruik de functie dagelijks: prijzen ophalen bij het maken van een offerte, het juiste grootboeknummer koppelen aan een kostenpost, of de contactgegevens van een klant erbij zoeken op basis van een klantnummer. Steeds hetzelfde principe: één ding intikken, de rest laten verschijnen.

De syntax stap voor stap

De functie heeft vier onderdelen. In het Engels ziet dat er zo uit:

=VLOOKUP(zoekwaarde,tabel,kolomindex,benadering)

Wat betekent elk deel?

Onderdeel Betekenis
zoekwaarde Wat je zoekt, bijvoorbeeld een artikelnummer of klantnaam.
tabel Het bereik waarin je zoekt. De eerste kolom bevat de zoekwaarde.
kolomindex Het nummer van de kolom (in de tabel) waaruit je het antwoord wilt.
benadering Gebruik altijd FALSE voor een exacte match.

Voorbeeld 1: een prijs opzoeken

Stel je hebt een prijslijst met artikelnummers in kolom A en prijzen in kolom C. Je wilt de prijs van artikel 1002 weten.

Artikelnr. (A) Omschrijving (B) Prijs (C)
1001 Toetsenbord € 29,95
1002 Muis € 14,50
1003 Monitor € 149,00

De formule wordt:

=VLOOKUP(1002,A2:C4,3,FALSE)

Excel zoekt 1002 in kolom A, vindt het op de tweede rij en geeft de waarde uit de derde kolom terug: € 14,50. De 3 is de kolomindex, want de prijs staat in de derde kolom van je tabel (A is 1, B is 2, C is 3).

Voorbeeld 2: het btw-tarief automatisch bepalen

Als boekhouder gebruik ik VERT.ZOEKEN vaak om per artikel het juiste btw-tarief op te halen. Ik maak een kleine tabel met productcategorieën en tarieven, en dan hoef ik nooit meer na te denken of iets onder 21% of 9% valt.

Categorie Btw-tarief
Elektronica 21%
Voeding 9%
Boeken 9%

Staat de categorie van je artikel in cel E2, dan haal je het tarief op met:

=VLOOKUP(E2,$G$2:$H$4,2,FALSE)

Let op de dollartekens rond het tabelbereik. Die zorgen dat het bereik niet verschuift als je de formule naar beneden kopieert. Dit heet een absolute verwijzing, en het is de reden waarom mijn klanten hun VERT.ZOEKEN vaak in de soep laten lopen als ze de formule doortrekken.

Voorkom #N/B met ALS.FOUT

Zoekt VERT.ZOEKEN een waarde die niet bestaat, dan krijg je de foutmelding #N/B (niet beschikbaar). Dat ziet er onprofessioneel uit in een offerte of factuur. Verpak je formule daarom in ALS.FOUT (=IFERROR):

=IFERROR(VLOOKUP(E2,$G$2:$H$4,2,FALSE),"Niet gevonden")

Nu verschijnt netjes “Niet gevonden” in plaats van #N/B als de categorie ontbreekt. Je kunt ook een leeg tekstveld tonen door "" op te geven in plaats van de tekst. In een factuur- of offertesjabloon kies ik meestal voor het lege tekstveld, zodat lege regels ook echt leeg blijven en je uitdraai er verzorgd uitziet. Voor een controlewerkblad waar ik zelf naar kijk, gebruik ik juist een duidelijke melding als “Niet gevonden”, want dan wil ik weten dat er iets ontbreekt.

Waarom altijd FALSE?

De vierde parameter bepaalt of Excel exact zoekt (FALSE) of bij benadering (TRUE). Bij benadering gaat Excel ervan uit dat je tabel oplopend gesorteerd is, en geeft de dichtstbijzijnde lagere waarde terug. Voor artikelnummers, namen en btw-categorieën wil je dat nooit; je wilt de exacte rij. Vergeet je FALSE, dan krijg je soms een verkeerd, maar niet foutgemeld antwoord. Dat is verraderlijk. Zet er dus altijd FALSE achter.

VERT.ZOEKEN versus X.ZOEKEN

In moderne Excel-versies bestaat ook X.ZOEKEN (=XLOOKUP), dat flexibeler is: het kan naar links zoeken en heeft ingebouwde foutafhandeling. Werk je in een recente versie, dan is X.ZOEKEN vaak handiger. Maar VERT.ZOEKEN werkt in élke versie en in Google Sheets, dus voor sjablonen die je met anderen deelt, blijft het de veiligste keuze. Daarom bouw ik mijn sjablonen bewust met VERT.ZOEKEN.

Veelgemaakte fouten

  • Geen absolute verwijzing gebruiken. Kopieer je een formule naar beneden zonder dollartekens rond de tabel, dan schuift het bereik mee en klopt de helft van je antwoorden niet meer. Gebruik $G$2:$H$4.
  • De kolomindex verkeerd tellen. De index telt vanaf de eerste kolom van je tabel, niet vanaf kolom A van het werkblad. Begint je tabel in kolom G, dan is G nummer 1.
  • Zoekwaarde staat niet in de eerste kolom. VERT.ZOEKEN kijkt alleen naar de eerste kolom van je opgegeven bereik. Staat je zoekwaarde in kolom B, dan moet je tabel bij B beginnen.
  • Spaties of andere tekstopmaak. “1002 ” met een spatie is voor Excel iets anders dan “1002”. Verschillen in tekst versus getal veroorzaken vaak een onverklaarbare #N/B.

In de praktijk toepassen

VERT.ZOEKEN komt tot leven in echte sjablonen. In mijn factuur-sjabloon gebruik ik de functie om per artikelnummer automatisch de omschrijving en prijs op te halen, zodat je alleen een nummer hoeft in te tikken. En in het voorraadbeheer-sjabloon koppel ik verkoopregels aan de artikellijst. Zo hoef je gegevens maar één keer in te voeren.

Veelgestelde vragen

Waarom geeft VERT.ZOEKEN steeds #N/B?

Meestal omdat de zoekwaarde niet exact voorkomt in de eerste kolom van je tabel. Controleer op verborgen spaties, op verschil tussen tekst en getal, en of je bereik wel de juiste kolommen omvat. Verpak de formule in =IFERROR om de melding netjes af te vangen.

Kan VERT.ZOEKEN naar links zoeken?

Nee, VERT.ZOEKEN geeft altijd een waarde terug die rechts van de zoekkolom staat. Wil je naar links zoeken, gebruik dan X.ZOEKEN of een combinatie van INDEX en VERGELIJKEN (=INDEX met =MATCH).

Wat is het verschil tussen VERT.ZOEKEN en HORIZ.ZOEKEN?

VERT.ZOEKEN (=VLOOKUP) zoekt verticaal, van boven naar beneden in een kolom. HORIZ.ZOEKEN (=HLOOKUP) zoekt horizontaal, van links naar rechts in een rij. In de praktijk staan gegevens meestal in kolommen, dus VERT.ZOEKEN gebruik je veruit het vaakst.

Werkt VERT.ZOEKEN ook met tekst?

Ja, je kunt net zo goed op een klantnaam of productcode zoeken als op een getal. Zorg wel dat de opmaak overeenkomt: zoek je op tekst, dan moet de eerste kolom ook tekst bevatten. Zet tekstuele zoekwaarden tussen aanhalingstekens, bijvoorbeeld =VLOOKUP("Muis",A2:C4,3,FALSE).