XLOOKUP vs INDEX-MATCH in Excel (Alle mogelijke vergelijkingen)

  • Deel Dit
Hugh West

Vandaag zal ik een vergelijkende analyse maken van de XLOOKUP vs INDEX-MATCH functies in Excel In de eerdere versies van Excel gebruikten we de HLOOKUP de VLOOKUP en de INDEX-MATCH functies om te zoeken naar een specifieke waarde in een reeks cellen. Echter, met de opkomst van Office 365 heeft Excel ons een nieuwe en dynamische functie verschaft, genaamd de XLOOKUP functie om een soortgelijke operatie meer verfijnd uit te voeren. In dit artikel zal ik proberen de veelgebruikte functies, de XLOOKUP en de INDEX-MATCH .

Download Praktijk werkboek

Neem dit voorbeeldbestand voor een beter begrip.

XLOOKUP vs INDEX-MATCH functies.xlsx

Inleiding tot de XLOOKUP-functie

De XLOOKUP functie wordt gebruikt om een specifieke waarde te vinden binnen een bereik van cellen of een matrix. Daarna geeft het de overeenkomstige eerste overeenkomst terug. Het toont ook de dichtstbijzijnde of benaderende overeenkomst wanneer er geen exacte overeenkomst is.

Syntax:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])

Argumenten:

  • Lookup_value : Het is de waarde die we zoeken in een specifieke kolom van het bereik.
  • Lookup_array : Het is de array waarin we de lookup_waarde Kan zowel rij als kolom zijn.
  • Return_array: Het is de kolom waaruit de overeenkomstige waarde van de lookup_waarde zal worden teruggestuurd.

Optionele argumenten:

  • If_not_found : Dit is de waarde die zal worden teruggegeven indien de lookup_array heeft de lookup_value niet.
  • Match_mode Het is een getal dat het type overeenkomst aangeeft van de lookup_waarde Dit is een optioneel argument. Het kan vier waarden bevatten.
  1. Wanneer het 0 , XLOOKUP zoekt naar een exacte overeenkomst (standaard).
  2. Wanneer het 1 , XLOOKUP zal eerst zoeken naar een exacte overeenkomst. Als er geen exacte overeenkomst wordt gevonden, zal het overeenkomen met de eerstvolgende kleinere waarde.
  3. Wanneer het -1 , XLOOKUP zal eerst zoeken naar een exacte overeenkomst. Als er geen exacte overeenkomst wordt gevonden, zal het overeenkomen met de volgende grotere waarde.
  4. Wanneer het 2 , XLOOKUP zal eerst zoeken naar een benaderende overeenkomst met behulp van jokertekens (alleen van toepassing op string lookup waarden).
  • Zoekmodus : Dit is een getal dat het type zoekoperatie op de lookup_array aangeeft. Ook dit is optioneel en kan vier waarden hebben:
  1. Als het 1 , XLOOKUP zoekt van boven naar beneden in de lookup_array (Standaard).
  2. Wanneer het -1 , XLOOKUP zoekt van beneden naar boven in de
  3. Als het 2 , XLOOKUP voert een binaire zoekactie uit in oplopende volgorde.
  4. Wanneer het -2 , XLOOKUP voert een binaire zoekactie uit in aflopende volgorde.

Inleiding tot INDEX-MATCH-functies

De combinatie van de INDEX-MATCH functies wordt gebruikt om een waarde op te halen van een bepaalde locatie en deze te matchen met het bronbereik.

Syntax:

=INDEX(array,MATCH(lookup_value,lookup_array,match_type),no_of_column)

Argumenten:

Voor de INDEX-functie:

  • Array Het is een reeks cellen waaruit we een waarde willen halen.
  • MATCH(lookup_value,lookup_array,match_type): Het is het rijnummer van het bereik waar de lookup_waarde overeenkomt met een specifieke waarde in de lookup_array .
  • No_of_column: Het is het nummer van de kolom van de matrix waaruit we een waarde willen teruggeven die overeenkomt met de lookup_waarde .

