Функциите на Excel FIND и SEARCH со примери на формула

  • Споделете Го Ова
Michael Brown

Упатството ја објаснува синтаксата на функциите Excel FIND и SEARCH и дава примери на формула за напредни нетривијални употреби.

Во последната статија, ги опфативме основите на Excel Дијалогот за наоѓање и замена. Меѓутоа, во многу ситуации, можеби ќе сакате Excel да наоѓа и извлекува податоци од други ќелии автоматски врз основа на вашите критериуми. Значи, ајде да погледнеме подетално што нудат функциите за пребарување на Excel.

    Функцијата на Excel FIND

    Функцијата FIND во Excel се користи за враќање на позицијата на специфичен знак или подниза во текстуална низа.

    Синтаксата на функцијата Excel Find е следнава:

    FIND(find_text, inside_text, [start_num])

    Потребни се првите 2 аргументи, последниот е незадолжителен.

    • Find_text - знакот или поднизата што сакате да ја најдете.
    • Within_text - текстуалната низа до да се пребарува внатре. Обично се дава како референца на ќелијата, но исто така можете да ја напишете низата директно во формулата.
    • Start_num - изборен аргумент кој одредува од кој знак ќе започне пребарувањето. Ако се испушти, пребарувањето започнува од првиот знак на низата внатре во текстот.

    Ако функцијата FIND не ги најде знаците за наоѓање_текст, тогаш е #VALUE! се враќа грешката.

    На пример, формулата =FIND("d", "find") враќа 4 бидејќи „d“ е 4-та буква во зборот „ најди “. Формулата =FIND("a", "find") годинаповторно, најкомплексниот дел е последниот аргумент кој ја кажува формулата колку знаци да се вратат. Тој прилично долг израз во аргументот num_chars го прави следново:

    • Прво, ја наоѓате позицијата на затворената заграда: SEARCH(")",A2)
    • Потоа ја лоцирате позицијата на почетната заграда: SEARCH("(",A2)
    • И тогаш, ја пресметувате разликата помеѓу позициите на заградата за затворање и отворање и одземате 1 од тој број, бидејќи не сакате ниту една заграда во резултатот: SEARCH(")",A2)-SEARCH("(",A2))-1

    Нормално, ништо не ве спречува да ја користите функцијата Excel FIND наместо SEARCH, бидејќи чувствителноста на букви или неосетливост на големи и мали букви не прави разлика во овој пример.

    Се надеваме дека ова упатството фрли малку светлина за тоа како да се користат функциите SEARCH и FIND во Excel. Во следното упатство, внимателно ќе ја испитаме функцијата REPLACE, затоа ве молиме останете во тек. Ви благодариме што прочитавте!

    Преземете ја работната книга за вежбање

    Пронајди и ПРЕБАРУВАЈ примери на формула

    враќа грешка бидејќи нема „a“ во „ find“.

    Excel FIND функција - работи што треба да се запаметат!

    За правилно користење на формулата FIND во Excel, имајте ги на ум следниве едноставни факти:

    1. Функцијата FIND е чувствителна на букви . Ако барате совпаѓање кое не е чувствително на големи букви, користете ја функцијата SEARCH.
    2. Функцијата FIND во Excel не дозволува користење букови .
    3. Ако аргументот find_text содржи неколку знаци, функцијата FIND ја враќа позицијата на првиот знак . На пример, формулата FIND("ap","среќен") враќа 2 бидејќи "a" во втората буква во зборот "среќен".
    4. Ако во_текст содржи неколку појави на find_text, се враќа првата појава. На пример, FIND("l", "hello") враќа 3, што е позицијата на првиот знак "l" во зборот "здраво".
    5. Ако find_text е празна низа "", формулата Excel FIND го враќа првиот знак во низата за пребарување.
    6. Функцијата Excel FIND ја враќа #VALUE! грешка ако се појави нешто од следново:
      • Find_text не постои во inside_text.
      • Start_num содржи повеќе знаци отколку inside_text.
      • Start_num е 0 (нула) или негативен број.

    Excel SEARCH функција

    Функцијата SEARCH во Excel е многу слична со FIND со тоа што ја враќа и локацијата на поднизата во текстниза. Дали синтаксата и аргументите се слични на оние на FIND:

    SEARCH(find_text, inside_text, [start_num])

    За разлика од FIND, функцијата SEARCH е неосетлива на букви и дозволува користење на знаците за џвакање , како што е прикажано во следниот пример.

    И еве неколку основни формули Excel SEARCH:

    =SEARCH("market", "supermarket") враќа 6 бидејќи поднизата „пазар“ започнува на 6-от знак од зборот „супермаркет“ .

    =SEARCH("e", "Excel") враќа 1 бидејќи „e“ е првиот знак во зборот „Excel“, игнорирајќи ја буквата.

    Како FIND, функцијата SEARCH на Excel ја враќа #VALUE! грешка ако:

    • Вредноста на аргументот find_text не е пронајдена.
    • Аргументот start_num е поголем од должината на inside_text.
    • Start_num е еднаков на или помалку од нула.

    Понатаму во ова упатство, ќе најдете уште неколку значајни примери на формула кои покажуваат како да ја користите функцијата SEARCH во работните листови на Excel.

    Како што веќе беше споменато, функциите FIND и SEARCH во Excel се многу слични во однос на синтаксата и употребата. Сепак, тие имаат неколку разлики.

    1. FIND чувствителни на букви и SEARCH не се чувствителни на букви

    Најсуштинската разлика помеѓу функциите Excel SEARCH и FIND е тоа што SEARCH е осетлив на букви, додека FIND е осетлив на букви.

    На пример , SEARCH("e", "Excel") враќа 1 бидејќи го игнорираслучај на "E", додека FIND("e", "Excel") враќа 4 затоа што му пречи на случајот.

    2. Пребарување со џокални знаци

    За разлика од FIND, функцијата Excel SEARCH прифаќа знаци со џокер во аргументот find_text:

    • Прашалникот (?) се совпаѓа со еден знак и
    • Ѕвездичка (*) се совпаѓа со која било серија на знаци.

    За да видите како функционира на вистински податоци, земете го следниов пример:

    Како што гледате на сликата од екранот погоре, формулата SEARCH („функција*2013“, A2) ја враќа позицијата на првиот знак („f“) во поднизата ако текстуалната низа наведена во аргументот inside_text ги содржи и двете „функција“ и „2013“, без разлика колку други ликови има помеѓу.

    Совет. За да најдете вистински прашалник (?) или ѕвездичка (*), напишете тилда (~) пред соодветниот знак.

    Во пракса, функциите Excel FIND и SEARCH ретко се користат сами по себе. Вообичаено, би ги користеле во комбинација со други функции како што се MID, LEFT или RIGHT, а следните примери на формула демонстрираат некои реални употреби.

    Пример 1. Најдете низа што претходи или следи даден знак

    Овој пример покажува како можете да ги најдете и извлечете сите знаци во текстуалната низа лево или десно од одреден знак. За полесно да се разберат работите, размислете заследниот пример.

    Да претпоставиме дека имате колона со имиња (колона А) и сакате да ги повлечете Името и Презимето во посебни колони.

    За да го добиете името, можете да користите FIND (или SEARCH) во врска со функцијата LEFT:

    =LEFT(A2, FIND(" ", A2)-1)

    или

    =LEFT(A2, SEARCH(" ", A2)-1)

    Како што веројатно знаете, функцијата Excel LEFT ја враќа одреден број на леви знаци во низата. И ја користите функцијата FIND за да ја одредите позицијата на празно место (" ") за да и дозволите на функцијата LEFT да знае колку знаци да извлече. Притоа, одземате 1 од позицијата на просторот бидејќи не сакате вратената вредност да го вклучува просторот.

    За да го извадите презимето, користете ја комбинацијата од функциите RIGHT, FIND / SEARCH и LEN. Функцијата LEN е потребна за да се добие вкупниот број на знаци во низата, од кои ја одземате позицијата на просторот:

    =RIGHT(A2,LEN(A2)-FIND(" ",A2))

    или

    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))

    Следната слика од екранот го покажува резултатот:

    За посложени сценарија, како што е извлекување средно име или разделување имиња со суфикси, погледнете Како да се подели ќелиите во Excel користејќи формули.

    Пример 2. Најдете N-та појава на даден знак во текстуална низа

    Да претпоставиме дека имате неколку текстуални низи во колоната А, да речеме листа на SKU и сакате да најдете позицијата на 2-та цртичка во низа. Следната формула функционира добро:

    =FIND("-", A2, FIND("-",A2)+1)

    Првите двеаргументите лесно се толкуваат: лоцирајте цртичка („-“) во ќелијата А2. Во третиот аргумент (start_num), вградивте друга функција FIND која му кажува на Excel да започне со пребарување почнувајќи со знакот што доаѓа веднаш по првата појава на цртичка (FIND("-",A2)+1).

    За да ја вратите позицијата на третата појава , ја вградувате горната формула во аргументот start_num на друга функција FIND и додадете 2 на вратената вредност:

    =FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2)

    Друг и веројатно поедноставен начин за наоѓање на N-тата појава на даден знак е користење на функцијата Excel FIND во комбинација со CHAR и SUBSTITUTE:

    =FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),3))

    Каде што „-“ е знакот за кој станува збор, а „3“ е N-тата појава што сакате да ја најдете.

    Во горната формула, функцијата SUBSTITUTE ја заменува третата појава на цртичка („-“) со CHAR( 1), што е неотпечатлив знак „Почеток на наслов“ во системот ASCII. Наместо CHAR(1) можете да користите кој било друг знак што не може да се печати од 1 до 31. И потоа, функцијата FIND ја враќа позицијата на тој знак во текстуалната низа. Значи, општата формула е следна:

    FIND(CHAR(1), SUBSTITUTE( ќелија , лик ,CHAR(1), N-та појава ))

    На прв поглед, може да изгледа дека горенаведените формули имаат мала практична вредност, но следниот пример ќе покаже колку се корисни во решавањето на вистинските задачи.

    Забелешка. Ве молиме запомнете дека Excel FINDфункцијата е чувствителна на букви. Во нашиот пример, ова не прави никаква разлика, но ако работите со букви и сакате совпаѓање неосетливо на букви , користете ја функцијата SEARCH наместо FIND.

    Пример 3. Извадете N знаци по одреден знак

    За да лоцирате подниза со дадена должина во која било текстуална низа, користете Excel FIND или Excel SEARCH во комбинација со функцијата MID. Следниот пример покажува како можете да користите такви формули во пракса.

    Во нашата листа на SKU, да претпоставиме дека сакате да ги најдете првите 3 знаци по првата цртичка и да ги повлечете во друга колона.

    Ако групата знаци пред првата цртичка секогаш содржи ист број на ставки (на пр. 2 знаци), ова би било тривијална задача. Може да ја користите функцијата MID за да вратите 3 знаци од низата, почнувајќи од позицијата 4 (прескокнувајќи ги првите 2 знаци и цртичка):

    =MID(A2, 4, 3)

    Преведено на англиски, формулата вели: „Погледнете во ќелијата А2, започнете со извлекување од знакот 4 и вратете 3 знаци“.

    Сепак, во работните листови од реалниот живот, поднизата што треба да ја извадите може да започне од каде било во текстуалната низа. Во нашиот пример, можеби не знаете колку знаци претходат на првата цртичка. За да се справите со овој предизвик, користете ја функцијата FIND за да ја одредите почетната точка на поднизата што сакате да ја вратите.

    Формулата FIND за враќање напозицијата на првата цртичка е како што следува:

    =FIND("-",A2)

    Бидејќи сакате да започнете со знакот што следи по цртичката, додадете 1 на вратената вредност и вметнете ја горната функција во вториот аргумент (start_num) на функцијата MID:

    =MID(A2, FIND("-",A2)+1, 3)

    Во ова сценарио, функцијата Excel SEARCH работи подеднакво добро:

    =MID(A2, SEARCH("-",A2)+1, 3)

    Одлично е, но што ако групата знаци што следи по првата цртичка содржи различен број на знаци? Хм... ова може да е проблем:

    Како што гледате на горната слика од екранот, формулата функционира совршено за редовите 1 и 2. Во редовите 4 и 5, втората група содржи 4 знаци, но се враќаат само првите 3 знаци. Во редовите 6 и 7, има само 2 знаци во втората група, и затоа нашата формула за пребарување на Excel враќа цртичка по нив.

    Ако сакате да ги вратите сите знаци помеѓу 1-та и 2-та појава од одреден знак (цртичка во овој пример), како би продолжиле? Еве го одговорот:

    =MID(A2, FIND("-",A2)+1, FIND("-", A2, FIND("-",A2)+1) - FIND("-",A2)-1)

    За подобро разбирање на оваа формула MID, ајде да ги испитаме нејзините аргументи еден по еден:

    • 1-ви аргументи (текст). Тоа е текстуалната низа што ги содржи знаците што сакате да ги извлечете, ќелијата A2 во овој пример.
    • вториот аргумент (почетна_позиција). Ја одредува позицијата на првиот знак што сакате да го извлечете. Ја користите функцијата FIND за да ја лоцирате првата цртичка во низата и да додадете 1 натаа вредност затоа што сакате да започнете со знакот што следи по цртичката: FIND("-",A2)+1.
    • 3-ти аргумент (num_chars). Го одредува бројот на знаци што сакате да ги вратите. Во нашата формула, ова е најтешкиот дел. Користите две FIND (или SEARCH) функции, едната ја одредува позицијата на првата цртичка: FIND("-",A2). А другата ја враќа позицијата на втората цртичка: FIND("-", A2, FIND("-",A2)+1). Потоа го одземате првото од второто, а потоа одземате 1 затоа што не сакате да вклучите ниту една цртичка. Како резултат на тоа, ќе го добиете бројот на знаци помеѓу 1-та и 2-та цртички, што е токму она што го бараме. Значи, таа вредност ја внесувате во аргументот num_chars на функцијата MID.

    На сличен начин, можете да вратите 3 знаци по втората цртичка:

    =MID(A2, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2), 3)

    Или, извлечете ги сите знаци помеѓу 2-та и 3-та цртички:

    =MID(A2, FIND("-", A2, FIND("-",A2)+1)+1, FIND("-",A2, FIND("-", A2, FIND("-",A2)+1) +2) - FIND("-", A2, FIND("-",A2)+1)-1)

    Пример 4. Најдете текст помеѓу загради

    Да претпоставиме дека имате долга текстуална низа во колоната А и сакате да го пронајдете и извлечете само текстот затворен во (загради).

    За да го направите ова, ќе ви треба функцијата MID за да го вратите саканиот број на знаци од стринг, и функцијата Excel FIND или SEARCH за да се одреди од каде да се започне и колку знаци да се извлечат.

    =MID(A2,SEARCH("(",A2)+1, SEARCH(")",A2)-SEARCH("(",A2)-1)

    Логиката на оваа формула е слична на оние што ги разгледавме во претходниот пример. И

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.