Ten artykuł zawiera opis składni formuły i zastosowania funkcji SZUKAJ.TEKST w programie Microsoft Excel.
Opis
Funkcja SZUKAJ.TEKST odnajduje jeden ciąg tekstowy wewnątrz innego ciągu tekstowego i zwraca pozycję początkową pierwszego ciągu, licząc od pierwszego znaku drugiego ciągu. Aby na przykład stwierdzić, na której pozycji w wyrazie „drukarka” znajduje się litera „u”, można użyć następującej funkcji:
=SZUKAJ.TEKST("u";"drukarka")
Ta funkcja zwraca wartość 3, ponieważ „u” to trzecia litera w wyrazie „drukarka”.
Za pomocą tej funkcji można również wyszukiwać wyrazy w innych wyrazach. Na przykład funkcja
=SZUKAJ.TEKST("wizja";"telewizja")
zwraca 5, ponieważ wyraz „wizja” rozpoczyna się od piątego znaku wyrazu „telewizja”. Można użyć funkcji SZUKAJ.TEKST w celu określenia lokalizacji znaku lub ciągu tekstowego w innym ciągu tekstowym, a następnie użyć funkcji FRAGMENT.TEKSTU , aby zwrócić tekst, lub użyć funkcji ZASTĄP , aby zmienić tekst. Te funkcje zostały przedstawiane w Przykładzie 1 w tym artykule.
Składnia
SZUKAJ.TEKST(tekst_szukany;w_tekście;[nr_poz_pocz])
W funkcji SZUKAJ.TEKST występują następujące argumenty:
- find_text Argument wymagany. Jest to tekst, który ma zostać znaleziony.
- within_text Argument wymagany. Tekst, w którym ma zostać wyszukana wartość argumentu find_text .
- start_num Opcjonalnie. Numer znaku w within_text argumencie, od którego chcesz rozpocząć wyszukiwanie.
Spostrzeżenie
- W funkcji SZUKAJ.TEKST nie jest uwzględniana wielkość liter. Jeśli w wyszukiwaniu powinna zostać uwzględniona wielkość liter, można użyć funkcji ZNAJDŹ.
- W argumencie find_text można użyć symboli wieloznacznych — znaku zapytania (?) i gwiazdki (*). Znak zapytania zastępuje dowolny pojedynczy znak, a gwiazdka zastępuje dowolną sekwencję znaków. Aby znaleźć znak zapytania lub gwiazdkę, należy przed takim znakiem wpisać tyldę (~).
- Jeśli wartość find_text nie zostanie znaleziona, #VALUE! zwróci wartość błędu #VALUE!.
- Jeśli argument start_num zostanie pominięty, przyjmuje się, że jest równy 1.
- Jeśli wartość start_num nie jest większa niż 0 lub większa niż długość argumentu within_text , to #VALUE! zwróci wartość błędu #VALUE!.
- Użyj start_num , aby pominąć określoną liczbę znaków. Załóżmy na przykład, że jest przetwarzany następujący tekst: „AUM0093.UbraniaMęskieMłodzieżowe”. Aby odnaleźć pozycję pierwszego znaku "U" w opisowej części ciągu tekstowego, należy ustawić start_num równą 8, tak aby nie była przeszukiwana część tekstu zawierająca numer seryjny (w tym przypadku "AYF0093"). Funkcja SZUKAJ.TEKST rozpoczyna wyszukiwanie od znaku na pozycji 8, odnajduje znak określony w argumencie find_text na następnej pozycji i zwraca liczbę 9. Funkcja SZUKAJ.TEKST zawsze zwraca liczbę znaków, licząc od początku argumentu within_text, włącznie ze znakami pominiętymi, jeśli argument start_num jest większy niż 1.
Przykłady
Skopiuj przykładowe dane z poniższej tabeli i wklej je w komórce A1 nowego arkusza programu Excel. Aby formuły wyświetlały wyniki, zaznacz je, naciśnij klawisz F2, a następnie naciśnij klawisz Enter. Jeśli to konieczne, możesz dostosować szerokości kolumn, aby wyświetlić pełne dane.
| Dane | ||
|---|---|---|
| Zestawienia | ||
| Marża zysku | ||
| marża | ||
| Dziś "szef" jest w firmie. | ||
| Formuła | Opis | Wynik |
| =SZUKAJ.TEKST("e";A2;6) | Pozycja pierwszej litery „e” w ciągu zawartym w komórce A2, zaczynając od szóstego znaku. | 7 |
| =SZUKAJ.TEKST(A4;A3) | Pozycja wyrazu „marża” (wyszukiwany ciąg umieszczony w komórce A4) w ciągu „Marża zysku” (komórka A3, w której znajduje się ciąg do przeszukania). | 8 |
| =ZASTĄP(A3;SZUKAJ.TEKST(A4;A3);5;"Kwota") | Zamienia ciąg „Marża” na ciąg „Kwota”, najpierw szukając pozycji ciągu „Marża” w komórce A3, a następnie zamieniając pierwszy znak i kolejne cztery znaki ciągiem „Kwota”. | Kwota zysku |
| =FRAGMENT.TEKSTU(A3;SZUKAJ.TEKST(" ";A3)+1;4) | Zwraca cztery pierwsze znaki występujące po pierwszej spacji w ciągu „Marża zysku” (komórka A3). | zysk |
| =SZUKAJ.TEKST("""";A5) | Pozycja pierwszego podwójnego znaku cudzysłowu ('') w komórce A5. | 5 |
| =FRAGMENT.TEKSTU(A5;SZUKAJ.TEKST("""";A5)+1;SZUKAJ.TEKST("""";A5;SZUKAJ.TEKST("""";A5)+1)-SZUKAJ.TEKST("""";A5)-1) | Zwraca tylko tekst ujęty w podwójne cudzysłowy, znajdujący się w komórce A5. | szef |
Ważne
- Funkcja SZUKAJ.TEKST.B jest przestarzała.
- W skoroszytach, dla których skonfigurowano zgodność w wersji 2, funkcja SZUKAJ.TEKST usprawniła działanie par zastępczych, licząc je jako jeden znak zamiast dwóch. Selektory odmian (często używane z emoji) nadal będą liczone jako osobne znaki. Przeczytaj więcej tutaj: Standard Unicode