Sådan får du placeringen af ​​første partielle kamp

Anonim


I denne artikel vil vi forsøge at få stillingen som første delmatch i et område.
Som vi ved, returnerer MATCH -funktionen indekset eller positionen for første kamp i et område. Derfor er det oplagt at bruge denne funktion til at få positionen som første kamp i et område. Da det understøtter wildcard -operatørerne, kan vi også bruge MATCH til at lave delvise kampe.

Når vi får positionen som første kampposition, kan vi gøre forskellige ting. Ligesom at hente den værdi eller tilstødende eller ikke -tilstødende værdi ved hjælp af INDEX -funktion ,, eller lave en dynamisk funktion. Det afhænger af dit behov og kreativitet.
Generisk formel for først fundet delvis match
For hardcode -streng:

= MATCH ("*str*",rækkevidde,0)

Til cellereference:

= MATCH ("*" & celle & "*", område, 0)

Str: det er teksten eller strengen, du delvist vil matche inden for rækkevidde. Det kan være enhver ting, en celle eller en hårdkodet streng.
Rækkevidde: det er det område, du vil kigge efter str.
0: Det er parameteren for nøjagtig match. Du kan også bruge FALSK.

Bemærk, at vi plejede at * (astrisker) foran og slutningen af ​​strengstr. Dette er wildcard -operatøren til at matche enhver værdi, der har enhver streng før og efter den …

Lad os se et eksempel.

Her har jeg en rekord af Win, Loss og Tie. Vi ønsker at få førstepladsen for Win, Loss og Tie.

Så hvis jeg hardkoder, vil formlen for at finde den første position for delvis match i hver celle være:

= MATCH ("**vundet*", A2: A10,0)
= MATCH ("*tab*", A2: A10,0)
= MATCH ("*tie*", A2: A10,0)

= MATCH ("*" & C2 & "*", $ A $ 2: $ A $ 10,0)


Hvordan det virker
Det bruger simpelthen excel -funktionaliteten til at lave delvise kampe. MATCH søger efter en streng, der indeholder den medfølgende streng mellem * (stjerner) og returnerer den først fundne position.
Find position for første partielle match i rækkevidde ved hjælp af FirstPartMatch VBA -funktion
Hvis du kopierer under vba -koden i vba -modulet i excel, kan du bruge denne funktion til at få første position for delvis match. For ovenstående eksempel skal du bare skrive denne formel:

= FirstPartMatch (C2, $ A $ 2: $ A $ 10)

Du får stillingen som første kamp. Sådan her.

Hvordan det virker

Første argument er den streng, du vil søge efter delvis match.
Det andet argument er det område, hvor du vil have placeringen af ​​din streng.

= FirstPartMatch (str, område)

Hvis du vil bruge denne formel til delvis matchning, skal du kopiere nedenstående kode i VBA -modulet.

Funktion FirstPartMatch (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 For hver cll In rng tmp = tmp + 1 If InStr (1, LCase (cll.Value2), LCase (str)) > 0 Derefter position = tmp Afslut til slut Hvis næste cll Hvis position Så FirstPartMatch = position Else FirstPartMatch = "#NA" Afslut hvis slut funktion 


Case Sensitive Delvis match til position

Ovenstående brugerdefinerede funktion til at finde første delvise match vil ikke være store og små bogstaver. Hvis du vil have det til at være store og små bogstaver, skal du fjerne det Lcase funktion fra linje 7.

Så vil koden for store og små bogstaver være:

Funktion FirstPartMatchCASE (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 For hver cll In rng tmp = tmp + 1 If InStr (1, cll.Value2, str)> 0 Derefter position = tmp Exit For End If Next cll If position Then FirstPartMatchCASE = position Else FirstPartMatchCASE = "#NA" End If End Funktion 


Du kan se, at "vundet" og "uafgjort" i dette tilfælde ikke findes. Da der ikke er vundet eller uafgjort med små bogstaver.

Så ja fyre, det er måderne at finde positionen som første delmatch i excel. Jeg fortalte dig, at du kan finde frist delvis match position ved hjælp af foruddefinerede MATCH funktion og ved hjælp af brugerdefineret match funktion. Hvis du har andre ideer eller spørgsmål, må du dele med os her i kommentarfeltet herunder.

Sådan bruges MATCH -funktion i Excel

Sådan bruges INDEX -funktion i Excel

Vlookup Top 5 værdier med dublerede værdier ved hjælp af INDEX-MATCH i Excel

Populære artikler:

VLOOKUP -funktionen i Excel

COUNTIF i Excel 2016

Sådan bruges SUMIF -funktionen i Excel