X.ZOEKEN in Excel: uitleg en voorbeelden
Bijgewerkt op . Engelse naam: XLOOKUP
X.ZOEKEN zoekt een waarde in een kolom of rij en geeft het bijbehorende item uit een andere kolom of rij terug, bijvoorbeeld =X.ZOEKEN(E2;A2:A50;C2:C50). Het is de moderne opvolger van VERT.ZOEKEN: het zoekt standaard exact, kan ook naar links kijken en laat je zelf bepalen wat er verschijnt als niets gevonden wordt. In de Engelse Excel heet de functie XLOOKUP.
Syntax
=X.ZOEKEN(zoekwaarde; zoeken-matrix; matrix_retourneren; [indien_niet_gevonden]; [overeenkomstmodus]; [zoekmodus])
- zoekwaarde
- De waarde die je zoekt, zoals een productcode of een naam.
- zoeken-matrix
- De kolom of rij waarin Excel zoekt, bijvoorbeeld A2:A50.
- matrix_retourneren
- De kolom of rij met de antwoorden, bijvoorbeeld C2:C50. Die moet even lang zijn als de zoeken-matrix.
- indien_niet_gevonden(optioneel)
- Wat Excel toont als de zoekwaarde niet bestaat, zoals "Onbekend". Zonder dit argument krijg je #N/B.
- overeenkomstmodus(optioneel)
- 0 is exact (standaard), -1 is exact of anders de eerstvolgende kleinere waarde, 1 is exact of anders de eerstvolgende grotere waarde en 2 is zoeken met jokertekens.
- zoekmodus(optioneel)
- 1 zoekt van boven naar beneden (standaard) en -1 van onder naar boven. 2 en -2 zijn voor binair zoeken in gesorteerde lijsten.
Hoe werkt X.ZOEKEN?
Bij X.ZOEKEN geef je drie dingen op: wat je zoekt, waar je het zoekt en waar het antwoord staat. Zoek je de prijs bij een productcode, dan wordt dat:
=X.ZOEKEN(E2;A2:A50;C2:C50)
Excel zoekt de code uit E2 in A2:A50. Staat die op de vijfde plek, dan geeft X.ZOEKEN de vijfde waarde uit C2:C50. Je hoeft dus geen kolomnummer te tellen, zoals bij VERT.ZOEKEN.
Omdat het zoekbereik en het retourbereik los van elkaar staan, maakt de richting niet uit. Het antwoord mag links of rechts van de zoekkolom staan, en ook boven of onder een zoekrij. Zorg wel dat beide bereiken even lang zijn, anders krijg je #WAARDE!.
X.ZOEKEN zit in Microsoft 365, Excel 2021, Excel 2024 en Excel voor het web. In Excel 2019 en ouder bestaat de functie niet. Open je daar een bestand met X.ZOEKEN, dan krijg je #NAAM? zodra de formule opnieuw wordt berekend.
Een eigen tekst als niets gevonden wordt
Het vierde argument, indien_niet_gevonden, bepaalt wat je ziet als de zoekwaarde niet bestaat. Laat je het leeg, dan krijg je net als bij VERT.ZOEKEN #N/B. Vul je een tekst in, dan toont Excel die tekst:
=X.ZOEKEN(E2;A2:A50;C2:C50;"Onbekende code")
Je kunt ook een getal of een lege tekst opgeven. Met "" blijft de cel leeg, met 0 telt een ontbrekende waarde als nul mee in een totaal.
Dit is netter dan de hele formule in ALS.FOUT te zetten. ALS.FOUT vangt namelijk alle fouten af, ook een tikfout in een bereik. indien_niet_gevonden reageert alleen op een zoekwaarde die niet bestaat, zodat andere fouten zichtbaar blijven.
Wil je het vierde argument overslaan en wel het vijfde instellen, laat het dan leeg tussen twee puntkomma's: =X.ZOEKEN(E2;A2:A50;C2:C50;;-1).
Overeenkomstmodus: exact, kleiner, groter of jokertekens
Met het vijfde argument kies je hoe Excel een treffer bepaalt:
- 0 zoekt exact. Dit is de standaard, dus je hoeft het niet te typen.
- -1 zoekt exact, en anders de eerstvolgende kleinere waarde. Handig voor staffels, zoals een korting vanaf een bepaald bedrag.
- 1 zoekt exact, en anders de eerstvolgende grotere waarde. Handig als je naar boven moet afronden, zoals de kleinste doos waar iets in past.
- 2 zoekt met jokertekens. Een
*staat voor willekeurige tekst en een?voor één teken."Jans*"vindt dan Jansen en Janssens.
Anders dan bij VERT.ZOEKEN met WAAR hoeft de lijst voor -1 en 1 niet gesorteerd te zijn. X.ZOEKEN zoekt zelf de dichtstbijzijnde waarde. Dat maakt staffels een stuk minder foutgevoelig.
Zoekmodus: van onder naar boven zoeken
Het zesde argument bepaalt in welke volgorde Excel zoekt. Standaard (1) begint het bovenaan en stopt het bij de eerste treffer. Met -1 begint Excel onderaan en vind je dus de laatste treffer.
Dat is handig in een lijst die steeds langer wordt, zoals een orderlijst of een logboek. Wil je de meest recente bestelling van een klant, dan zoek je van onder naar boven:
=X.ZOEKEN(E2;B2:B500;C2:C500;"Geen order";0;-1)
De opties 2 en -2 zijn voor binair zoeken. Dat is sneller bij heel grote lijsten, maar werkt alleen als de zoekkolom gesorteerd is: oplopend bij 2 en aflopend bij -2. Is de lijst niet gesorteerd, dan krijg je zonder waarschuwing een verkeerd antwoord. Voor de meeste bestanden heb je deze opties niet nodig.
X.ZOEKEN of VERT.ZOEKEN: wat is het verschil?
Beide functies zoeken een waarde op in een lijst, maar X.ZOEKEN lost de bekende problemen van VERT.ZOEKEN op:
- Standaard exact. Bij VERT.ZOEKEN moet je ONWAAR typen, anders zoekt Excel bij benadering. X.ZOEKEN zoekt vanzelf exact.
- Geen kolomnummer. Je wijst de kolom met antwoorden aan. Voeg je een kolom in, dan blijft de formule kloppen.
- Naar links zoeken. De antwoordkolom mag overal staan.
- Eigen melding. Met indien_niet_gevonden heb je geen ALS.NB nodig.
- Laatste treffer. Met zoekmodus -1 zoek je van onder naar boven.
VERT.ZOEKEN heeft één groot voordeel: het werkt in elke versie van Excel. Werk je samen met mensen die Excel 2016 of 2019 gebruiken, dan is VERT.ZOEKEN of INDEX met VERGELIJKEN de veilige keuze. Anders kun je voor nieuwe bestanden beter X.ZOEKEN gebruiken.
Meerdere kolommen of meerdere criteria
Geef je als retourbereik meerdere kolommen op, dan geeft X.ZOEKEN ze allemaal terug. Met =X.ZOEKEN(E2;A2:A50;B2:D50) krijg je in één keer de productnaam, de prijs en de voorraad naast elkaar. De uitkomst loopt dan over naar de cellen rechts. Staat daar al iets, dan zie je #OVERLOOP!.
Zoeken op twee voorwaarden kan ook. Plak de zoekwaarden en de zoekkolommen aan elkaar met &:
=X.ZOEKEN(F1&F2;A2:A50&B2:B50;C2:C50)
Excel zoekt dan bijvoorbeeld naar de combinatie van een productcode en een maat. Een andere manier is een vermenigvuldiging van voorwaarden: =X.ZOEKEN(1;(A2:A50=F1)*(B2:B50=F2);C2:C50). Elke rij waarin beide voorwaarden kloppen, krijgt een 1, en X.ZOEKEN zoekt de eerste 1.
Voorbeelden
Naar links zoeken: de code bij een productnaam
Een koffiebranderij wil bij een productnaam de artikelcode weten. De code staat links van de naam.
=X.ZOEKEN(E2;B2:B5;A2:A5) in cel F2
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Code | Product | Voorraad | Product | Code | ||
| 2 | K-210 | Koffiebonen 1 kg | 48 | Groene thee | T-305 | ||
| 3 | K-211 | Espresso 500 g | 120 | ||||
| 4 | T-305 | Groene thee | 75 | ||||
| 5 | T-306 | Rooibos | 32 | ||||
| 6 | |||||||
| 7 |
Klik op cel F2 om de formule te zien of aan te passen.
Dat kan VERT.ZOEKEN niet, X.ZOEKEN wel. De code bij Groene thee is T-305.
Een eigen melding bij een onbekende code
Iemand typt een productcode die niet bestaat. In plaats van #N/B wil je een duidelijke melding.
=X.ZOEKEN(E2;A2:A5;C2:C5;"Code bestaat niet") in cel F2
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Code | Product | Prijs | Zoek code | Prijs | ||
| 2 | K-210 | Koffiebonen 1 kg | € 18,50 | K-999 | Code bestaat niet | ||
| 3 | K-211 | Espresso 500 g | € 11,95 | ||||
| 4 | T-305 | Groene thee | € 6,25 | ||||
| 5 | T-306 | Rooibos | € 5,75 | ||||
| 6 | |||||||
| 7 |
Klik op cel F2 om de formule te zien of aan te passen.
K-999 staat niet in de lijst, dus Excel toont de tekst uit het vierde argument.
De laatste bestelling van een klant
In een orderlijst komt De Vries drie keer voor. Je wilt het bedrag van de meest recente order.
=X.ZOEKEN(E2;B2:B6;C2:C6;"Geen order";0;-1) in cel F2
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Datum | Klant | Bedrag | Klant | Laatste order | ||
| 2 | 02-09-2026 | De Vries | € 340,00 | De Vries | € 180,00 | ||
| 3 | 09-09-2026 | Bakker | € 125,00 | ||||
| 4 | 15-09-2026 | De Vries | € 515,00 | ||||
| 5 | 23-09-2026 | Smit | € 210,00 | ||||
| 6 | 30-09-2026 | De Vries | € 180,00 | ||||
| 7 | |||||||
| 8 |
Klik op cel F2 om de formule te zien of aan te passen.
Met zoekmodus -1 zoekt Excel van onder naar boven. De laatste order van De Vries is € 180, op 30 september.
Veelgemaakte fouten
Bereiken van verschillende lengte
De zoeken-matrix en de matrix_retourneren moeten evenveel rijen hebben, zoals A2:A50 en C2:C50. Anders krijg je #WAARDE!.
X.ZOEKEN in een oudere Excel-versie
In Excel 2019 en ouder bestaat X.ZOEKEN niet en zie je #NAAM?. Gebruik daar VERT.ZOEKEN of INDEX met VERGELIJKEN.
Jokertekens zonder overeenkomstmodus 2
Standaard zoekt X.ZOEKEN letterlijk naar een sterretje. Zet de overeenkomstmodus op 2 als je met * of ? wilt zoeken.
Bereiken niet vastgezet bij doorvoeren
Trek je de formule naar beneden, zet dan beide bereiken vast met F4, zoals $A$2:$A$50 en $C$2:$C$50.
Oefen het zelf
Lezen is één, het zelf typen is wat blijft hangen. Deze lessen gaan erover:
Veelgestelde vragen
Wat is het verschil tussen X.ZOEKEN en VERT.ZOEKEN?
X.ZOEKEN zoekt standaard exact, heeft geen kolomnummer nodig, kan naar links zoeken en heeft een ingebouwde melding voor niet gevonden. VERT.ZOEKEN werkt wel in alle Excel-versies.
In welke Excel-versie zit X.ZOEKEN?
In Microsoft 365, Excel 2021, Excel 2024 en Excel voor het web. In Excel 2019, 2016 en ouder bestaat de functie niet.
Hoe voorkom ik #N/B bij X.ZOEKEN?
Vul het vierde argument in, bijvoorbeeld =X.ZOEKEN(E2;A2:A50;C2:C50;"Niet gevonden"). Excel toont dan die tekst in plaats van #N/B.
Kan X.ZOEKEN zoeken op twee voorwaarden?
Ja. Plak de waarden aan elkaar met &, zoals =X.ZOEKEN(F1&F2;A2:A50&B2:B50;C2:C50). Excel zoekt dan naar de combinatie van beide.
Hoe vind ik de laatste treffer met X.ZOEKEN?
Zet de zoekmodus op -1. Excel zoekt dan van onder naar boven en geeft de laatste waarde die overeenkomt.
Hoe heet X.ZOEKEN in het Engels?
In de Engelse Excel heet de functie XLOOKUP. De argumenten zijn hetzelfde, alleen hebben ze Engelse namen.