U ovom ćemo članku pokušati dobiti poziciju prvog djelomičnog podudaranja u rasponu.
Kao što znamo da funkcija MATCH vraća indeks ili poziciju prvog podudaranja u rasponu. Stoga je očito koristiti ovu funkciju za dobivanje pozicije prvog podudaranja u rasponu. Budući da podržava zamjenske operatore, možemo upotrijebiti i MATCH za djelomična podudaranja.
Nakon što dobijemo poziciju prve utakmice, možemo raditi razne stvari. Kao i dohvaćanje te vrijednosti ili susjedne ili nesusjedne vrijednosti pomoću funkcije INDEX ,, ili stvaranje dinamičke funkcije. Ovisi o vašim potrebama i kreativnosti.
Opća formula za prvo pronađeno djelomično podudaranje
Za hardcode niz:
= MATCH ("*str*",domet,0)
Za referencu ćelije:
= MATCH ("*" & ćelija & "*", raspon, 0)
Str: to je tekst ili niz koji želite djelomično uskladiti u rasponu. To može biti bilo koja stvar, ćelija ili tvrdi kod.
Domet: to je raspon u kojem ćete tražiti str.
0: To je parametar za točno podudaranje. Možete koristiti i FALSE.
Imajte na umu da smo nekad koristili * (astriske) ispred i na kraju niza str. Ovo je zamjenski operator za podudaranje bilo koje vrijednosti bilo koji niz prije i poslije njega …
Pogledajmo primjer.
Ovdje imam zapis Win, Loss i Tie. Želimo osvojiti prvu poziciju pobjede, poraza i izjednačenja.
Dakle, ako ja teško kodiram, tada će formula za pronalaženje prve pozicije djelomičnog podudaranja u svakoj ćeliji biti:
= MATCH ("*osvojio*", A2: A10,0)
= MATCH ("*gubitak*", A2: A10,0)
= MATCH ("*kravata*", A2: A10,0)
= MATCH ("*" & C2 & "*", $ A $ 2: $ A $ 10,0)
Kako radi
On jednostavno koristi funkcionalnost programa Excel za djelomična podudaranja. MATCH traži bilo koji niz koji sadrži navedeni niz između * (zvjezdice) i vraća prvo pronađeno mjesto.
Pronađite položaj prvog djelomičnog podudaranja u rasponu pomoću funkcije FirstPartMatch VBA
Ako kopirate ispod vba koda u vba modul u excelu, možete koristiti ovu funkciju za dobivanje prve pozicije djelomičnog podudaranja. Za gornji primjer samo napišite ovu formulu:
= FirstPartMatch (C2, $ A $ 2: $ A $ 10)
Dobit ćete poziciju prve utakmice. Kao ovo.
Kako radi
Prvi argument je niz koji želite tražiti djelomično podudaranje.
Drugi argument je raspon u kojem želite dobiti poziciju niza.
= FirstPartMatch (str, raspon)
Da biste koristili ovu formulu za djelomično podudaranje, kopirajte donji kod u VBA modul.
Funkcija FirstPartMatch (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 Za svaki cll In rng tmp = tmp + 1 If InStr (1, LCase (cll.Value2), LCase (str)) > 0 Then position = tmp Exit For End If Next cll If position then FirstPartMatch = position Else FirstPartMatch = "#NA" End If End Funkcija
Djelomično podudaranje malih i malih slova za položaj
Iznad korisnički definirane funkcije za pronalaženje prvog djelomičnog podudaranja neće biti osjetljiva na velika i mala slova. Ako želite da razlikuje velika i mala slova, uklonite Lcase funkcija od linije 7.
Tada će kôd za velika i mala slova biti:
Funkcija FirstPartMatchCASE (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 Za svaki cll In rng tmp = tmp + 1 Ako je InStr (1, cll.Value2, str)> 0 Tada je položaj = tmp Izlaz za kraj Ako je sljedeći cll Ako pozicija Zatim FirstPartMatchCASE = položaj Ostalo FirstPartMatchCASE = "#NA" Završi ako završi funkciju
Možete vidjeti da u ovom slučaju "osvojeno" i "neriješeno" nisu pronađeni. Budući da nema malih slova osvojenih niti izjednačenih.
Pa da, dečki, ovo su načini da pronađete mjesto prvog djelomičnog podudaranja u Excelu. Rekao sam vam da možete pronaći djelomično podudaranje prvog mjesta pomoću unaprijed definirane funkcije MATCH i pomoću korisnički definirane funkcije podudaranja. Ako imate bilo kakvih drugih ideja ili pitanja, podijelite s nama ovdje u odjeljku komentara ispod.
Kako koristiti funkciju MATCH u Excelu
Kako koristiti funkciju INDEX u Excelu
Vlookup Top 5 vrijednosti s dvostrukim vrijednostima pomoću INDEX-MATCH u Excelu
Popularni članci:
Funkcija VLOOKUP u Excelu
COUNTIF u Excelu 2016
Kako koristiti funkciju SUMIF u Excelu