Excel XMATCH functie met formulevoorbeelden

  • Deel Dit
Michael Brown

De tutorial introduceert de nieuwe Excel XMATCH functie en laat zien hoe deze beter is dan MATCH voor het oplossen van enkele veelvoorkomende taken.

In Excel 365 is de XMATCH functie toegevoegd om de MATCH functie te vervangen. Maar voordat u uw bestaande formules gaat opwaarderen, is het verstandig om alle voordelen van de nieuwe functie te begrijpen en hoe deze verschilt van de oude.

Samengevat is de XMATCH-functie hetzelfde als MATCH, maar flexibeler en robuuster. Hij kan zowel in verticale als in horizontale matrices zoeken, van eerste naar laatste of van laatste naar eerste zoeken, exacte, benaderende en gedeeltelijke overeenkomsten vinden, en een sneller binair zoekalgoritme gebruiken.

    Excel XMATCH functie

    De functie XMATCH in Excel geeft de relatieve positie van een waarde in een matrix of een cellenbereik.

    Het heeft de volgende syntaxis:

    XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])

    Waar:

    Lookup_value (vereist) - de waarde waarnaar moet worden gezocht.

    Lookup_array (vereist) - de matrix of het celbereik waarin moet worden gezocht.

    Match_mode (facultatief) - geeft aan welk type overeenkomst moet worden gebruikt:

    • 0 of weggelaten (standaard) - exacte overeenkomst
    • -1 - exacte overeenkomst of de eerstvolgende kleinste waarde
    • 1 - exacte overeenkomst of de volgende grootste waarde
    • 2 - wildcard match (*, ?)

    Zoekmodus (facultatief) - specificeert de zoekrichting en het algoritme:

    • 1 of weggelaten (standaard) - zoek van eerste naar laatste.
    • -1 - zoek in omgekeerde volgorde van laatste naar eerste.
    • 2 - binair zoeken oplopend. Vereist lookup_array in oplopende volgorde worden gesorteerd.
    • -2 - binair zoeken aflopend. Vereist lookup_array in aflopende volgorde worden gesorteerd.

    Binair zoeken is een sneller algoritme dat efficiënt werkt op gesorteerde arrays. Voor meer info, zie Zoekmodus.

    Welke Excel versie heeft XMATCH?

    De functie XMATCH is alleen beschikbaar in Excel voor Microsoft 365 en Excel 2021. In Excel 2019, Excel 2016 en eerdere versies wordt deze functie niet ondersteund.

    Basisformule XMATCH in Excel

    Om een algemeen idee te krijgen van de mogelijkheden van de functie, bouwen we een XMATCH-formule in zijn eenvoudigste vorm, waarbij we alleen de eerste twee vereiste argumenten definiëren en de optionele argumenten op hun standaardwaarde laten staan.

    Stel, je hebt een lijst met oceanen gerangschikt naar hun grootte (C2:C6) en je wilt de rang van een bepaalde oceaan vinden. Om dat te doen, gebruik je gewoon de naam van de oceaan, bijvoorbeeld Indisch , als de opzoekwaarde en de hele lijst van namen als de opzoekmatrix:

    =XMATCH("Indian", C2:C6)

    Om de formule flexibeler te maken, voert u de gewenste oceaan in een cel in, bijvoorbeeld F1:

    =XMATCH(F1, C2:C6)

    Als resultaat krijg je een XMATCH-formule om op te zoeken in een verticale lijn De output is de relatieve positie van de lookup-waarde in de array, die in ons geval overeenkomt met de rang van de oceaan:

    Een soortgelijke formule werkt perfect voor een horizontale reeks ook. U hoeft alleen maar de lookup_array referentie:

    =XMATCH(B5, B1:F1)

    Excel XMATCH functie - dingen om te onthouden

    Om XMATCH effectief in uw werkbladen te gebruiken en onverwachte resultaten te voorkomen, dient u deze 3 eenvoudige feiten in gedachten te houden:

    • Indien er twee of meer voorkomen van de lookup-waarde in de lookup-array, wordt de positie van de eerste wedstrijd wordt teruggestuurd als de zoekmodus argument is ingesteld op 1 of is weggelaten. Met zoekmodus ingesteld op -1, zoekt de functie in omgekeerde volgorde en geeft de positie van de laatste wedstrijd zoals aangetoond in dit voorbeeld.
    • Als de opzoekwaarde is niet gevonden , er treedt een #N/A fout op.
    • De XMATCH-functie is hoofdletterongevoelig Om kleine letters en hoofdletters te onderscheiden, gebruikt u deze hoofdlettergevoelige XMATCH-formule.

    Hoe XMATCH gebruiken in Excel - formulevoorbeelden

    De volgende voorbeelden helpen u meer inzicht te krijgen in de functie XMATCH en het praktische gebruik ervan.

    Exacte overeenkomst vs. benaderende overeenkomst

    Het overeenstemmingsgedrag van XMATCH wordt geregeld door het optionele match_mode argument:

    • 0 of weggelaten (standaard) - de formule zoekt alleen naar een exacte overeenkomst. Als geen exacte overeenkomst wordt gevonden, wordt een #N/A-fout geretourneerd.
    • -1 - de formule zoekt eerst naar de exacte overeenkomst, en dan naar het volgende kleinere item.
    • 1 - de formule zoekt eerst naar de exacte overeenkomst, en dan naar het volgende grotere item.

    En laten we nu eens kijken hoe verschillende wedstrijdvormen het resultaat van de formule beïnvloeden. Stel dat u wilt weten waar een bepaald gebied, zeg 80.000.000 km2, staat onder alle oceanen.

    Exacte overeenkomst

    Als u 0 gebruikt voor match_mode krijgt u een #N/A-fout, omdat de formule geen waarde kan vinden die precies gelijk is aan de opzoekwaarde:

    =XMATCH(80000000, C2:C6, 0)

    Volgende kleinste item

    Als u -1 gebruikt voor match_mode zal de formule 3 opleveren, omdat de dichtstbijzijnde overeenkomst kleiner dan de opzoekwaarde 70.560.000 is, en dat is het 3e item in de opzoek-array:

    =XMATCH(80000000, C2:C6, -1)

    Volgende grootste item

    Als u 1 gebruikt voor match_mode zal de formule 2 opleveren, omdat de dichtstbijzijnde overeenkomst groter dan de opzoekingswaarde 85.133.000 is, het tweede item in de opzoekingsmatrix:

    =XMATCH(80000000, C2:C6, -1)

    De onderstaande afbeelding toont alle resultaten:

    Hoe gedeeltelijke tekst in Excel te matchen met jokertekens

    De XMATCH-functie heeft een speciale overeenkomstmodus voor jokertekens: de match_mode argument ingesteld op 2.

    In de wildcardmodus accepteert een XMATCH-formule de volgende wildcardtekens:

    • Vraagteken (?) komt overeen met elk afzonderlijk teken.
    • Asterisk (*) voor een willekeurige reeks tekens.

    Onthoud dat jokertekens alleen werken met tekst, niet met getallen.

    Bijvoorbeeld, om de positie te vinden van het eerste item dat begint met "zuid", is de formule:

    =XMATCH("south*", B2:B6, 2)

    Of u kunt uw jokerteken in een cel typen, bijvoorbeeld F1, en de celverwijzing voor de lookup_waarde argument:

    =XMATCH(F1, B2:B6, 2)

    Bij de meeste Excel-functies gebruikt u de tilde (~) om het sterretje (~*) of vraagteken (~?) te behandelen als letterlijke tekens, niet als jokertekens. Bij XMATCH is de tilde niet nodig. Als u de jokerteken-overeenkomstmodus niet definieert, neemt XMATCH aan dat ? en * reguliere tekens zijn.

    De onderstaande formule zoekt bijvoorbeeld in het bereik A2:A7 precies naar het teken sterretje:

    =XMATCH("*", A2:A7)

    XMATCH omgekeerd zoeken om de laatste overeenkomst te vinden

    Als er meerdere keren een lookup-waarde voorkomt in de lookup-array, moet u soms de positie van de laatste optreden .

    De zoekrichting wordt bepaald door het 4e argument van XMATCH met de naam zoekmodus Om in omgekeerde volgorde te zoeken, d.w.z. van beneden naar boven in een verticale matrix en van rechts naar links in een horizontale matrix, zoekmodus moet worden ingesteld op -1.

    In dit voorbeeld zullen we de positie van het laatste record voor een specifieke opzoekwaarde teruggeven (zie de schermafbeelding hieronder). Stel hiervoor de argumenten als volgt in:

    • Lookup_value - de beoogde verkoper in H1
    • Lookup_array - namen van verkopers in C2:C10
    • Match_mode is 0 of weggelaten (exacte overeenkomst)
    • Zoekmodus is -1 (last-to-first)

    Als we de vier argumenten samenvoegen, krijgen we deze formule:

    =XMATCH(H1, C2:C10, 0, -1)

    Dat geeft het nummer van de laatste verkoop door Laura:

    Hoe twee kolommen in Excel te vergelijken voor overeenkomst

    Om twee lijsten te vergelijken op overeenkomsten, kunt u de functie XMATCH gebruiken in combinatie met IF en ISNA:

    ALS( ISNA( XMATCH( doellijst , zoeklijst , 0)), "No match", "Match")

    Om bijvoorbeeld lijst 2 in B2:B10 te vergelijken met lijst 1 in A2:A10, heeft de formule de volgende vorm:

    =IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Overeenstemming in lijst 1")

    In dit voorbeeld identificeren we alleen overeenkomsten, dus de waarde_indien_waar argument van de IF-functie is een lege tekenreeks ("").

    Voer de bovenstaande formule in de bovenste cel in (C2 in ons geval), druk op Enter , en de formule "overloopt" automatisch naar de andere cellen (dit heet een overlooibereik):

    Hoe deze formule werkt

    In het hart van de formule zoekt de XMATCH-functie naar een waarde uit lijst 2 binnen lijst 1. Als een waarde wordt gevonden, wordt de relatieve positie teruggegeven, anders een #N/A-fout. In ons geval is het resultaat van XMATCH de volgende matrix:

    {#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}

    Deze matrix wordt naar de ISNA-functie "gevoerd" om te worden gecontroleerd op #N/A-fouten. Voor elke #N/A-fout geeft ISNA TRUE terug; voor elke andere waarde - FALSE. Het resultaat is de volgende matrix van logische waarden, waarbij TRUE's staan voor niet-matches en FALSE's voor matches:

    {TRUE;TRUE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE}

    De bovenstaande array gaat naar de logische test van de IF-functie. Afhankelijk van hoe u de laatste twee argumenten hebt geconfigureerd, zal de formule de overeenkomstige tekst uitvoeren. In ons geval is het een lege tekenreeks ("") voor niet-matches ( waarde_indien_waar ) en "Wedstrijd in lijst 1" voor overeenkomsten ( waarde_als_valse ).

    Opmerking. Deze formule werkt alleen in Excel 365 en Excel 2021 die dynamische arrays ondersteunen. Als u Excel 2019, Excel 2016 of een eerdere versie gebruikt, bekijk dan andere oplossingen: Hoe twee kolommen vergelijken in Excel.

    INDEX XMATCH in Excel

    XMATCH kan worden gebruikt in combinatie met de INDEX-functie om een waarde op te halen uit een andere kolom die gekoppeld is aan de lookup-waarde, net als de INDEX MATCH-formule. De algemene aanpak is als volgt:

    INDEX ( terug _ array , XMATCH ( lookup_waarde , lookup_array )

    De logica is zeer duidelijk en gemakkelijk te volgen:

    De XMATCH-functie berekent de relatieve positie van de lookup-waarde in de lookup-array en geeft deze door aan de rij_nummer Op basis van het rijnummer geeft de functie INDEX een waarde terug uit elke kolom die u opgeeft.

    Om bijvoorbeeld de oppervlakte van de oceaan in E1 op te zoeken, kunt u deze formule gebruiken:

    =INDEX(B2:B6, XMATCH(E1, A2:A6))

    INDEX XMATCH XMATCH om 2-dimentionaal op te zoeken

    Om tegelijkertijd in kolommen en rijen te zoeken, gebruikt u INDEX samen met twee XMATCH-functies. De eerste XMATCH zal het rijnummer krijgen en de tweede het kolomnummer:

    INDEX ( gegevens , XMATCH ( lookup_waarde , verticaal _ lookup_array ), XMATCH ( opzoekwaarde , horizontaal _ lookup_array ))

    De formule is vergelijkbaar met INDEX MATCH MATCH behalve dat u de match_mode argument, omdat het standaard een exacte overeenkomst is.

    Om bijvoorbeeld een verkoopcijfer op te halen voor een bepaald artikel (G1) in een specifieke maand (G2), is de formule:

    =INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))

    Waarbij B2:D8 gegevenscellen zijn exclusief rij- en kolomkoppen, A2:A8 een lijst van artikelen en B1:D1 maandnamen.

    Hoofdlettergevoelige XMATCH-formule

    Zoals reeds vermeld, is de Excel XMATCH functie niet hoofdlettergevoelig. Om het onderscheid tussen hoofd- en kleine letters te forceren, gebruikt u XMATCH in combinatie met de EXACT functie:

    MATCH(TRUE, EXACT( lookup_array , lookup_waarde ))

    Om te zoeken in omgekeerde volgorde van laatste naar eerste:

    MATCH(TRUE, EXACT( lookup_array , lookup_waarde ), 0, -1)

    Het volgende voorbeeld toont deze generieke formule in actie. Stel dat u een lijst hebt met hoofdlettergevoelige product-id's in B2:B11. U zoekt de relatieve positie van het item in E1. Een hoofdlettergevoelige formule in E2 is zo eenvoudig als dit:

    =XMATCH(TRUE, EXACT(B2:B11, E1))

    Hoe deze formule werkt:

    De functie EXACT vergelijkt de lookup-waarde met elk item in de lookup-array. Als de vergeleken waarden exact gelijk zijn, inclusief de karakters, retourneert de functie TRUE, anders FALSE. Deze array van logische waarden (waarbij TRUE's staan voor exacte overeenkomsten) gaat naar de lookup_array argument van XMATCH. En omdat de opzoekwaarde TRUE is, retourneert de XMATCH-functie de positie van de eerste gevonden exacte overeenkomst of de laatste exacte overeenkomst, afhankelijk van hoe u het zoekmodus argument.

    XMATCH vs. MATCH in Excel

    XMATCH is ontworpen als een krachtigere en veelzijdigere vervanging voor MATCH, en dus hebben deze twee functies veel gemeen. Er zijn echter essentiële verschillen.

    Ander standaard gedrag

    De MATCH-functie kiest standaard voor een exacte overeenkomst of het eerstvolgende kleinste item ( match_type ingesteld op 1 of weggelaten).

    De XMATCH-functie staat standaard op exacte overeenkomst ( match_mode op 0 gezet of weggelaten).

    Verschillend gedrag voor benaderende overeenstemming

    Wanneer de match_mode / match_type argument is ingesteld op 1:

    • MATCH zoekt naar een exacte overeenkomst of naar de volgende kleinste. Vereist dat de lookup-array in oplopende volgorde wordt gesorteerd.
    • XMATCH zoekt naar een exacte overeenkomst of naar de volgende grootste. Er hoeft niet gesorteerd te worden.

    Wanneer de match_mode / match_type argument is ingesteld op -1:

    • MATCH zoekt naar een exacte overeenkomst of naar de volgende grootste. Vereist dat de opzoek-array in aflopende volgorde wordt gesorteerd.
    • XMATCH zoekt naar een exacte overeenkomst of naar de volgende kleinste. Er hoeft niet gesorteerd te worden.

    Zoeken met jokertekens

    Om gedeeltelijke overeenkomsten te vinden met XMATCH, moet u de match_mode argument naar 2.

    De MATCH functie heeft geen speciale wildcard match mode optie. In de meeste gevallen zult u deze configureren voor een exacte match ( match_type ingesteld op 0), wat ook werkt voor zoekopdrachten met jokertekens.

    Zoekmodus

    Net als de nieuwe XLOOKUP-functie heeft XMATCH een speciale zoekmodus argument waarmee u de zoekrichting :

    • 1 of weggelaten (standaard) - zoek van eerste naar laatste.
    • -1 - omgekeerd zoeken last-to-first.

    En kies een binair zoekalgoritme die zeer snel en efficiënt is op gesorteerde gegevens .

    • 2 - binair zoeken op gegevens die oplopend gesorteerd zijn.
    • -2 - binair zoeken op aflopend gesorteerde gegevens.

    Binair zoeken ook wel half-interval zoeken of logaritmisch zoeken is een speciaal algoritme dat de positie van een zoekwaarde binnen een array vindt door deze te vergelijken met het middelste element van de array. Een binaire zoekopdracht is veel sneller dan een gewone zoekopdracht, maar werkt alleen correct op gesorteerde lijsten. Op ongesorteerde gegevens kan het verkeerde resultaten opleveren die er op het eerste gezicht vrij normaal uitzien.

    De syntaxis van MATCH voorziet helemaal niet in het argument van de zoekmodus.

    XMATCH verwerkt arrays van nature

    In tegenstelling tot zijn voorganger is de XMATCH-functie ontworpen voor dynamisch Excel en verwerkt zij arrays van nature, zonder dat u op Ctrl + Shift + Enter hoeft te drukken. Dit maakt formules veel gemakkelijker op te stellen en te bewerken, vooral wanneer u een paar verschillende functies samen gebruikt. Vergelijk maar eens de volgende oplossingen:

    • Hoofdlettergevoelige formule: XMATCH
    • Twee kolommen of lijsten vergelijken op overeenkomsten: XMATCH

    Beschikbaarheid van XMATCH en MATCH

    XMATCH is een nieuwe functie en is alleen beschikbaar in Excel voor Microsoft 365 en Excel 2021.

    De MATCH-functie is beschikbaar in elke versie van Excel 365 tot en met Excel 2007.

    Zo gebruik je de XMATCH functie in Excel. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!

    Praktijk werkboek om te downloaden

    Excel XMATCH formulevoorbeelden (.xlsx bestand)

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.