
Samenvatting
De Excel XMATCH-functie voert een zoekactie uit en retourneert een positie in verticale of horizontale bereiken. Het is een meer robuuste en flexibele opvolger van de MATCH-functie. XMATCH ondersteunt geschatte en exacte overeenkomsten, omgekeerd zoeken en jokertekens (*?) Voor gedeeltelijke overeenkomsten.
Doel
Verkrijg de positie van een item in een lijst of tabelWinstwaarde
Numerieke positie in opzoekmatrixSyntaxis
= XMATCH (lookup_value, lookup_array, (match_mode), (search_mode))Argumenten
- lookup_value - De opzoekwaarde.
- lookup_array - De array of het bereik om te zoeken.
- match_mode - (optioneel) 0 = exacte overeenkomst (standaard), -1 = exacte overeenkomst of volgende kleinste, 1 = exacte overeenkomst of volgende grotere, 2 = wildcard overeenkomst.
- search_mode - (optioneel) 1 = zoeken vanaf eerste (standaard), -1 = zoeken vanaf laatste, 2 = binair zoeken oplopend, -2 = binair zoeken aflopend.
Versie
Excel 365Gebruiksopmerkingen
De Excel XMATCH-functie voert een zoekopdracht uit en retourneert een positie. XMATCH kan zoekopdrachten uitvoeren in verticale of horizontale bereiken en is bedoeld als een meer flexibele en krachtige opvolger van de MATCH-functie. XMATCH ondersteunt zowel geschatte als exacte overeenkomsten, en jokertekens (*?) Voor gedeeltelijke overeenkomsten. Net als de XLOOKUP-functie kan XMATCH gegevens zoeken vanaf de eerste waarde of de laatste waarde (dwz omgekeerd zoeken). Ten slotte kan XMATCH binaire zoekopdrachten uitvoeren, die specifiek zijn geoptimaliseerd voor snelheid. Zie het zoektype en de zoekmodus hieronder voor details.
XMATCH versus MATCH
In sommige gevallen kan XMATCH een drop-in-vervanging zijn voor de MATCH-functie. Voor exacte overeenkomsten is de syntaxis bijvoorbeeld identiek:
=MATCH(lookup, range, 0) // exact match =XMATCH(lookup, range, 0) // exact match
Voor overeenkomsten bij benadering is het gedrag echter anders wanneer het zoektype is ingesteld op 1:
=MATCH(lookup, range, 1) // exact match or next smallest =XMATCH(lookup, range, 1) // exact match or next *largest*
Bovendien staat XMATCH -1 toe voor het zoektype, dat niet beschikbaar is bij MATCH:
=XMATCH(lookup, range, -1) // exact match or next smallest
Opmerking: de MATCH-functie biedt helemaal geen zoekmodusargument.
Overeenkomsttype
Het derde argument voor XMATCH is match_type . Dit is een optioneel argument dat het matchgedrag als volgt regelt:
Overeenkomsttype | Gedrag |
---|---|
0 (standaard) | Exacte overeenkomst. Zal # N / A retourneren als er geen overeenkomst is. |
-1 | Exacte overeenkomst of volgend kleiner item. |
1 | Exacte overeenkomst of volgend groter item. |
2 | Jokertekenovereenkomst (*,?, ~) |
Zoekmodus
Het vierde argument voor XMATCH is zoekmodus . Dit is een optioneel argument dat het zoekgedrag als volgt regelt:
Zoekmodus | Gedrag |
---|---|
1 (standaard) | Zoek vanaf de eerste waarde |
-1 | Zoeken vanaf laatste waarde (omgekeerd) |
2 | Binaire zoekwaarden gesorteerd in oplopende volgorde |
-2 | Binaire zoekwaarden gesorteerd in aflopende volgorde |
Binaire zoekopdrachten zijn erg snel, maar zorg ervoor dat de gegevens naar behoefte worden gesorteerd. Als de gegevens niet correct zijn gesorteerd, kan een binaire zoekopdracht ongeldige resultaten opleveren die er volkomen normaal uitzien.
Voorbeeld # 1 - exacte overeenkomst
In het getoonde voorbeeld wordt XMATCH gebruikt om de positie van "Mars" in een lijst met planeten in het bereik B6: B14 op te halen. De formule in G6 is:
=XMATCH(G5,B6:B14) // returns 4
Let op XMATCH is standaard ingesteld op een exacte overeenkomst. Als "Mars" G5 verkeerd was gespeld "Marz", zou XMATCH # N / A retourneren.
Voorbeeld # 2 - matchgedrag
Het onderstaande voorbeeld illustreert het gedrag van de overeenkomstmodus met een opzoekwaarde van 3,1 in E4 en opzoekwaarden in B5: B11.
E6=XMATCH(E4,B5:B11) // returns #N/A E7=XMATCH(E4,B5:B11,-1) // returns 3 E8=XMATCH(E4,B5:B11,1) // returns 4
Voorbeeld # 3 - INDEX en XMATCH
XMATCH kan net als MATCH worden gebruikt met de INDEX-functie. Om de diameter van Mars te achterhalen op basis van het originele voorbeeld hierboven, is de formule:
=INDEX(C6:C14,XMATCH(G5,B6:B14)) / returns 6792
Opmerkingen
- XMATCH kan werken met zowel verticale als horizontale arrays.
- XMATCH retourneert # N / A als de opzoekwaarde niet wordt gevonden.