Excel MATCH-functie - Zoeken naar de positie van een waarde in een lijst

Voorbeeldwerkboek downloaden

Download het voorbeeldwerkboek

Deze Excel-zelfstudie laat zien hoe u de Excel MATCH-functie in Excel om een ​​waarde te vinden, met formulevoorbeelden.

MATCH Functieoverzicht

De MATCH-functie zoekt naar een item in een lijst en retourneert een getal dat de positie in de lijst vertegenwoordigt.

(Let op hoe de formule-invoer verschijnt)

Match Functie syntaxis en Argument

1 =VERGELIJKEN(opzoekwaarde,opzoekmatrix,overeenkomst_type)

opzoekwaarde - De waarde waarnaar u wilt zoeken.

lookup_array - Een array met gegevens van één kolom breed of één rij hoog waarin u wilt zoeken.

match_type - 0, -1 of 1 geeft aan wat te doen als er geen exacte overeenkomst wordt gevonden. 0 retourneert een fout. -1 retourneert de dichtstbijzijnde overeenkomst die groter is dan de lookup_value. 1 retourneert de dichtstbijzijnde overeenkomst die kleiner is dan de lookup_value.

Wat is de MATCH-functie?

In eenvoudige bewoordingen kan de MATCH-functie een reeks / reeks items doorzoeken en de relatieve positie van het gezochte woord retourneren. Het wordt vaak gebruikt in combinatie met de INDEX-functie, omdat INDEX een relatieve positie nodig heeft om een ​​resultaat te retourneren.

Exacte overeenkomst

Vaak kom je grote lijsten met gegevens tegen en moet je op een specifiek item kunnen zoeken. We gebruiken een klein voorbeeld met wat fruit. Eerst zoeken we naar een exacte match. Hier is de lay-out van onze gegevens. We willen zoeken naar het woord in cel D1.

In D2 is onze formule:

1 =VERGELIJKEN(D1, A2:A5, 0)

Houd er rekening mee dat we 0 of False moesten specificeren als het laatste argument om aan te geven dat we een . willen exact bij elkaar passen. Het resultaat van deze functie is 2, omdat "Apple" de 2 . isnd artikel in ons assortiment.

Gesorteerde lijst

Laten we eens kijken hoe de MATCH-functie werkt met een niet-exacte match. Hier hebben we een lijst met items. OPMERKING: De items zijn in oplopende volgorde gesorteerd.

In D1 hebben we gezegd dat we naar het woord "Oranje" willen zoeken. De formule in D2 is

1 =VERGELIJKEN(D1, A2:A5, 1)

Onze formule geeft een resultaat van 2, ook al staat "Orange Juice" in de 3rd cel. Omdat we op zoek waren naar een overeenkomst die het dichtst in de buurt kwam, vindt de functie ofwel ons exacte woord, of het volgende kleinste item. Met tekststrings is dit het woord net voor "Orange Juice", en dus kregen we een resultaat van 2.

Deze mogelijkheid om de op één na kleinste te vinden, is misschien gemakkelijker te begrijpen met behulp van een zoekopdracht op nummer. Overweeg deze lay-out, waar we items alleen op 10 hebben vermeld. Als we met onze formule naar een waarde van 34 zoeken, kunt u zien dat het resultaat 3 is.

1 =VERGELIJKEN(D1, A2:A5, 1)

Dit kan goed werken als je te maken hebt met "buckets", en je wilt gewoon kunnen achterhalen in welke groep een waarde thuishoort.

Aflopende lijst

Wat als u in ons vorige voorbeeld de waarde 34 in de grotere groep wilde plaatsen? Laten we in ons volgende voorbeeld zeggen dat we een lijst hebben met verzendcontainers van verschillende grootte en dat we moeten weten welke we moeten gebruiken. Omdat we ervoor moeten zorgen dat we genoeg ruimte of meer hebben, gebruiken we de MATCH-functie met het laatste argument ingesteld op -1. Laten we naar dit voorbeeld kijken:

In dit geval moeten we uitzoeken welke container past bij onze maat van 495. De formule in D2 is:

1 =VERGELIJKEN(D1, A1:A5, -1)

Het resultaat van deze formule is 2, wat aangeeft dat we de 2 . moeten gebruikennd item uit de lijst (de 500) om aan onze behoeften te voldoen.

Wildcardovereenkomst

De MATCH-functie ondersteunt ook het gebruik van jokertekens zoals "*" en "?". Laten we teruggaan naar onze lijst met verschillende voedingsmiddelen. In dit geval hebben we onze zoekterm in D1 gewijzigd in "Oranje*".

Onze formule in D2 is:

1 =VERGELIJKEN(D1, A1:A5, 0)

Merk op dat we het MATCH-type terug moeten zetten naar exact bij elkaar passen. Hoewel de items door elkaar zijn gehaald en onze zoekterm niet de volledige tekstovereenkomst had, kon onze formule het juiste resultaat van 3 geven.

MATCH gebruiken met INDEX

Het is leuk om de relatieve positie van een item terug te geven, maar het is meestal niet zo handig voor menselijke gebruikers. Meestal willen we de bijbehorende waarde van een artikel weten. Dit is waar INDEX het toneel kan betreden. Omdat INDEX een numerieke positie nodig heeft voor rij en/of kolom, kunnen we de MATCH-functie gebruiken om de INDEX te vertellen welk item we willen. Overweeg de volgende lay-out waar we prijzen voor onze artikelen moeten kunnen opzoeken.

We zoeken naar "Apple". In E2 is onze formule

1 =INDEX(A2:A5, OVEREENKOMST(E1, B2:B5, 0))

De MATCH-functie gaat in B2:B5 zoeken naar onze exacte zin, "Apple". Het zal dit vinden in de 2nd item en retourneert de waarde van 2. De INDEX neemt dit dan en geeft ons de 2nd waarde uit het A2:A5-bereik. De 2nd item is in cel A3, de $ 2,00. Dit wordt meer besproken in

Overeenkomen in Google Spreadsheets

De MATCH-functie werkt in Google Spreadsheets precies hetzelfde als in Excel:
<

extra notities

Gebruik de MATCH-functie om de numerieke positie van een waarde binnen een reeks waarden te vinden. Het bereik moet een subset van een enkel bereik of een enkele rij zijn.

De MATCH-functie wordt het vaakst gebruikt met de INDEX-functie.

MATCH-voorbeelden in VBA

U kunt ook de MATCH-functie in VBA gebruiken. Type:

1 application.worksheetfunction.match(lookup_value,lookup_array,match_type)

Voor de functieargumenten (lookup_value, enz.), kunt u ze ofwel rechtstreeks in de functie invoeren, of variabelen definiëren om in plaats daarvan te gebruiken.

Ervan uitgaande dat we de volgende waarden in ons Excel-blad hebben:

het uitvoeren van de volgende code:

123 Dim Match_Value als variantMatch_Value = Application.WorksheetFunction.Match("test1", Range("A4:A13"), 1)MsgBox ("Overeenkomst gevonden in rij " & Max_Value)

Zal het volgende retourneren:

1 Match werd gevonden op rij 9

omdat de tekenreeks "test1" het negende element is in het waardenbereik dat moet worden doorzocht.

We kunnen ook naar inhoud in ons werkblad zoeken in plaats van direct waarden in de VBA-code in te voeren: De volgende instructie zoekt in kolom A naar de waarde die is ingevoerd in cel C3

1 Match_Value = Application.Match(Cells(3, 3).Value, Columns(1), 0)

Keer terug naar de lijst met alle functies in Excel

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave