Spis treści
Wczoraj w maratonie 30 funkcji Excela w 30 dni rozpoznaliśmy rodzaje błędów za pomocą funkcji TYP BŁĘDU (TYP BŁĘDU) i upewnił się, że może być bardzo przydatny do poprawiania błędów w programie Excel.
18 dnia maratonu poświęcimy naukę funkcji SZUKAJ (SZUKAJ). Szuka znaku (lub znaków) w ciągu tekstowym i zgłasza, gdzie został znaleziony. Przyjrzymy się również, jak radzić sobie z sytuacjami, w których ta funkcja zgłasza błąd.
Przyjrzyjmy się więc bliżej teorii i praktycznym przykładom funkcji SZUKAJ (SZUKAJ). Jeśli masz jakieś sztuczki lub przykłady pracy z tą funkcją, podziel się nimi w komentarzach.
Funkcja 18: SZUKAJ
Funkcjonować SZUKAJ (SEARCH) wyszukuje ciąg tekstowy w innym ciągu tekstowym, a jeśli zostanie znaleziony, zgłasza jego pozycję.
Jak korzystać z funkcji SZUKAJ?
Funkcjonować SZUKAJ (SEARCH) wyszukuje ciąg tekstowy w innym ciągu tekstowym. Ona może:
- Znajdź ciąg tekstu wewnątrz innego ciągu tekstowego (nie uwzględniaj wielkości liter).
- W wyszukiwaniu używaj symboli wieloznacznych.
- Określ pozycję początkową w przeglądanym tekście.
SZUKAJ Składnia
Funkcjonować SZUKAJ (SEARCH) ma następującą składnię:
SEARCH(find_text,within_text,[start_num])
ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])
- Znajdź tekst (wyszukiwany_tekst) to tekst, którego szukasz.
- w_tekście (text_for_search) – ciąg tekstowy, w obrębie którego przeprowadzane jest wyszukiwanie.
- numer_początkowy (pozycja_początkowa) – jeśli nie zostanie określony, wyszukiwanie rozpocznie się od pierwszego znaku.
Pułapki SZUKAJ (SZUKAJ)
Funkcjonować SZUKAJ (SEARCH) zwróci pozycję pierwszego pasującego ciągu, bez uwzględniania wielkości liter. Jeśli potrzebujesz wyszukiwania z uwzględnieniem wielkości liter, możesz użyć funkcji Użytkownicy (ZNAJDŹ), które spotkamy później w maratonie 30 funkcji Excela w 30 dni.
Przykład 1: Znajdowanie tekstu w ciągu znaków
Użyj funkcji SZUKAJ (SEARCH), aby znaleźć tekst w ciągu tekstowym. W tym przykładzie będziemy szukać pojedynczego znaku (wpisanego w komórce B5) w ciągu tekstowym znalezionym w komórce B2.
=SEARCH(B5,B2)
=ПОИСК(B5;B2)
Jeśli tekst zostanie znaleziony, funkcja SZUKAJ (SEARCH) zwróci numer pozycji pierwszego znaku w ciągu tekstowym. Jeśli nie zostanie znaleziony, wynikiem będzie komunikat o błędzie #WARTOŚĆ! (#WIĘC).
Jeśli wynik jest błędem, możesz użyć funkcji JEŻELI BŁĄD (JEŻELI BŁĄD), aby zamiast wykonywać funkcję SZUKAJ (SEARCH) wyświetla odpowiedni komunikat. Funkcjonować JEŻELI BŁĄD (IFERROR) został wprowadzony w programie Excel od wersji 2007. We wcześniejszych wersjach ten sam wynik można było uzyskać za pomocą IF (IF) razem z CZY.BŁĄD (EOSZIBKA).
=IFERROR(SEARCH(B5,B2),"Not Found")
=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")
Przykład 2: Używanie symboli wieloznacznych z SEARCH
Inny sposób sprawdzenia zwróconego wyniku SZUKAJ (SZUKAJ), w przypadku błędu – użyj funkcji CZY.NUMER (CZY.LICZBA). Jeśli ciąg zostanie znaleziony, wynik SZUKAJ (SEARCH) będzie liczbą, co oznacza funkcję CZY.NUMER (ISNUMBER) zwróci TRUE. Jeśli tekst nie zostanie znaleziony, to SZUKAJ (SEARCH) zgłosi błąd i CZY.NUMER (ISNUMBER) zwróci FALSE.
W wartości argumentu Znajdź tekst (wyszukiwany_tekst) możesz używać symboli wieloznacznych. Symbol * (gwiazdka) zastępuje dowolną liczbę znaków lub brak, oraz ? (znak zapytania) zastępuje dowolny pojedynczy znak.
W naszym przykładzie użyto symbolu wieloznacznego *, więc wyrażenia CENTRAL, CENTRAL i CENTER będą znajdować się w nazwach ulic.
=ISNUMBER(SEARCH($E$2,B3))
=ЕЧИСЛО(ПОИСК($E$2;B3))
Przykład 3: Określanie pozycji początkowej dla SEARCH (SEARCH)
Jeśli napiszemy dwa znaki minusa (podwójna negacja) przed funkcją CZY.NUMER (ISNUMBER), zwróci wartości 1/0 zamiast PRAWDA/FAŁSZ (PRAWDA/FAŁSZ). Następnie funkcja SUMA (SUM) w komórce E2 policzy całkowitą liczbę rekordów, w których znaleziono wyszukiwany tekst.
W poniższym przykładzie kolumna B pokazuje:
Nazwa miasta | Zawód
Naszym zadaniem jest znalezienie zawodów zawierających ciąg tekstowy wprowadzony w komórce E1. Formuła w komórce C2 będzie wyglądać tak:
=--ISNUMBER(SEARCH($E$1,B2))
=--ЕЧИСЛО(ПОИСК($E$1;B2))
Ta formuła znalazła wiersze zawierające słowo „bank”, ale w jednym z nich słowo to znajduje się nie w nazwie zawodu, ale w nazwie miasta. To nam nie odpowiada!
Po każdej nazwie miasta następuje symbol | (pionowy pasek), więc my, korzystając z funkcji SZUKAJ (SZUKAJ), możemy znaleźć pozycję tej postaci. Jego pozycję można określić jako wartość argumentu numer_początkowy (pozycja_początkowa) w funkcji „main” SZUKAJ (SZUKAJ). W rezultacie nazwy miast zostaną zignorowane podczas wyszukiwania.
Teraz sprawdzona i poprawiona formuła policzy tylko te wiersze, które w nazwie zawodu zawierają słowo „bank”:
=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))
=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))