Excel MATCH functie met formulevoorbeelden

  • Deel Dit
Michael Brown

Deze handleiding legt uit hoe u de MATCH-functie in Excel kunt gebruiken met formulevoorbeelden en hoe u uw opzoekformules kunt verbeteren door dynamische formules te maken met VLOOKUP en MATCH.

In Microsoft Excel zijn er veel verschillende opzoek-/verwijzingsfuncties die u kunnen helpen een bepaalde waarde te vinden in een cellenbereik, en MATCH is er een van. In principe identificeert deze functie een relatieve positie van een item in een cellenbereik. De MATCH-functie kan echter veel meer dan haar pure essentie.

    Excel MATCH functie - syntaxis en gebruik

    De functie MATCH in Excel zoekt naar een opgegeven waarde in een bereik van cellen en geeft de relatieve positie van die waarde terug.

    De syntaxis voor de MATCH-functie is als volgt:

    MATCH(lookup_value, lookup_array, [match_type])

    Lookup_value (verplicht) - de waarde die u wilt vinden. Het kan een numerieke, tekst- of logische waarde zijn, maar ook een celverwijzing.

    Lookup_array (verplicht) - het bereik van de cellen waarin moet worden gezocht.

    Type overeenkomst (optioneel) - definieert het type overeenkomst. Het kan een van deze waarden zijn: 1, 0, -1. Het argument match_type ingesteld op 0 geeft alleen de exacte overeenkomst, terwijl de andere twee types een benaderende overeenkomst mogelijk maken.

    • 1 of weggelaten (standaard) - zoek de grootste waarde in de lookup array die kleiner of gelijk is aan de lookup waarde. Vereist het sorteren van de lookup array in oplopende volgorde, van kleinst naar grootst of van A naar Z.
    • 0 - zoek de eerste waarde in de matrix die precies gelijk naar de opzoekwaarde. Sorteren is niet nodig.
    • -1 - vind de kleinste waarde in de array die groter of gelijk is aan de lookup-waarde. De lookup-array moet worden gesorteerd in aflopende volgorde, van groot naar klein of van Z naar A.

    Om de MATCH-functie beter te begrijpen, maken we een eenvoudige formule op basis van deze gegevens: de namen van studenten in kolom A en hun examenscores in kolom B, gesorteerd van groot naar klein. Om uit te zoeken waar een specifieke student (bijv, Laura ) staat onder andere, gebruiken deze eenvoudige formule:

    =MATCH("Laura", A2:A8, 0)

    Eventueel kunt u de opzoekwaarde in een cel zetten (E1 in dit voorbeeld) en naar die cel verwijzen in uw Excel Match formule:

    =MATCH(E1, A2:A8, 0)

    Zoals u in het bovenstaande screenshot ziet, zijn de studentennamen in een willekeurige volgorde ingevoerd, en daarom stellen we de match_type argument op 0 (exacte overeenkomst), omdat alleen voor dit type overeenkomst geen sortering van waarden in de lookup-array nodig is. Technisch gezien geeft de Match-formule de relatieve positie van Laura in het bereik. Maar omdat de scores zijn gesorteerd van groot naar klein, vertelt het ons ook dat Laura de 5e beste score van alle studenten heeft.

    Tip. In Excel 365 en Excel 2021 kunt u de functie XMATCH gebruiken, een moderne en krachtigere opvolger van MATCH.

    4 dingen die u moet weten over de MATCH-functie

    Zoals u zojuist hebt gezien, is het gebruik van MATCH in Excel eenvoudig. Maar, zoals bij bijna elke andere functie, zijn er een paar bijzonderheden waar u rekening mee moet houden:

    1. De MATCH-functie geeft de relatieve positie van de opzoekwaarde in de array, niet de waarde zelf.
    2. MATCH is hoofdletterongevoelig , wat betekent dat het geen onderscheid maakt tussen kleine letters en hoofdletters bij het verwerken van tekstwaarden.
    3. Indien de lookup array meerdere malen de lookup waarde bevat, wordt de positie van de eerste waarde geretourneerd.
    4. Indien de lookup-waarde niet wordt gevonden in de lookup-array, wordt de #N/A-fout geretourneerd.

    Hoe MATCH gebruiken in Excel - formulevoorbeelden

    Nu u de basis toepassingen van de Excel MATCH functie kent, laten we nog een paar formule voorbeelden bespreken die verder gaan dan de basis.

    Gedeeltelijke overeenkomst met jokertekens

    Zoals vele andere functies begrijpt MATCH de volgende jokertekens:

    • Vraagteken (?) - vervangt elk afzonderlijk teken
    • Asterisk (*) - vervangt een willekeurige reeks tekens

    Opmerking. Jokertekens kunnen alleen worden gebruikt in wedstrijdformules met match_type op 0 gezet.

    Een Match-formule met jokertekens komt van pas in situaties waarin u niet de hele tekststring wilt matchen, maar slechts enkele tekens of een deel van de string. Ter illustratie het volgende voorbeeld.

    Stel dat u een lijst hebt van regionale wederverkopers en hun verkoopcijfers van de afgelopen maand. U wilt een relatieve positie van een bepaalde wederverkoper in de lijst vinden (gesorteerd op de verkoopbedragen in aflopende volgorde), maar u kunt zich zijn naam niet precies herinneren, wel een paar eerste letters.

    Ervan uitgaande dat de namen van de wederverkopers in het bereik A2:A11 liggen, en u zoekt naar de naam die begint met "auto", gaat de formule als volgt:

    =MATCH("car*", A2:A11,0)

    Om onze Match-formule veelzijdiger te maken, kunt u de opzoekwaarde in een cel typen (E1 in dit voorbeeld), en die cel verbinden met het jokerteken, zoals dit:

    =MATCH(E1&"*", A2:A11,0)

    Zoals in de schermafbeelding hieronder te zien is, geeft de formule 2, de positie van "Carter":

    Om slechts één teken in de opzoekwaarde te vervangen, gebruikt u de jokerteken-operator "?", zoals hieronder:

    =MATCH("ba?er", A2:A11,0)

    De bovenstaande formule zal overeenkomen met de naam " Baker " en voer zijn relatieve positie, die 5 is, opnieuw uit.

    Hoofdlettergevoelige MATCH-formule

    Zoals vermeld in het begin van deze handleiding, maakt de MATCH-functie geen onderscheid tussen hoofdletters en kleine letters. Om een hoofdlettergevoelige Match-formule te maken, gebruikt u MATCH in combinatie met de EXACT-functie die cellen exact vergelijkt, inclusief het hoofdlettergebruik.

    Hier is de algemene hoofdlettergevoelige formule om gegevens te matchen:

    MATCH(TRUE, EXACT( lookup array , opzoekwaarde ), 0)

    De formule werkt met de volgende logica:

    • De functie EXACT vergelijkt de lookup-waarde met elk element van de lookup-array. Indien de vergeleken cellen exact gelijk zijn, geeft de functie TRUE terug, anders FALSE.
    • En dan vergelijkt de MATCH-functie TRUE (wat zijn lookup_waarde ) met elke waarde in de door EXACT geretourneerde array, en geeft de positie van de eerste overeenkomst terug.

    Houd er rekening mee dat het een matrixformule is waarvoor Ctrl + Shift + Enter moet worden ingedrukt om correct te worden ingevuld.

    Ervan uitgaande dat uw lookup-waarde in cel E1 staat en de lookup-array A2:A9 is, is de formule als volgt:

    =MATCH(TRUE, EXACT(A2:A9,E1),0)

    De volgende schermafbeelding toont de hoofdlettergevoelige Match-formule in Excel:

    Vergelijk 2 kolommen voor overeenkomsten en verschillen (ISNA MATCH)

    Twee lijsten controleren op overeenkomsten en verschillen is een van de meest voorkomende taken in Excel, en dat kan op verschillende manieren. Een ISNA/MATCH-formule is er een van:

    IF(ISNA(MATCH( 1e waarde in lijst1 , Lijst2 , 0)), "Niet in lijst 1", "")

    Voor elke waarde van lijst 2 die niet in lijst 1 voorkomt, geeft de formule " Niet in lijst 1 "En hier is hoe:

    • De functie MATCH zoekt naar een waarde uit lijst 1 binnen lijst 2. Indien een waarde wordt gevonden, wordt de relatieve positie teruggegeven, anders #N/A fout.
    • De ISNA-functie in Excel doet slechts één ding - controleren op #N/A-fouten (wat betekent "niet beschikbaar"). Indien een gegeven waarde een #N/A-fout is, retourneert de functie TRUE, anders FALSE. In ons geval betekent TRUE dat een waarde uit lijst 1 niet wordt gevonden in lijst 2 (d.w.z. een #N/A-fout wordt geretourneerd door MATCH).
    • Omdat het voor uw gebruikers erg verwarrend kan zijn om TRUE te zien voor waarden die niet in lijst 1 voorkomen, wikkelt u de IF-functie om ISNA heen om " Niet in lijst 1 ", of welke tekst dan ook.

    Om bijvoorbeeld waarden in kolom B te vergelijken met waarden in kolom A, neemt de formule de volgende vorm aan (waarbij B2 de bovenste cel is):

    =IF(ISNA(MATCH(B2,A:A,0)), "Niet in lijst 1", "")

    Zoals u zich herinnert, is de MATCH functie in Excel zelf niet hoofdlettergevoelig. Om het onderscheid te maken tussen hoofdletters en kleine letters, moet u de EXACT functie opnemen in de lookup_array argument, en vergeet niet op Ctrl + Shift + Enter te drukken om dit te voltooien. matrixformule :

    =IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Niet in lijst 1", "")

    De volgende schermafbeelding toont beide formules in actie:

    Voor andere manieren om twee lijsten in Excel te vergelijken, zie de volgende tutorial: Hoe 2 kolommen te vergelijken in Excel.

    Excel VLOOKUP en MATCH

    Dit voorbeeld gaat ervan uit dat u al enige basiskennis hebt van de Excel VLOOKUP-functie. En als u die hebt, is de kans groot dat u tegen de vele beperkingen ervan bent aangelopen (waarvan u een gedetailleerd overzicht vindt in Waarom Excel VLOOKUP niet werkt) en op zoek bent naar een robuuster alternatief.

    Een van de vervelendste nadelen van VLOOKUP is dat het stopt met werken na het invoegen of verwijderen van een kolom binnen een lookup-tabel. Dit gebeurt omdat VLOOKUP een passende waarde trekt op basis van het nummer van de retourkolom die u opgeeft (indexnummer). Omdat de indexnummer vastligt in de formule, kan Excel deze niet aanpassen wanneer een nieuwe kolom of kolommen aan de tabel wordt toegevoegd of daaruit wordt verwijderd.

    De Excel MATCH functie behandelt een relatieve positie van een lookup waarde, waardoor het perfect past in de col_index_num Met andere woorden, in plaats van de retourkolom te specificeren als een statisch getal, gebruikt u MATCH om de huidige positie van die kolom te verkrijgen.

    Om de dingen begrijpelijker te maken, gebruiken we opnieuw de tabel met de examencijfers van de leerlingen (vergelijkbaar met die welke we aan het begin van deze tutorial gebruikten), maar deze keer halen we de echte score op en niet de relatieve positie ervan.

    Ervan uitgaande dat de lookup waarde in cel F1 staat, de tabel array $A$1:$C$2 is (het is een goede gewoonte om het vast te zetten met absolute celverwijzingen als u van plan bent de formule naar andere cellen te kopiëren), gaat de formule als volgt:

    =VLOOKUP(F1, $A$1:$C$8, 3, FALSE)

    Het 3e argument ( col_index_num ) is ingesteld op 3 omdat de Wiskunde Score die we willen ophalen is de 3e kolom in de tabel. Zoals u in de schermafbeelding hieronder kunt zien, werkt deze gewone Vlookup-formule goed:

    Maar alleen totdat u een kolom(s) invoegt of verwijdert:

    Dus, waarom de #REF! fout? Omdat col_index_num ingesteld op 3 vertelt Excel om een waarde uit de derde kolom te halen, terwijl er nu slechts 2 kolommen in de tabelarray staan.

    Om dit te voorkomen kunt u uw Vlookup-formule dynamischer maken door de volgende Match-functie op te nemen:

    MATCH(E2,A1:C1,0)

    Waar:

    • E2 is de opzoekwaarde, namelijk precies gelijk naar de naam van de retourkolom, d.w.z. de kolom waaruit u een waarde wilt halen ( Wiskunde Score in dit voorbeeld).
    • A1:C1 is de lookup array met de tabelkoppen.

    En neem nu deze Match-functie op in de col_index_num argument van uw Vlookup formule, zoals dit:

    =VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)

    En zorg ervoor dat het onberispelijk werkt, hoeveel kolommen u ook toevoegt of verwijdert:

    In het bovenstaande screenshot heb ik alle celverwijzingen vergrendeld zodat de formule correct werkt, zelfs als mijn gebruikers de formule naar een andere plaats in het werkblad verplaatsen. Zoals u in het onderstaande screenshot kunt zien, werkt de formule prima na het verwijderen van een kolom; bovendien is Excel slim genoeg om in dit geval de absolute verwijzingen goed aan te passen:

    Excel HLOOKUP en MATCH

    Op vergelijkbare wijze kunt u de Excel MATCH functie gebruiken om uw HLOOKUP formules te verbeteren. Het algemene principe is in wezen hetzelfde als bij Vlookup: u gebruikt de Match functie om de relatieve positie van de retourkolom te verkrijgen, en levert dat getal aan de rij_index_num argument van uw Hlookup formule.

    Stel dat de opzoekwaarde in cel B5 staat, de tabelrij is B1:H3, de naam van de retourrij (opzoekwaarde voor MATCH) staat in cel A6 en de rijtitels zijn A1:A3, dan is de volledige formule als volgt:

    =HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)

    Zoals u zojuist hebt gezien, is de combinatie van Hlookup/Vlookup & Match zeker een verbetering ten opzichte van gewone Hlookup- en Vlookup-formules. De MATCH-functie neemt echter niet al hun beperkingen weg. In het bijzonder kan een Vlookup Match-formule nog steeds niet naar links kijken, en kan Hlookup Match niet zoeken in een andere rij dan de bovenste.

    Om de bovenstaande (en een paar andere) beperkingen te overwinnen, kunt u overwegen een combinatie van INDEX MATCH te gebruiken, die een echt krachtige en veelzijdige manier biedt om lookup in Excel te doen, in veel opzichten superieur aan Vlookup en Hlookup. De gedetailleerde begeleiding en formulevoorbeelden zijn te vinden in INDEX & MATCH in Excel - een beter alternatief voor VLOOKUP.

    Dit is hoe je MATCH formules gebruikt in Excel. Hopelijk zijn de voorbeelden die in deze tutorial zijn besproken nuttig voor je werk. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!

    Praktijk werkboek om te downloaden

    Excel MATCH formule voorbeelden (.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.