W tym artykule postaramy się ustalić pozycję pierwszego częściowego dopasowania w zakresie.
Jak wiemy, funkcja MATCH zwraca indeks lub pozycję pierwszego dopasowania w zakresie. Dlatego oczywiste jest, że użyjesz tej funkcji, aby uzyskać pozycję pierwszego dopasowania w zakresie. Ponieważ obsługuje operatory wieloznaczne, możemy również użyć funkcji MATCH, aby wykonać częściowe dopasowania.
Gdy zdobędziemy pozycję pierwszego meczu, możemy robić różne rzeczy. Na przykład pobieranie tej wartości lub wartości sąsiedniej lub nieprzyległej za pomocą funkcji INDEX lub tworzenie funkcji dynamicznej. To zależy od Twoich potrzeb i kreatywności.
Ogólna formuła dla pierwszego znalezionego częściowego dopasowania
Dla ciągu twardego kodu:
=DOPASUJ("*str*",zasięg,0)
Dla odniesienia do komórki:
=PODZIEL("*"&komórka&"*",zakres,0)
Str: jest to tekst lub ciąg, który chcesz częściowo dopasować w zakresie. Może to być dowolna rzecz, komórka lub zakodowany ciąg.
Zasięg: jest to zakres, w którym będziesz szukać str.
0: Jest to parametr dokładnego dopasowania. Możesz też użyć FALSE.
Zauważ, że używaliśmy * (astriks) na początku i na końcu ciągu str. Jest to operator symboli wieloznacznych do dopasowywania dowolnej wartości posiadającej dowolny ciąg przed i po nim…
Zobaczmy przykład.
Tutaj mam zapis wygranych, przegranych i remisów. Chcemy zająć pierwsze miejsce w wygranej, przegranej i remisowej.
Tak więc, jeśli zakoduję na twardo, wzór na znalezienie pierwszej pozycji częściowego dopasowania w każdej komórce będzie następujący:
=PODZIEL("*wygrane*",A2:A10,0)
=PODZIEL("*strata*",A2:A10,0)
=PODZIEL("*remis*",A2:A10,0)
=DOPASUJ("*"&C2&"*",$A$2:$A$10,0)
Jak to działa
Po prostu wykorzystuje funkcjonalność programu Excel do wykonywania częściowych dopasowań. PODAJ.POZYCJĘ szuka dowolnego ciągu, który zawiera podany ciąg między * (gwiazdkami) i zwraca pierwszą znalezioną pozycję.
Znajdź pozycję pierwszego częściowego dopasowania w zakresie za pomocą funkcji FirstPartMatch VBA
Jeśli skopiujesz poniższy kod vba w module vba w programie Excel, możesz użyć tej funkcji, aby uzyskać pierwszą pozycję częściowego dopasowania. Dla powyższego przykładu po prostu napisz tę formułę:
=Dopasowanie do pierwszej części(C2,$A$2:$A$10)
Otrzymasz pozycję pierwszego meczu. Lubię to.
Jak to działa
Pierwszy argument to ciąg, w którym chcesz wyszukać częściowe dopasowanie.
Drugi argument to zakres, w którym chcesz uzyskać pozycję swojego ciągu.
=Dopasowanie do pierwszej części(ciąg,zakres)
Aby użyć tej formuły do częściowego dopasowania, skopiuj poniższy kod w module VBA.
Function FirstPartMatch(str As String, rng As Range) Dim tmp, pozycja As Long pozycja = 0 tmp = 0 For Each 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 = pozycja Else FirstPartMatch = "#NA" End If End Function
Częściowe dopasowanie do pozycji z uwzględnieniem wielkości liter
Powyżej zdefiniowana przez użytkownika funkcja wyszukiwania pierwszego częściowego dopasowania nie będzie uwzględniać wielkości liter. Jeśli chcesz, aby wielkość liter była rozróżniana, usuń Funkcja Lcase od linii 7.
Wtedy kod uwzględniający wielkość liter będzie wyglądał następująco:
Function FirstPartMatchCASE(str As String, rng As Range) Dim tmp, pozycja As Long pozycja = 0 tmp = 0 For Each cll In rng tmp = tmp + 1 If InStr(1, cll.Value2, str) > 0 Then position = tmp Exit For End If Next call If position Then FirstPartMatchCASE = pozycja Else FirstPartMatchCASE = "#NA" End If End Function
Widać, że „wygrane” i „remis” w tym przypadku nie zostały znalezione. Ponieważ nie ma wygranych małych liter ani remisu.
Więc tak, to są sposoby na znalezienie pozycji pierwszego częściowego dopasowania w programie Excel. Powiedziałem ci, że możesz znaleźć pierwszą pozycję częściowego dopasowania za pomocą predefiniowanej funkcji MATCH i używając funkcji dopasowania zdefiniowanej przez użytkownika. Jeśli masz jakieś inne pomysły lub pytania, podziel się z nami tutaj w sekcji komentarzy poniżej.
Jak korzystać z funkcji DOPASUJ w programie Excel?
Jak korzystać z funkcji INDEKS w programie Excel?
Vlookup Top 5 wartości ze zduplikowanymi wartościami przy użyciu INDEX-MATCH w programie Excel
Popularne artykuły:
Funkcja WYSZUKAJ.PIONOWO w programie Excel
LICZ.JEŻELI w Excelu 2016
Jak korzystać z funkcji SUMIF w programie Excel?