Voor de MATCH functie:

  • Lookup_value: Het is de waarde die we zoeken.
  • Lookup_array: Het is de matrix waarin we zoeken naar de lookup_waarde Het kan zowel een rij als een kolom zijn.
  • Match_type: Dit is een geheel getal dat aangeeft naar welk type overeenkomst we zoeken. Dit is optioneel.
  1. Wanneer het -1 , MATCH zoekt eerst naar een exacte overeenkomst. Als er geen exacte overeenkomst wordt gevonden, zoekt het naar de volgende grotere waarde (standaard) (tegenovergesteld aan XLOOKUP ).

Maar de voorwaarde is dat de lookup_array moet oplopend gesorteerd zijn, anders verschijnt er een foutmelding.

  1. Wanneer het 1 , MATCH zal ook eerst zoeken naar een exacte overeenkomst. In het geval dat een exacte overeenkomst niet wordt gevonden, zal het zoeken naar de volgende kleinere waarde (in tegenstelling tot XLOOKUP ).

Maar de voorwaarde is dat de lookup_array moet deze keer in aflopende volgorde worden gesorteerd, anders verschijnt er een foutmelding.

  1. Wanneer het 0 , MATCH zoekt naar een exacte overeenkomst.

Lees meer: Specifieke gegevens selecteren in Excel (6 methoden)

7 Vergelijkingen tussen het gebruik van de functies XLOOKUP en INDEX-MATCH

Nu we de formule hebben uitgesplitst, laten we enkele overeenkomsten en verschillen tussen de twee functies bespreken. Voordat we naar de belangrijkste besprekingen gaan, geef ik voor uw gemak de belangrijkste punten in een tabel weer.

Punt van discussie Gelijkenis/Vergelijkenis Uitleg
Kolom lookup_array Gelijkenis Beide ondersteunen een kolom als lookup_array.
Rij lookup_array Gelijkenis Beide ondersteunen een rij als de lookup_array.
Geen overeenstemming van lookup_value Ongelijkheid XLOOKUP heeft de standaardinstelling voor geen matching van de lookup_waarde. Maar de INDEX-MATCH heeft dat niet.
Geschatte overeenkomst Gedeeltelijke gelijkenis XLOOKUP kan de volgende kleinere of de volgende grotere waarde vinden wanneer er geen exacte overeenkomst is. INDEX-MATCH kan dat ook, maar dan moet de lookup_array oplopend of aflopend gesorteerd worden.
Overeenkomende jokertekens Gelijkenis Beide ondersteunen overeenkomstige Wildcards.
Matching van meerdere waarden Gedeeltelijke gelijkenis XLOOKUP kan zowel de eerste als de laatste waarde vinden wanneer meerdere waarden overeenkomen. Maar INDEX-MATCH kan alleen de eerste waarde die overeenkomt teruggeven.
Matrixformule Gelijkenis Beide ondersteunen de matrixformule.

1. XLOOKUP en INDEX-MATCH om waarde in kolom op te zoeken

Er is een overeenkomst tussen de twee functies in dit opzicht. Voor de XLOOKUP en de INDEX-MATCH kan de lookup_array een kolom zijn voor beide functies. Hier zijn we op zoek naar de exacte Cijfers in natuurkunde van de studentennaam in C ell F5 , Jennifer Marlo We wilden van boven naar beneden zoeken in de Naam student kolom en geef " Niet gevonden. " als er geen overeenkomst is gevonden.

  • Voor XLOOKUP Pas de formule in Cel G5 .
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • Voor INDEX-MATCH Gebruik deze formule in Cel G5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

Lees meer: Hoe meerdere criteria uit verschillende reeksen in Excel te matchen

2. XLOOKUP en INDEX-MATCH om de waarde in de rij op te zoeken.

Ook in dit opzicht is er een overeenkomst tussen de twee functies. Voor de XLOOKUP en de INDEX-MATCH de lookup_array kan ook een rij zijn voor beide functies. Ter illustratie, we hebben een nieuwe dataset met de ID's , Namen en Cijfers in natuurkunde en Rangen .

Laten we even bedenken dat dit een zeer brede gegevensreeks is, en we weten niet wat het aantal van de Rang kolom is. Dan, om het cijfer van een bepaalde student te weten te komen, moeten we de Rij koppen (B4:E4) als de lookup_array en het woord " Rang " als de lookup_waarde We kunnen dit bereiken door zowel de XLOOKUP en de INDEX-MATCH .

  • Om de rang van de 3e student de XLOOKUP formule zal zo zijn in Cel G5 .
=XLOOKUP("Rang",B4:E4,B7:E7,"Niet gevonden",0,1)

  • Voor dit geval is de INDEX-MATCH formule zal zijn:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

3. XLOOKUP en INDEX-MATCH als er geen overeenkomst wordt gevonden

De twee functies verschillen op dit punt van elkaar. Als de lookup_value niet overeenkomt met een waarde in de lookup_array kunt u een vaste waarde instellen die terugkomt in XLOOKUP Om dat te doen, moet je die waarde instellen in de if_not_found argument. Anderzijds is er geen dergelijke optie in INDEX-MATCH Het zal een fout opleveren. Je moet het volgende gebruiken de IFERROR-functie buiten om de fout af te handelen. In de gegeven dataset zullen we de Studentennaam met ID 100 .

  • Gebruik hiervoor het volgende XLOOKUP formule in Cel G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • Aan de andere kant, pas deze INDEX-MATCH formule.
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • Omdat het een foutmelding geeft, moet u een IFERROR functie buiten om deze fout af te handelen.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Niet gevonden")

Vergelijkbare lezingen

  • Excel INDEX MATCH om meerdere waarden in één cel terug te geven
  • Excel INDEX-MATCH formule om meerdere waarden horizontaal terug te geven
  • Hoe de INDEX-MATCH formule in Excel gebruiken om meerdere resultaten te genereren
  • [Fixed!] INDEX MATCH geeft niet de juiste waarde in Excel (5 redenen)
  • Hoe INDEX MATCH gebruiken in plaats van VLOOKUP in Excel (3 manieren)

4. XLOOKUP en INDEX-MATCH in geval van benaderende overeenkomsten

In dit opzicht is er een gedeeltelijke overeenkomst tussen de twee functies. In de XLOOKUP functie, als de lookup_waarde komt niet overeen met een waarde in de lookup_array kunt u de formule wijzigen om de eerstvolgende kleinere of de eerstvolgende grotere waarde terug te geven. Stel het argument match_type naar -1 als u de volgende kleinere waarde wilt en stel deze in op 1 als u de volgende grotere waarde wilt.

Bijvoorbeeld, we zullen de student met een cijfer van 50 of de volgende grotere markering.

  • Om de waarde te vinden, past u het volgende toe XLOOKUP formule.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • Zoals u kunt zien, is er geen student met een cijfer van 50 Dat is waarom het diegene toont direct na... 50 , 51 door Desmond Hayes .

Er is dezelfde optie in de INDEX-MATCH formule. Maar de tekortkoming is dat je de lookup_array aflopend moet sorteren als je de volgende grotere waarde wilt. Anders geeft het een foutmelding. En om de volgende kleinere waarde te krijgen, moet je oplopend sorteren.

  • Voeg eerst deze formule in Cel G5 .
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • Als gevolg daarvan zult u zien dat het resultaat een #N/A fout.
  • Sorteer daarom de Celbereik D5:D16 in oplopende volgorde en u krijgt de juiste waarde.

Speciale opmerking: In de XLOOKUP functie, -1 werkt voor de volgende kleinere waarde, maar in INDEX-MATCH , -1 werkt voor de volgende grotere waarde. Zo ook in de XLOOKUP functie, 1 werkt voor de volgende grotere waarde, maar in INDEX-MATCH, 1 werkt voor de volgende kleinere waarde.

Lees meer: Hoe INDEX en Match te gebruiken voor gedeeltelijke overeenstemming (2 manieren)

5. XLOOKUP en INDEX-MATCH bij overeenkomende jokertekens

Er is een overeenkomst tussen de twee functies in dit opzicht. De XLOOKUP en de INDEX-MATCH ondersteunen beide Wildcards Hier zullen we elke student met " Marlo " als tweede naam. Laten we de onderstaande stappen volgen om te zien XLOOKUP vs INDEX-MATCH vergelijking.

  • Ten eerste, pas deze XLOOKUP formule in Cel G5 om de uitvoer te krijgen.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

Let op: Om jokertekens te gebruiken in XLOOKUP moet u de match_type argument naar 2 Anders werkt het niet.

  • Anderzijds, de INDEX-MATCH formule om dezelfde taak te volbrengen zal er als volgt uitzien.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

Lees meer: INDEX MATCH meerdere criteria met jokerteken in Excel (een complete gids)

6. XLOOKUP en INDEX-MATCH wanneer meerdere waarden overeenkomen met de zoekwaarde

Dit voorbeeld toont XLOOKUP vs INDEX-MATCH wanneer meerdere waarden overeenkomen met de opzoekwaarde. Ook in dit opzicht is er een gedeeltelijke overeenkomst tussen de twee functies. De XLOOKUP en de INDEX-MATCH geven beide slechts één waarde terug in het geval dat meerdere waarden in de lookup_array overeenkomen met de lookup_waarde Maar in de XLOOKUP functie, kunt u de zoekopdracht aanpassen om de eerste of de laatste overeenkomst te krijgen. Om de eerste waarde die overeenkomt te krijgen, stelt u de zoek_type argument naar 1 En om de laatste waarde te krijgen die overeenkomt, stel je de zoek_type argument naar -1 Maar in INDEX-MATCH heb je geen keuze. Je krijgt alleen de eerste waarde die overeenkomt.

  • Om de eerste student die 100 kun je dit gebruiken XLOOKUP formule in Cel G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Daarbij krijg je de laatste student met 100 met behulp van deze XLOOKUP formule.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Integendeel, u krijgt alleen de eerste waarde die overeenkomt met deze INDEX-MATCH formule.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP en INDEX-MATCH in geval van meervoudige opzoekwaarden

In dit voorbeeld demonstreren we XLOOKUP vs INDEX-MATCH in het geval van meerdere lookup waarden. Er is een overeenkomst tussen de twee functies in dit opzicht. Beide laten meerdere opzoeking waarden (Array Formula).

  • Voor de XLOOKUP functie, zal de volgende formule werken.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Dan, voor INDEX-MATCH zal de volgende functie ook werken.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Voordelen & nadelen van de XLOOKUP-functie

Er zijn bepaalde voor- en nadelen aan het gebruik van de XLOOKUP functie. Laten we ze in het kort bekijken.

Voordelen

  • Stel een standaardwaarde in voor geen overeenkomende gevallen.
  • Kan zoeken naar benaderende overeenkomsten zonder het sorteren van de lookup_array .
  • Toegang hebben tot zoeken vanuit zowel de eerste als de laatste cel van de lookup_array .

Nadelen

  • Werkt langzamer dan de INDEX-MATCH functie.
  • Beschikbaar in Office 365 alleen.

Voordelen & nadelen van INDEX-MATCH functies

De INDEX-MATCH functies kreeg ook enkele van de volgende voor- en nadelen.

Voordelen

  • Werkt sneller dan de XLOOKUP functie.
  • Beschikbaar in de oude Excel versies.

Nadelen

  • Kan geen fouten verwerken als er geen overeenkomst is gevonden.
  • Heeft de lookup_array om te sorteren op overeenkomsten bij benadering.
  • Geeft alleen de eerste waarde als meerdere waarden overeenkomen met de lookup_waarde .

Conclusie

Eindelijk zijn we aan het eind van ons lange artikel. Hier hebben we geprobeerd een vergelijkende analyse te maken van de XLOOKUP versus de INDEX-MATCH functies in Excel. Laat ons uw inzichtelijke suggesties hierover weten. Volg ExcelWIKI voor meer tutorials.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.