SZUKAJ Fx - Znajdź podciąg w ciągu - Arkusze Excel, VBA i G

Pobierz przykładowy skoroszyt

Pobierz przykładowy skoroszyt

Ten samouczek pokazuje, jak używać Funkcja SZUKAJ Excel w programie Excel, aby zlokalizować pozycję tekstu w komórce.

Przegląd funkcji SZUKAJ

Funkcja SEARCH Znajduje znak lub ciąg tekstowy i zwraca jego pozycję w komórce. Wielkość liter nie jest rozróżniana.

Aby skorzystać z funkcji arkusza kalkulacyjnego SZUKAJ Excel, wybierz komórkę i wpisz:

(Zwróć uwagę, jak pojawiają się dane wejściowe formuły)

Funkcja wyszukiwania Składnia i dane wejściowe:

= SZUKAJ(znajdź_tekst;w_tekście;start_num)

Znajdź tekst - Ciąg tekstu, który chcesz znaleźć.

w_tekście - Oryginalny ciąg tekstu.

start_num - OPCJONALNY. Numer znaku, od którego ma się rozpocząć wyszukiwanie. Uwaga: Zmienia to tylko zakres wyszukiwania, nie wpłynie to na liczbę zwracaną po znalezieniu dopasowania. Przykład: wyszukiwanie „s” w ciągu „słońce” domyślnie zwróci 1, ale jeśli numer_początkowy jest ustawiony na 2, zwróci 4.

Co to jest funkcja SZUKAJ?

Funkcja Excel SEARCH „wyszukuje” ciąg tekstu w innym ciągu. Jeśli tekst zostanie znaleziony, SEARCH zwraca numeryczne położenie ciągu.

SEARCH NIE rozróżnia wielkości liter. Oznacza to, że „tekst” będzie pasował do „TEKST”. Aby wyszukiwać tekst z rozróżnianiem wielkości liter, użyj funkcji ZNAJDŹ <>.

Jak korzystać z funkcji WYSZUKIWANIA

Funkcja SZUKAJ Excela działa w następujący sposób:

=SZUKAJ("e", "słoń")

Tutaj Excel zwróci 1, ponieważ „e” to pierwszy znak w „słoniu”.

Poniżej kilka dodatkowych przykładów.

Numer startowy (start_num)

Opcjonalnie możesz zdefiniować numer początkowy (start_num). start_num mówi funkcji SEARCH, gdzie rozpocząć wyszukiwanie. Jeśli zostawisz to pole puste, wyszukiwanie rozpocznie się od pierwszego znaku.

=SZUKAJ(B3;C3)

Teraz ustawmy start_num na 2, co oznacza, że ​​SEARCH zacznie szukać od drugiego znaku.

=SZUKAJ(B3;C3;D3)

W tym przypadku SEARCH zwraca 3: pozycję drugiego „e”.

Ważne: start_num nie ma wpływu na zwracaną wartość, SEARCH zawsze zacznie liczyć od pierwszego znaku.

Numer startowy (start_num) Błędy

Jeśli używasz numeru początkowego, upewnij się, że jest to całkowita, dodatnia liczba, która jest mniejsza niż długość ciągu, który chcesz przeszukać, w przeciwnym razie otrzymasz błąd. Otrzymasz również błąd, jeśli jako numer początkowy podasz pustą komórkę:

=SZUKAJ(B3;C3;D3)

Nieudane wyszukiwania Zwraca #ARG! Błąd

Jeśli SEARCH nie może znaleźć wartości wyszukiwania, Excel zwróci #ARG! błąd.

Wyszukiwanie bez uwzględniania wielkości liter

Poniższy przykład pokazuje, że funkcja SEARCH nie uwzględnia wielkości liter. Szukaliśmy „abc”, ale SEARCH zwróciło 1, ponieważ pasowało do „ABC”.

Wyszukiwanie wieloznaczne

Możesz używać symboli wieloznacznych z SEARCH, które umożliwiają wyszukiwanie nieokreślonych znaków.

Znak zapytania w wyszukiwanym tekście oznacza „dowolny znak”. Tak więc „?000” w poniższym przykładzie oznacza „Wyszukaj dowolny znak, po którym następują trzy zera”.

Gwiazdka oznacza „dowolną liczbę nieznanych znaków”. Tutaj szukamy „1*C”, a SEARCH zwraca 2, ponieważ pasuje do tego z „1-ABC”.

W następnym przykładzie szukamy „000?” - to znaczy „000”, po którym następuje dowolny znak. Mamy „000”, ale jest na końcu ciągu i dlatego nie ma po nim żadnych znaków, więc otrzymujemy błąd

Jeśli jednak zamiast znaku zapytania użyliśmy gwiazdki - czyli „000*” zamiast „000?”, otrzymamy dopasowanie. Dzieje się tak, ponieważ gwiazdka oznacza „dowolną liczbę znaków” – w tym brak znaków.

Jak oddzielić imiona i nazwiska z komórki za pomocą SZUKAJ

Jeśli masz imię i nazwisko w tej samej komórce i chcesz nadać im po jednej komórce, możesz użyć do tego funkcji SZUKAJ – ale będziesz potrzebować również kilku innych funkcji.

Pierwsze imię

Funkcja LEWY Excel zwraca określoną liczbę znaków z ciągu, zaczynając od lewej.

Jeśli użyjemy SEARCH do zwrócenia pozycji spacji między imieniem a nazwiskiem, odejmij od tego 1, wiemy, jak długie jest imię. Następnie możemy po prostu przekazać to W LEWO.

Formuła imienia to:

=LEWO(B3;SZUKAJ(“ “;B3)-1)

Uzyskiwanie nazwiska

Funkcja PRAWY Excel zwraca określoną liczbę znaków z prawej strony ciągu.

Aby uzyskać liczbę znaków równą długości nazwiska, używamy SEARCH, aby podać nam pozycję spacji, a następnie odejmujemy tę liczbę od całkowitej długości ciągu - co możemy uzyskać za pomocą LEN.

Formuła nazwiska to:

=PRAWO(B3,DŁ(B3)-SZUKAJ(“ “,B3))

Zwróć uwagę, że jeśli twoje dane zawierają drugie imiona, drugie imię zostanie podzielone na komórkę "Nazwisko".

Używanie SEARCH do zwrócenia n-tego znaku w ciągu

Jak wspomniano powyżej, SEARCH zwraca pozycję pierwszego znalezionego dopasowania. Ale łącząc go z CHAR i SUBSTITUTE, możemy go użyć do zlokalizowania późniejszych wystąpień znaku, takich jak drugie lub trzecie wystąpienie.

Oto wzór:

=SZUKAJ(ZNAK(134);ZAMIENNIK(D3;C3;ZNAK(134);B3))

Na początku może to wyglądać na trochę skomplikowane, więc podzielmy to:

  • Używamy SEARCH, a szukany ciąg to „CHAR(134)”. CHAR zwraca znak na podstawie jego kodu ASCII. CHAR(134) to symbol sztyletu - możesz tutaj użyć czegokolwiek, o ile nie pojawia się w twoim rzeczywistym ciągu.
  • SUBSTITUTE przechodzi przez ciąg i zastępuje jeden znak lub podciąg innym. Tutaj zastępujemy ciąg, który chcemy znaleźć (który znajduje się w C3), CHAR(134). Powodem, dla którego to działa, jest to, że czwartym parametrem SUBSTITUTE jest numer instancji, który zapisaliśmy w B3.
  • Zatem SUBSTITUTE zamienia n-ty znak w łańcuchu na symbol sztyletu, a następnie SEARCH zwraca jego pozycję.

Oto jak to wygląda:

Znajdowanie środkowej części struny

Wyobraź sobie, że masz wiele numerów seryjnych w następującym formacie:

AB1XCDC-1BB/BB99

Zostałeś poproszony o wyciągnięcie środkowej części każdego z nich. Zamiast robić to ręcznie, możesz połączyć SEARCH z MID, aby zautomatyzować to zadanie.

Funkcja MID Excel zwraca część ciągu. Jego dane wejściowe to ciąg tekstowy, punkt początkowy i liczba znaków.

Ponieważ żądanym punktem początkowym jest znak po myślniku, możemy użyć SZUKAJ, aby uzyskać pozycję myślnika i dodać do niej 1. Gdyby numer seryjny był w B3, użylibyśmy:

=SZUKAJ("-",B3)+1

Aby uzyskać liczbę znaków, które chcemy stąd wyciągnąć, możemy użyć wyszukiwania, aby uzyskać pozycję ukośnika, odjąć pozycję łącznika, a następnie odjąć 1, aby upewnić się, że nie zwracamy samego ukośnika:

=SZUKAJ("/",B3)-SZUKAJ("-",B3)-1

Następnie po prostu podłączamy te dwie formuły do ​​MID:

SZUKAJ a ZNAJDŹ

SZUKAJ i ZNAJDŹ to podobne funkcje. Oba zwracają pozycję danego znaku lub podciągu w innym ciągu. Istnieją jednak dwie kluczowe różnice:

  • FIND rozróżnia wielkość liter, ale SEARCH nie
  • FIND nie zezwala na używanie symboli wieloznacznych, ale SEARCH nie

Poniżej możesz zobaczyć kilka przykładów tych różnic:

SZUKAJ w Arkuszach Google

Funkcja SEARCH działa dokładnie tak samo w Arkuszach Google jak w Excelu:

Dodatkowe uwagi

Funkcja SEARCH jest wersją funkcji ZNAJDŹ, w której wielkość liter nie jest rozróżniana. SEARCH obsługuje również symbole wieloznaczne. Znajdź nie.

WYSZUKIWANIE Przykłady w VBA

Możesz także użyć funkcji SZUKAJ w VBA. Rodzaj:
application.worksheetfunction.search(znajdź_tekst,w_tekście,start_num)
W przypadku argumentów funkcji (znajdź_tekst itp.) można wprowadzić je bezpośrednio do funkcji lub zdefiniować zmienne, które mają być używane w zamian.

Wróć do listy wszystkich funkcji w Excelu

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave