Dit artikel is gebaseerd op de Nederlandse versie van Excel.
X.ZOEKEN (in het Engels XLOOKUP) zoekt een waarde op in een kolom of rij en geeft de bijbehorende waarde uit een andere kolom of rij terug. Je schrijft het als =X.ZOEKEN(zoekwaarde;zoeken_matrix;matrix_retourneren). Anders dan VERT.ZOEKEN kan X.ZOEKEN zowel naar links als naar rechts zoeken, zoekt het standaard naar een exacte overeenkomst en kun je zelf bepalen wat er verschijnt als een waarde niet gevonden wordt.
Wat is X.ZOEKEN?
X.ZOEKEN is de moderne opvolger van VERT.ZOEKEN en HORIZ.ZOEKEN. Waar je bij VERT.ZOEKEN een kolomnummer moet tellen en de zoekkolom altijd links moet staan, wijs je bij X.ZOEKEN gewoon twee bereiken aan: waar je zoekt en wat je terug wilt. Daardoor is de formule makkelijker te lezen en breekt hij niet als je later een kolom invoegt.
In welke Excel-versie zit X.ZOEKEN?
X.ZOEKEN is beschikbaar 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 zie je de foutmelding #NAAM?. Werk je samen met collega's op een oudere versie, gebruik dan VERT.ZOEKEN of de combinatie INDEX en VERGELIJKEN. Het verschil lees je in INDEX/VERGELIJKEN vs. VERT.ZOEKEN.
De syntax van X.ZOEKEN
=X.ZOEKEN(zoekwaarde;zoeken_matrix;matrix_retourneren;[indien_niet_gevonden];[overeenkomstmodus];[zoekmodus])
- zoekwaarde: wat je zoekt, bijvoorbeeld een productcode in cel A2.
- zoeken_matrix: de kolom (of rij) waarin je zoekt.
- matrix_retourneren: de kolom (of rij) met de waarde die je terug wilt.
- indien_niet_gevonden (optioneel): tekst of waarde die verschijnt als er niets gevonden wordt, in plaats van
#N/B. - overeenkomstmodus (optioneel): 0 = exacte overeenkomst (standaard), -1 = exact of eerstvolgende kleinere, 1 = exact of eerstvolgende grotere, 2 = jokertekens zoals * en ?.
- zoekmodus (optioneel): 1 = van boven naar beneden (standaard), -1 = van onder naar boven.
Voorbeeld 1: een prijs opzoeken
Stel je hebt een tabel Producten met in kolom A de productcode en in kolom C de prijs:
- EX-01, Excel Basis, € 425
- EX-02, Excel Gevorderd, € 425
- PB-01, Power BI, € 495
Op een ander tabblad staat in cel A2 de code PB-01. De prijs haal je zo op:
=X.ZOEKEN(A2;Producten[Code];Producten[Prijs])
Het resultaat is € 495. Werk je zonder tabel, dan gebruik je gewone bereiken: =X.ZOEKEN(A2;Producten!A:A;Producten!C:C).
Voorbeeld 2: naar links zoeken
Met VERT.ZOEKEN kan dit niet: de productcode opzoeken op basis van de naam, terwijl de code links van de naam staat. Met X.ZOEKEN draai je de bereiken gewoon om:
=X.ZOEKEN("Power BI";Producten[Naam];Producten[Code])
Het resultaat is PB-01.
Voorbeeld 3: een nette melding als iets niet bestaat
Typ je een code die niet in de lijst staat, dan geeft X.ZOEKEN standaard #N/B. Met het vierde argument maak je daar een duidelijke melding van:
=X.ZOEKEN(A2;Producten[Code];Producten[Prijs];"Code onbekend")
Bij VERT.ZOEKEN had je hiervoor nog ALS.FOUT of ALS.NB om de formule heen nodig.
Voorbeeld 4: meerdere kolommen tegelijk teruggeven
Kies je als matrix_retourneren meerdere aangrenzende kolommen, dan geeft X.ZOEKEN ze allemaal terug. Ze lopen automatisch over naar de cellen ernaast:
=X.ZOEKEN(A2;Producten[Code];Producten[[Naam]:[Prijs]])
Zo krijg je naam en prijs in een keer. Zorg wel dat de cellen rechts van de formule leeg zijn, anders verschijnt #OVERLOOP!.
Voorbeeld 5: de laatste vermelding vinden
In een lijst met bestellingen wil je de meest recente bestelling van een klant, die onderaan staat. Zet de zoekmodus op -1, dan zoekt X.ZOEKEN van onder naar boven:
=X.ZOEKEN("Jansen BV";Bestellingen[Klant];Bestellingen[Datum];"Geen bestelling";0;-1)
Voorbeeld 6: staffels en kortingen
Voor een staffeltabel (bijvoorbeeld 0, 5, 10 deelnemers met oplopende korting) gebruik je overeenkomstmodus -1: exacte overeenkomst of de eerstvolgende kleinere waarde. Bij 7 deelnemers vindt Excel dan de regel van 5:
=X.ZOEKEN(B2;Staffel[Vanaf];Staffel[Korting];0;-1)
Het voordeel ten opzichte van VERT.ZOEKEN: de staffeltabel hoeft niet gesorteerd te zijn.
Veelvoorkomende fouten
- #N/B: de zoekwaarde is niet gevonden. Controleer op spaties aan het eind van een cel (gebruik eventueel SPATIES.WISSEN) en op getallen die als tekst zijn opgeslagen.
- #WAARDE!: de zoeken_matrix en matrix_retourneren zijn niet even groot. Kies bijvoorbeeld A2:A100 en C2:C100, niet A2:A100 en C2:C90.
- #NAAM?: je Excel-versie kent X.ZOEKEN niet, of de functienaam is verkeerd getypt. In de Engelse versie heet de functie XLOOKUP.
- #OVERLOOP!: de formule geeft meerdere waarden terug, maar de cellen ernaast zijn niet leeg.
X.ZOEKEN of VERT.ZOEKEN?
Heb je Microsoft 365 of Excel 2021 en hoeven je bestanden niet te werken in oudere versies, kies dan X.ZOEKEN. De formule is korter, zoekt standaard exact en gaat niet stuk als je kolommen invoegt. VERT.ZOEKEN blijft handig om te kennen, omdat je het in bestaande bestanden nog veel tegenkomt. Lees ook hoe verticaal zoeken in Excel werkt.
Veelgestelde vragen
Wat is het Engelse woord voor X.ZOEKEN?
In de Engelse versie van Excel heet de functie XLOOKUP. Excel vertaalt de functie automatisch als je een bestand opent in een andere taalversie.
Kan X.ZOEKEN met twee voorwaarden zoeken?
Ja. Je kunt bereiken met elkaar vermenigvuldigen, bijvoorbeeld =X.ZOEKEN(1;(Tabel[Klant]=F2)*(Tabel[Maand]=G2);Tabel[Omzet]). Excel zoekt dan de eerste regel waar beide voorwaarden waar zijn.
Werkt X.ZOEKEN ook horizontaal?
Ja. Kies je rijen in plaats van kolommen, dan zoekt X.ZOEKEN horizontaal. Daarmee vervangt het ook HORIZ.ZOEKEN.
Is X.ZOEKEN langzamer dan VERT.ZOEKEN?
In normale werkbladen merk je geen verschil. Bij heel grote bestanden helpt het om tabellen of vaste bereiken te gebruiken in plaats van hele kolommen.
Meer leren over zoekfuncties en formules?
X.ZOEKEN, VERT.ZOEKEN en INDEX/VERGELIJKEN komen uitgebreid aan bod in de cursus Excel functies en formules. Wil je ook aan de slag met draaitabellen en geavanceerde analyses, kijk dan naar Excel Gevorderd. Kleine groepen, klassikaal op 17 locaties of live online.
