Съдържание
Вчера на маратона 30 Excel функции за 30 дни разпознахме видовете грешки, използвайки функцията ГРЕШКА.ТИП (ТИП ГРЕШКА) и се уверих, че може да бъде много полезно за коригиране на грешки в Excel.
На 18-ия ден от маратона ще посветим изучаването на функцията ТЪРСИ (ТЪРСЕНЕ). Той търси знак (или знаци) в рамките на текстов низ и съобщава къде е намерен. Също така ще разгледаме как да се справяме със ситуации, при които тази функция извежда грешка.
И така, нека разгледаме по-отблизо теорията и практическите примери за функцията ТЪРСИ (ТЪРСЕНЕ). Ако имате трикове или примери за работа с тази функция, моля, споделете ги в коментарите.
Функция 18: ТЪРСЕНЕ
функция ТЪРСИ (SEARCH) търси текстов низ в рамките на друг текстов низ и ако бъде открит, съобщава неговата позиция.
Как мога да използвам функцията ТЪРСЕНЕ?
функция ТЪРСИ (SEARCH) търси текстов низ в друг текстов низ. Тя може:
- Намерете низ от текст в друг текстов низ (без значение за малки и големи букви).
- Използвайте заместващи символи при търсенето си.
- Определете началната позиция в разглеждания текст.
Синтаксис за ТЪРСЕНЕ
функция ТЪРСИ (SEARCH) има следния синтаксис:
SEARCH(find_text,within_text,[start_num])
ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])
- намиращ_текст (търсен_текст) е текстът, който търсите.
- в рамките на_текст (text_for_search) – текстов низ, в който се извършва търсенето.
- начален_номер (start_position) – ако не е посочено, търсенето ще започне от първия знак.
Капани ТЪРСЕНЕ (ТЪРСЕНЕ)
функция ТЪРСИ (SEARCH) ще върне позицията на първия съвпадащ низ, без значение за главни и малки букви. Ако имате нужда от търсене с чувствителен към малки и главни букви, можете да използвате функцията НАМЕРИ (FIND), с който ще се запознаем по-късно в маратона 30 Excel функции за 30 дни.
Пример 1: Намиране на текст в низ
Използвайте функцията ТЪРСИ (ТЪРСЕНЕ), за да намерите текст в текстов низ. В този пример ще търсим един знак (въведен в клетка B5) в рамките на текстовия низ в клетка B2.
=SEARCH(B5,B2)
=ПОИСК(B5;B2)
Ако текстът бъде намерен, функцията ТЪРСИ (SEARCH) ще върне номера на позицията на първия знак в текстовия низ. Ако не бъде намерено, резултатът ще бъде съобщение за грешка #VALUE! (#ТАКА).
В случай, че резултатът е грешка, можете да използвате функцията АКО ГРЕШКА (IFERROR), така че вместо да изпълни функцията ТЪРСИ (ТЪРСЕНЕ) показва съответното съобщение. функция АКО ГРЕШКА (IFERROR) беше въведен в Excel от версия 2007. В по-ранни версии същият резултат можеше да бъде получен с помощта на IF (АКО) заедно с ГРЕШКА (ЕОШИБКА).
=IFERROR(SEARCH(B5,B2),"Not Found")
=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")
Пример 2: Използване на заместващи символи с ТЪРСЕНЕ
Друг начин за проверка на върнатия резултат ТЪРСИ (ТЪРСЕНЕ), за грешка – използвайте функцията ISNUMBER (ISNUMBER). Ако низът е намерен, резултатът ТЪРСИ (SEARCH) ще бъде число, което означава функция ISNUMBER (ISNUMBER) ще върне TRUE. Ако текстът не бъде намерен, тогава ТЪРСИ (SEARCH) ще съобщи за грешка и ISNUMBER (ISNUMBER) ще върне FALSE.
В стойността на аргумента намиращ_текст (търсене_текст) можете да използвате заместващи знаци. Символ * (звездичка) замества произволен брой знаци или нито един, и ? (въпросителен знак) замества всеки отделен знак.
В нашия пример се използва заместващ знак *, така че фразите ЦЕНТРАЛЕН, ЦЕНТЪР и ЦЕНТЪР ще бъдат намерени в имената на улиците.
=ISNUMBER(SEARCH($E$2,B3))
=ЕЧИСЛО(ПОИСК($E$2;B3))
Пример 3: Определяне на началната позиция за ТЪРСЕНЕ (SEARCH)
Ако напишем два знака минус (двойно отрицание) пред функцията ISNUMBER (ISNUMBER), той ще върне стойностите 1/0 вместо TRUE/FALSE (ВЯРНО/НЕВЯРНО). След това функцията SUM (SUM) в клетка E2 ще преброи общия брой записи, където е намерен текстът за търсене.
В следния пример колона B показва:
Име на град | Професия
Нашата задача е да намерим професии, съдържащи текстовия низ, въведен в клетка E1. Формулата в клетка C2 ще бъде:
=--ISNUMBER(SEARCH($E$1,B2))
=--ЕЧИСЛО(ПОИСК($E$1;B2))
Тази формула намери редове, които съдържат думата „банка“, но в един от тях тази дума се намира не в името на професията, а в името на града. Това не ни устройва!
Всяко име на град е последвано от символ | (вертикална лента), така че ние, използвайки функцията ТЪРСИ (ТЪРСЕНЕ), можем да намерим позицията на този знак. Неговата позиция може да бъде зададена като стойност на аргумента начален_номер (start_position) във функцията „main“. ТЪРСИ (ТЪРСЕНЕ). В резултат на това имената на градовете ще бъдат игнорирани от търсенето.
Сега тестваната и коригирана формула ще брои само онези редове, които съдържат думата „банка“ в името на професията:
=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))
=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))