Excel MATCH -funktion - Sök efter ett värdes position i en lista

Ladda ner exempel på arbetsbok

Ladda ner exempelarbetsboken

Denna Excel -handledning visar hur du använder Excel MATCH -funktion i Excel för att hitta ett värde, med formelexempel.

MATCH Funktionsöversikt

MATCH -funktionen söker efter ett objekt i en lista och returnerar ett nummer som representerar dess position i listan.

(Lägg märke till hur formelinmatningen ser ut)

Matchfunktionssyntax och argument

1 = MATCH (lookup_value, lookup_array, match_type)

uppslagningsvärde - Värdet du vill söka efter.

lookup_array - En uppsättning data antingen en kolumn bred eller en rad hög som du vill söka i.

match_type - 0, -1 eller 1 anger vad du ska göra om en exakt matchning inte hittas. 0 returnerar ett fel. -1 returnerar närmaste matchning som är större än lookup_value. 1 returnerar närmaste matchning som är mindre än lookup_value.

Vad är MATCH -funktionen?

Enkelt uttryckt kan MATCH -funktionen söka i ett intervall/uppsättning objekt och returnera det sökte ordets relativa position. Det används ofta tillsammans med INDEX -funktionen, eftersom INDEX behöver en relativ position för att returnera ett resultat.

Exakt matchning

Du kommer ofta att stöta på stora datalistor och du måste kunna söka efter ett specifikt objekt. Vi använder ett litet exempel med lite frukt. Först letar vi efter en exakt matchning. Här är layouten för våra data. Vi vill söka efter ordet i cell D1.

I D2 är vår formel:

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

Observera att vi behövde ange antingen 0 eller Falskt som det sista argumentet för att indikera att vi vill ha en exakt match. Resultatet från denna funktion är 2, eftersom "Apple" är 2: annd objekt i vårt sortiment.

Sorterad lista

Låt oss se hur MATCH-funktionen fungerar med en icke-exakt matchning. Här har vi en lista med artiklar. OBS: Artiklarna har sorterats i stigande ordning.

I D1 har vi sagt att vi vill leta efter ordet "Orange". Formeln i D2 är

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

Vår formel ger ett resultat av 2 även om "Apelsinjuice" är i 3: anrd cell. Eftersom vi letade efter en närmaste matchning hittar funktionen antingen vårt exakta ord, eller nästa minsta artikel. Med textsträngar råkar detta vara ordet strax före "Apelsinjuice", och så fick vi ett resultat av 2.

Denna förmåga att hitta nästa minsta kan vara lättare att förstå med hjälp av en nummersökning. Tänk på denna layout, där vi bara har listat objekt med 10. Om vi ​​söker efter värdet 34 med vår formel kan du se att resultatet är 3.

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

Detta kan fungera bra när du har att göra med "skopor", och du vill bara kunna ta reda på vilken grupp ett värde hör till.

Fallande lista

I vårt tidigare exempel, vad händer om du vill att värdet 34 ska placeras i den större gruppen? I vårt nästa exempel, låt oss säga att vi har en lista över olika fraktbehållare med olika storlek och vi måste veta vilken som ska användas. Eftersom vi måste se till att vi har tillräckligt med utrymme eller mer, använder vi funktionen MATCH med det sista argumentet inställt på -1. Låt oss titta på detta exempel:

I det här fallet måste vi ta reda på vilken behållare som passar vår storlek 495. Formeln i D2 är:

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

Resultatet av denna formel är 2, vilket indikerar att vi måste använda 2: annd objekt från listan (500) för att passa våra behov.

Jokerteckenmatch

MATCH -funktionen stöder också användningen av jokertecken som “*” och “?”. Låt oss gå tillbaka till vår lista över olika matvaror. I det här fallet har vi ändrat vår sökterm i D1 till att vara "Orange*".

Vår formel i D2 är:

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

Observera att vi måste byta MATCH -typen tillbaka till exakt match. Trots att artiklarna är blandade och vår sökterm inte matchade hela texten kunde vår formel ge det korrekta resultatet av 3.

Använda MATCH med INDEX

Att returnera den relativa positionen för ett objekt är trevligt, men det är vanligtvis inte så bra för mänskliga användare. Vi brukar vilja veta motsvarande värde för en vara. Det är här INDEX kan komma in på scenen. Eftersom INDEX behöver en numerisk position för rad och/eller kolumn kan vi använda MATCH -funktionen för att berätta för INDEX vilken post vi vill ha. Tänk på följande layout där vi måste kunna leta upp priser på våra varor.

Vi söker efter "Apple". I E2 är vår formel

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

MATCH -funktionen kommer att söka B2: B5 efter vår exakta fras, "Apple". Det kommer att hitta detta i 2nd objekt och returnera värdet 2. INDEX tar sedan detta och ger oss 2nd värde från A2: A5 -intervallet. Den 2nd objektet finns i cell A3, $ 2,00. Detta diskuteras mer i

Matcha i Google Kalkylark

MATCH -funktionen fungerar exakt samma i Google Kalkylark som i Excel:
<

Ytterligare anmärkningar

Använd MATCH -funktionen för att hitta den numeriska positionen för ett värde inom ett värdeområde. Området måste antingen vara en delmängd av ett enda område eller en enda rad.

MATCH -funktionen används oftast med INDEX -funktionen.

MATCH Exempel i VBA

Du kan också använda MATCH -funktionen i VBA. Typ:

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

För funktionsargumenten (lookup_value, etc.) kan du antingen ange dem direkt i funktionen eller definiera variabler som ska användas istället.

Förutsatt att vi har följande värden i vårt Excel -blad

kör följande kod

123 Dim Match_Value som variantMatch_Value = Application.WorksheetFunction.Match ("test1", intervall ("A4: A13"), 1)MsgBox ("Match hittades på rad" & Max_Value)

Återkommer följande

1 Match hittades på rad 9

eftersom strängen "test1" är det nionde elementet i de värden som ska sökas.

Vi kan också söka efter innehåll i vårt kalkylblad istället för att direkt ange värden i VBA -koden: Följande sats söker i kolumn A efter det värde som anges i cell C3

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

Återgå till listan över alla funktioner i Excel

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave