Index en vergelijken als alternatief voor verticaal zoeken

In één van mijn vorige artikelen heb ik de functie VERT.ZOEKEN (Engels: VLOOKUP) uitgelegd met behulp van het onderstaande voorbeeld:

verticaal-zoeken

In kolom E zoekt Excel met behulp van de functie verticaal zoeken de omschrijving op van de rekening in kolom D. De omschrijving wordt opgezocht in de tabel in de kolommen A en B.

We kunnen precies hetzelfde bereiken als we de functies INDEX (Engels: INDEX) en VERGELIJKEN (Engels: MATCH) combineren.


Zodra je INDEX gebruikt, geeft Excel de melding dat deze functie door verschillende argumentenreeksen wordt gevolgd:

dialoog-argumenten-selecter

In dit voorbeeld gebruiken we de eerste optie: matrix;rij_getal;kolom_getal.  INDEX werkt erg eenvoudig. De functie geeft de inhoud van de cel in een matrix (=tabel). Het rij_getal geeft aan in welke rij Excel moet kijken, het kolom_getal in welke kolom. In ons voorbeeld bestaat de matrix uit de cellen A2 t/m B5. We zijn opzoek naar de omschrijving, deze staat in de 2e kolom. Het kolom_getal moet dus 2 zijn. We missen alleen nog het rij_getal. Deze is afhankelijk van de rekening in kolom D die we willen opzoeken. Hier kan de functie VERGELIJKEN ons helpen.

VERGELIJKEN heeft de volgende argumenten: zoekwaarde, zoeken-matrix en criteriumtype_getal. De functie geeft als resultaat de relatieve positie van de zoekwaarde in de zoeken-matrix. In ons voorbeeld is de zoekwaarde bijvoorbeeld cel D2 (rekening 4200). De zoeken-matrix bestaat uit de cellen A2 t/m A5 (de lijst met rekeningen). Als resultaat geeft de functie de relatieve positie van de waarde 4200 in de cellen A2 t/m A5. Dit is 4 (4200 staat in de 4e positie). Dit is ook het rij_getal dat we nodig hebben voor de functie INDEX. Het laatste argument van de functie VERGELIJKEN, het criteriumtype_getal, is optioneel. Je hoeft het niet in te vullen. Excel verondersteld dan dat je een 1 hebt ingevuld. Er zijn drie mogelijk waarde voor het criteriumtype_getal:

  • 1 Excel zoekt naar de grootste waarde die kleiner of gelijk is aan de zoekwaarde; de zoek-matrix moet oplopend zijn gesorteerd;
  • 0 Excel zoekt naar een waarde die exact gelijk is aan de zoekwaarde;
  • -1 Excel zoekt naar de kleinste waarde die groter of gelijk is aan de zoekwaarde; de zoek-matrix moet aflopend zijn gesorteerd.

In ons voorbeeld zoeken we naar een exacte overeenkomst en gebruiken we daarom 0 als criteriumtype_getal. Combineren we beide functies dan krijgen we voor cel E2 de volgende formule:

=INDEX($A$2:$B$5;VERGELIJKEN(D2;$A$2:$A$5;0);2)

Kopiëren we deze formule ook naar de cellen E3 t/m E5 dan komt het resultaat overeen met de volgende afbeelding:

index-en-vergelijken

Cel E4 geeft de foutmelding #N/B (Engels: #N/A) omdat rekening 4300 niet in de zoek-matrix staat. In het artikel De functie verticaal zoeken – Deel III heb ik uitgelegd hoe je met deze foutmelding kunt omgaan. Dezelfde methodiek zou je hier kunnen toepassen.

In een volgend artikel zal ik aangeven wanneer het handiger is om de combinatie index en vergelijken te gebruiken in plaats van verticaal zoeken.