Kuidas saada esimese osalise vaste positsioon

Anonim


Selles artiklis proovime saada esimese osalise vaste positsiooni vahemikus.
Nagu me teame, tagastab funktsioon MATCH vahemiku esimese vaste indeksi või positsiooni. Seega on ilmne kasutada seda funktsiooni vahemiku esimese vaste positsiooni saamiseks. Kuna see toetab metamärkide operaatoreid, saame osalise vaste tegemiseks kasutada ka MATCH -i.

Kui oleme saanud esimese mängu positsiooni, saame teha erinevaid asju. Nagu selle väärtuse või külgneva või mitte külgneva väärtuse hankimine funktsiooni INDEX abil või dünaamilise funktsiooni loomine. See sõltub teie vajadustest ja loovusest.
Üldine valem esmakordselt leitud osalise vaste jaoks
Kõvakoodi stringi jaoks:

= MATCH ("*str*",vahemik,0)

Lahtrite jaoks:

= MATCH ("*" & lahter & "*", vahemik, 0)

Str: see on tekst või string, mille soovite vahemikus osaliselt sobitada. See võib olla mis tahes asi, lahter või kõvakodeeritud string.
Vahemik: see on vahemik, millest te otsite str.
0: See on täpse vaste parameeter. Võite kasutada ka FALSE.

Pange tähele, et me kasutasime stringi ees ja lõpus * (tärnid). See on metamärgioperaator mis tahes väärtuse sobitamiseks mis tahes string enne ja pärast seda …

Vaatame näidet.

Siin on mul Win, Loss ja Tie rekord. Tahame saada võidu, kaotuse ja viigi esimese positsiooni.

Niisiis, kui ma kodeerin kõvasti, siis on igas lahtris osalise vaste esimese positsiooni leidmise valem järgmine:

= MATCH ("*võitis*", A2: A10,0)
= MATCH ("*kaotus*", A2: A10,0)
= MATCH ("*tie*", A2: A10,0)

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


Kuidas see töötab
See kasutab osalise vaste tegemiseks lihtsalt Exceli funktsionaalsust. MATCH otsib stringi, mis sisaldab antud stringi * (tärnide) vahel ja tagastab esimese leitud positsiooni.
Leidke esimese osalise vaste asukoht vahemikus, kasutades funktsiooni FirstPartMatch VBA
Kui kopeerite vba -koodi allpool vba -moodulis Excelis, saate seda funktsiooni kasutada osalise vaste esimese positsiooni saamiseks. Ülaltoodud näite jaoks kirjutage lihtsalt see valem:

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

Saate esimese mängu positsiooni. Nagu nii.

Kuidas see töötab

Esimene argument on string, mida soovite osalise vaste jaoks otsida.
Teine argument on vahemik, milles soovite oma stringi positsiooni saada.

= FirstPartMatch (str, vahemik)

Selle valemi kasutamiseks osalise sobitamise jaoks kopeerige VBA moodulis olev kood alla.

Funktsioon FirstPartMatch (str kui string, rng kui vahemik) Dim tmp, positsioon As Long position = 0 tmp = 0 Iga cll jaoks rng tmp = tmp + 1 Kui InStr (1, LCase (cll.Value2), LCase (str)) > 0 Siis position = tmp Exit For End If Next cll If position then FirstPartMatch = position Else FirstPartMatch = "#NA" End If End Function 


Kirja tõstutundlik osaline vaste positsioonile

Kasutaja määratletud funktsioon esimese osalise vaste leidmiseks ei ole tõstutundlik. Kui soovite, et see oleks tõstutundlik, eemaldage Lcase funktsioon realt 7.

Seejärel on tõstutundliku koodi kood järgmine:

Funktsioon FirstPartMatchCASE (str As String, rng As Range) Dim tmp, positsioon As Long position = 0 tmp = 0 Iga cll In rng tmp = tmp + 1 Kui InStr (1, cll.Value2, str)> 0 Siis position = tmp Välju lõppuks, kui järgmine cll Kui asukoht Siis FirstPartMatchCASE = positsioon Muu FirstPartMatchCASE = "#NA" Lõpp kui lõppfunktsioon 


Näete, et sel juhul ei leitud võitu ja viiki. Kuna väiketähti pole võidetud ega viiki.

Nii et jah, poisid, need on viisid, kuidas leida Excelis esimese osalise vaste positsioon. Ütlesin, et võite leida osalise vaste positsiooni, kasutades eelnevalt määratletud MATCH -funktsiooni ja kasutaja määratud vastefunktsiooni. Kui teil on muid ideid või küsimusi, jagage meiega siin allpool kommentaaride jaotises.

Funktsiooni MATCH kasutamine Excelis

Funktsiooni INDEX kasutamine Excelis

Vlookup top 5 väärtust dubleerivate väärtustega, kasutades Excelis INDEX-MATCH

Populaarsed artiklid:

Funktsioon VLOOKUP Excelis

COUNTIF Excelis 2016

Funktsiooni SUMIF kasutamine Excelis