Ten artykuł zawiera opis składni formuł i zastosowania funkcji ZNAJDŹ i ZNAJDŹB w programie Microsoft Excel.
Opis
Funkcje ZNAJDŹ i ZNAJDŹB lokalizują ciąg tekstowy wewnątrz innego ciągu tekstowego i zwracają pozycję początkową pierwszego ciągu, licząc od pierwszego znaku drugiego ciągu.
Ważne:
-
Te funkcje mogą nie być dostępne w niektórych językach.
-
Funkcja ZNAJDŹ jest przeznaczona do używania z językami o zestawach znaków jednobajtowych (SBCS), a funkcja ZNAJDŹB — do używania z językami o zestawach znaków dwubajtowych (DBCS). Wartości zwracane przez te funkcje zależą od domyślnego ustawienia języka komputera w sposób następujący:
-
Funkcja ZNAJDŹ zawsze zlicza każdy znak jako jedno wystąpienie, niezależnie od tego, czy jest on jedno- czy dwubajtowy, i niezależnie od domyślnego ustawienia języka.
-
Jeśli jest włączona edycja w języku obsługującym zestaw znaków DBCS i język ten jest ustawiony jako domyślny, funkcja ZNAJDŹB zlicza każdy znak dwubajtowy jako dwa wystąpienia. W przeciwnym przypadku funkcja ZNAJDŹB zlicza każdy znak jako jedno wystąpienie.
Zestaw znaków DBCS jest obsługiwany między innymi przez następujące języki: japoński, chiński (uproszczony), chiński (tradycyjny) i koreański.
Składnia
ZNAJDŹ(tekst_szukany;w_tekście;[nr_poz_pocz])
ZNAJDŹB(tekst_szukany;w_tekście;[nr_poz_pocz])
W składni funkcji ZNAJDŹ i ZNAJDŹB występują następujące argumenty:
-
Tekst_szukany Argument wymagany. Tekst, który ma zostać znaleziony.
-
W_tekście Argument wymagany. Tekst zawierający tekst, który ma zostać znaleziony.
-
Nr_poz_pocz Argument opcjonalny. Określa znak, od którego ma się rozpocząć wyszukiwanie. Pierwszym znakiem w tekście przeszukiwanym (w_tekście) jest znak numer 1. Jeśli parametr nr_poz_pocz zostanie pominięty, zakłada się, że jego wartość wynosi 1.
Spostrzeżenia
-
W funkcjach ZNAJDŹ i ZNAJDŹB jest uwzględniana wielkość liter i nie zezwalaj na używanie symboli wieloznacznych. Jeśli nie chcesz wyszukiwać z uwzględnieniem wielkości liter ani używać symboli wieloznacznych, możesz użyć funkcji SZUKAJ.TEKST i SZUKAJ.TEKST.B.
-
Jeśli parametr tekst_szukany ma wartość "" (pusty), funkcja ZNAJDŹ wyszukuje pierwszy znak w przeszukiwanym ciągu (tj. znak o numerze nr_poz_pocz lub 1).
-
Tekst_szukany nie może zawierać symboli wieloznacznych.
-
Jeśli find_text nie jest wyświetlana w within_text, funkcje ZNAJDŹ i ZNAJDŹB zwracają #VALUE! wartość błędu #ADR!.
-
Jeśli start_num nie jest większa niż zero, funkcje ZNAJDŹ i ZNAJDŹB zwracają #VALUE! wartość błędu #ADR!.
-
Jeśli start_num jest większa niż długość within_text, funkcje ZNAJDŹ i ZNAJDŹB zwracają #VALUE! wartość błędu #ADR!.
-
Argument nr_poz_pocz umożliwia pominięcie określonej liczby znaków. Załóżmy na przykład, że jest przetwarzany następujący tekst „AUM0093.UbraniaMęskieMłodzieżowe”. Aby odnaleźć numer pierwszego znaku „U” w opisowej części tekstu, należy nadać argumentowi nr_poz_pocz wartość 8, tak aby nie była przeszukiwana część tekstu będąca numerem seryjnym. Funkcja ZNAJDŹ rozpoczyna wyszukiwanie od znaku o numerze 8, odnajduje argument tekst_szukany przy następnym znaku i zwraca liczbę 9. Funkcja ZNAJDŹ zawsze zwraca liczbę znaków, licząc od początku argumentu w_tekście, włącznie ze znakami pominiętymi w przypadku określenia wartości argumentu nr_poz_pocz większej 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 |
||
---|---|---|
Tomasz Bator |
||
Formuła |
Opis |
Wynik |
=ZNAJDŹ("T";A2) |
Pozycja pierwszej litery „T” w komórce A2 |
1 |
=ZNAJDŹ("m";A2) |
Pozycja pierwszej "m" w komórce A2 |
6 |
=ZNAJDŹ("t";A2;3) |
Pozycja pierwszej litery „t” w komórce A2, począwszy od trzeciego znaku |
8 |
Przykład 2
Dane |
||
---|---|---|
Izolatory ceramiczne #124-TD45-87 |
||
Cewki miedziane #12-671-6772 |
||
Rezystory zmienne #116010 |
||
Formuła |
Opis (wynik) |
Wynik |
=FRAGMENT.TEKSTU(A2;1;ZNAJDŹ(" #";A2;1)-1) |
Wyodrębnia tekst od pozycji 1 do pozycji znaku „#” z komórki A2 (Izolatory ceramiczne) |
Izolatory ceramiczne |
=FRAGMENT.TEKSTU(A3;1;ZNAJDŹ(" #";A3;1)-1) |
Wyodrębnia tekst od pozycji 1 do pozycji znaku „#” z komórki A3 (Cewki miedziane) |
Cewki miedziane |
=FRAGMENT.TEKSTU(A4;1;ZNAJDŹ(" #";A4;1)-1) |
Wyodrębnia tekst od pozycji 1 do pozycji znaku „#” z komórki A4 (Rezystory zmienne) |
Rezystory zmienne |