BLOG #3 : (Dynamisch) Vertikaal Zoeken

Hoi allemaal,

Deze blog gaat over (dynamisch) Vertikaal Zoeken.
De formule voor Vertikaal Zoeken is: =VERT.ZOEKEN(zoekwaarde; tabelmatrix; kolomindex_getal; [benaderen])

Er is een discussie gaande over deze functie omdat je, normaal gesproken, alleen van links naar rechts kan zoeken en niet van rechts naar links, zoals dit wel kan bij de formule “Index + Vergelijken” (in het Engels: Index + Match).
Dit houdt in dat de zoekwaarde altijd links moet staan van de gegevens waarin je wilt zoeken.

 

Daarnaast vindt de formule altijd de eerste waarde, van boven naar beneden.

 

Maar hoe zit de formule in elkaar?

– Zoekwaarde:   Dit is de waarde waarop de zoekactie is gebaseerd
– Tabelmatrix:   Dit is het bereik, inclusief de zoekwaarde, waarin de gegevens staan die je wilt vinden
– Kolomindex_getal:   Dit is de kolom waarin de te vinden gegevens staan
– [benaderen]:   Hierin geef je aan of het zoeken een exacte uitkomst moet zijn of bij benadering. WAAR (of 1) is bij benadering en ONWAAR (of 0) is exact

 

En hoe werkt de formule?

Stel, wij hebben de volgende vraag:   Welke verkoper heeft 200 stuks verkocht?

 

De formule van bovenstaande vraag luidt als volgt:

=VERT.ZOEKEN(200;$B$3:$D$7;3;0)

– De zoekwaarde is 200 en is te vinden in kolom B
– De Tabelmatrix is B3 tot en met D7
– De waarde die wij willen vinden is de Verkoper en deze staat in kolom D. Kolom D is de 3e kolom van de Tabelmatrix
– En wij willen de exacte uitkomst. Mocht de zoekwaarde niet gevonden worden, dan krijgen wij een foutmelding #N/B

Helaas is bovenstaande formule statisch:

– De Tabelmatrix is statisch. Als er nieuwe gegevens bijkomen wordt de Tabelmatrix niet automatisch groter. Hoe je dit doet vertel ik in mijn volgende blog, aangezien je dit voor meer zaken kan gebruiken.
– Ook het Kolomindex_getal, de kolom waar je antwoord in te vinden is, in dit voorbeeld de te vinden Verkoper, is statisch.

 

Maar hoe maak je de Kolomindex_getal dynamisch?
Hiervoor gaan wij de kopteksten van de kolommen in de Tabelmatrix vergelijken met de kolom die wij zoeken en vinden welke kolom wij nodig hebben.
De formule hiervoor: =VERGELIJKEN(zoekwaarde; zoeken-matrix; [criteriumtype_getal])

– Zoekwaarde:   Dit is de waarde waarop je zoekactie is gebaseerd. In dit voorbeeld de kolom met de Verkopers
– Zoeken-matrix:   Het gebied waarin je gaat zoeken om de juiste kolom te vinden
– [criterium_getal]:   Voor een exacte match kies je een 0 (nul), voor een waarde onder de zoekwaarde kies je -1 (min één) en voor een waarde boven de zoekwaarde een 1 (één).

Om de juiste kolom te vinden gaan wij zoeken in regel 3 (de kopteksten van de kolommen) en hebben een exacte match nodig (criteriumtype_getal is 0).
De formule wordt: =VERGELIJKEN(“Verkopers”;$b$3:$d$3;0)
De uitkomst van deze formule is 3.  En dit is juist.  In de 3e kolom staan de Verkopers.

De volledige formule wordt dan: =VERT.ZOEKEN(200;$B$3:$D$7;VERGELIJKEN(“Verkopers”;$B$3:$D$3;0);0)

Overigens heb ik de het zoekgebied nu beperkt tot B3 tot en met D3 voor de kopteksten, maar je kan dit zoekgebied ook groter maken, als je maar begint in B3 (bijvoorbeeld $B$3:$Z$3).

De $-tekens in de formule zorgen ervoor dat als je de formule gaat kopiëren, de referentie naar de cellen, in dit voorbeeld B3 tot en met D3, in stand blijven en de formule blijft werken.

 

Mocht je vragen hebben over deze functie(s), laat het mij weten door een reactie op de blog, een reply onderaan de website fo stuur een email naar martijn@datareported.nl

 

De volgende blog gaat over Dynamisch Bereik (matrix) zodat je je nooit meer druk hoeft te maken over of alle gegevens meegenomen worden in je formule of zoekgebied.