Excel leren
NL

Home › Excel-functies › INDEX/VERGELIJKEN

INDEX en VERGELIJKEN in Excel

INDEX en VERGELIJKEN samen vormen een zoekformule die alles kan wat VERT.ZOEKEN kan, en meer: naar links zoeken, tegen ingevoegde kolommen kunnen en in rijen en kolommen tegelijk zoeken. Het werkt in elke versie van Excel. In de Engelse Excel heet de combinatie INDEX/MATCH.

In deze uitleg
  1. Hoe het werkt
  2. Voorbeeld stap voor stap
  3. Naar links zoeken
  4. In twee richtingen zoeken
  5. Waarom niet VERT.ZOEKEN?
  6. Veelvoorkomende fouten
  7. Veelgestelde vragen

Zo werken INDEX en VERGELIJKEN

De combinatie snap je het makkelijkst als twee losse functies met elk één taak.

VERGELIJKEN vindt de positie

=VERGELIJKEN(zoekwaarde; zoeken-matrix; [criteriumtype_getal])

VERGELIJKEN geeft de positie van een waarde in een lijst, niet de waarde zelf. Gebruik 0 als laatste argument voor een exacte overeenkomst.

INDEX geeft de waarde op een positie

=INDEX(matrix; rij_getal; [kolom_getal])

INDEX geeft wat er op een bepaalde positie in een bereik staat. =INDEX(D2:D6; 4) geeft de 4e waarde in D2:D6.

Samen

=INDEX(terugkeerbereik; VERGELIJKEN(zoekwaarde; zoekbereik; 0))

VERGELIJKEN zoekt uit in welke rij de waarde staat, en INDEX haalt met dat rijnummer de uitkomst uit een andere kolom.

Voorbeeld stap voor stap

ABCD
1ArtikelProductVoorraadPrijs
2P-101Appel120€ 0,35
3P-102Banaan85€ 0,25
4P-103Kers300€ 0,10
5P-104Mango40€ 1,20
6P-105Peer60€ 0,30
  1. =VERGELIJKEN("Mango"; B2:B6; 0) geeft 4: Mango is het 4e item in B2:B6.
  2. =INDEX(D2:D6; 4) geeft € 1,20: het 4e item in D2:D6.
  3. Samen: =INDEX(D2:D6; VERGELIJKEN("Mango"; B2:B6; 0)) geeft € 1,20.

Houd beide bereiken even groot en laat ze op dezelfde rij beginnen. Begint het zoekbereik op rij 2, dan het terugkeerbereik ook. Anders wijst de positie van VERGELIJKEN naar de verkeerde rij.

Een waarde links ervan opzoeken

Omdat zoekbereik en terugkeerbereik los van elkaar staan, kan de terugkeerkolom overal staan. Het artikelnummer van de mango uit kolom A:

=INDEX(A2:A6; VERGELIJKEN("Mango"; B2:B6; 0))

Dit geeft P-104, iets wat VERT.ZOEKEN niet kan.

In twee richtingen zoeken: rij en kolom

Geef INDEX een bereik van meerdere kolommen en een tweede VERGELIJKEN voor de kolom. Dit vindt de waarde waar de rij "Mango" en de kolom "Prijs" elkaar kruisen:

=INDEX(C2:D6; VERGELIJKEN("Mango"; B2:B6; 0); VERGELIJKEN("Prijs"; C1:D1; 0))

De eerste VERGELIJKEN geeft rij 4, de tweede kolom 2, dus INDEX geeft € 1,20. Maak van "Prijs" "Voorraad" en je krijgt 40. Ideaal voor tabellen zoals omzet per maand per regio.

Waarom INDEX/VERGELIJKEN in plaats van VERT.ZOEKEN?

  • Het kan naar links zoeken. De terugkeerkolom hoeft niet rechts van de zoekkolom te staan.
  • Het gaat niet stuk als je kolommen invoegt. Het vaste kolomnummer van VERT.ZOEKEN (zoals 3) wijst na het invoegen naar de verkeerde kolom; de verwijzingen van INDEX/VERGELIJKEN schuiven mee.
  • Het kan in twee richtingen zoeken.
  • Het werkt overal, ook in Excel 2019 en ouder, waar X.ZOEKEN niet bestaat.

In Microsoft 365 of Excel 2021 en later doet X.ZOEKEN hetzelfde in één functie, en die leest makkelijker. INDEX/VERGELIJKEN kom je in bestaande spreadsheets nog overal tegen, dus het is de moeite waard om te kennen.

Veelvoorkomende fouten

#N/B

VERGELIJKEN kon de waarde niet vinden. Controleer spelling, extra spaties en getallen die als tekst zijn opgeslagen. Zet de formule in ALS.FOUT om een melding te tonen.

Verkeerde uitkomst, geen fout

Waarschijnlijk ben je de 0 in VERGELIJKEN vergeten. Zonder die 0 zoekt VERGELIJKEN benaderd, en dat werkt alleen op gesorteerde gegevens. Of de twee bereiken beginnen niet op dezelfde rij.

#VERW!

Het rij- of kolomnummer is groter dan het INDEX-bereik, meestal omdat het INDEX-bereik kleiner is dan het VERGELIJKEN-bereik.

Veelgestelde vragen

Is INDEX/VERGELIJKEN sneller dan VERT.ZOEKEN?

Op hele grote werkbladen kan het iets sneller zijn, omdat alleen de twee benodigde kolommen worden gelezen. In de meeste werkmappen merk je geen verschil.

Wat betekent de 0 in VERGELIJKEN?

Die zet het type op exacte overeenkomst. Gebruik 1 (of laat het weg) voor "grootste waarde kleiner dan of gelijk aan" bij oplopend gesorteerde gegevens, en -1 voor "kleinste waarde groter dan of gelijk aan" bij aflopend gesorteerde gegevens.

Wat is INDEX/VERGELIJKEN in het Engels?

INDEX en MATCH. =INDEX(D2:D6;VERGELIJKEN("Mango";B2:B6;0)) is in de Engelse Excel =INDEX(D2:D6,MATCH("Mango",B2:B6,0)).

Kan INDEX/VERGELIJKEN met meerdere voorwaarden?

Ja. In Microsoft 365 schrijf je =INDEX(D2:D6; VERGELIJKEN(1; (B2:B6="Mango")*(C2:C6>20); 0)). In oudere versies bevestig je dit als matrixformule met Ctrl+Shift+Enter.