Je hebt van die functies die je dagelijks gebruikt. VERT.ZOEKEN() is er daar één van. Maar hoe werkt dat nu precies?

In dit voorbeeld zie je dat we twee tabellen hebben. Eén met de categorie-nummers en categorie-omschrijvingen, en één met de categorie-nummers en het aantal berichten. In de praktijk zullen de twee tabellen zich vaak in verschillende werkmappen bevinden.

In kolom ‘C’ zouden we graag het aantal berichten zien staan. Je zou deze kunnen overtypen uit kolom ‘F’, maar als het om lijsten van 2000 rijen gaat zal je motivatie snel zoek zijn…

Hiervoor kan je de functie VERT.ZOEKEN() gebruiken. Deze ziet er als volgt uit:

=VERT.ZOEKEN(zoekwaarde; tabelmatrix; kolomindex_getal; [benaderen])

De functie gaat zoeken in de eerste kolom van de gekozen tabelmatrix naar de waarde die overeenkomt met de zoekwaarde. Wanneer deze gevonden wordt, wordt er een waarde opgehaald uit een cel op dezelfde regel,deze kan worden gekozen met het kolomindex_getal.

We plaatsen onze celaanwijzer in cel ‘C2’.

  • zoekwaarde: cel ‘A2’, want we willen meer informatie over categorie 4 gaan zoeken in een andere tabel
  • tabelmatrix: bereik ‘$E$2:$F$7’, waarbij kolom ‘E’ het begin van het bereik moet zijn, want hierin moet met de zoekwaarde worden gezocht. Merk op dat we de $-tekens erbij plaatsen: dit is nodig zodat het bereik niet verandert wanneer we straks onze formule doorvoeren naar beneden.
  • kolomindex_getal: 2, want wanneer de zoekwaarde wordt teruggevonden in kolom ‘E’, dan willen we graag dat de tweede kolom uit de tabelmatrix wordt weergegeven, zijnde het aantal berichten
  • [benaderen]: 0. Hier kan je 0 of 1 invullen. Wanneer je dit argument niet opvult zal er automatisch voor 1 gekozen worden. Wij hebben 0 nodig. Meer info lees je onderaan in dit artikel.

Onze formule in cel ‘C2’ zou er als volgt moeten uit zien:

=VERT.ZOEKEN(A2;$E$2:$F$7;2;0)

Wanneer je deze formule nu doorvoert naar beneden, zal je zien dat deze telkens het juiste aantal berichten weergeeft.

Het ‘benaderen’-argument

Zoals daarnet besproken is het laatste argument van VERT.ZOEKEN() niet verplicht. Het is wel érg belangrijk.

Wanneer je 0 invult, zal de functie de zoekwaarde gaan opzoeken in de tabelmatrix. Wanneer de exacte waarde niet gevonden wordt, resulteert de functie in #N/B.

Wanneer je 1 invult (of geen benaderen-argument), en er geen exacte overeenkomst wordt gevonden, wordt de volgende hoogste waarde die kleiner is dan zoekwaarde als resultaat gegeven. Een voorwaarde is hier dat de tabelmatrix gesorteerd is op de eerste kolom in oplopende volgorde. Anders geeft VERT.ZOEKEN() wellicht niet de juiste waarde als resultaat

Mijn advies: vul altijd 0 in om exact te zoeken en zo fouten te voorkomen.