Excel FIND og SEARCH aðgerðir með formúludæmum

  • Deildu Þessu
Michael Brown

Efnisyfirlit

Kennsluefnið útskýrir setningafræði Excel FIND og SEARCH aðgerðanna og veitir formúludæmi um háþróaða notkun sem ekki er léttvæg.

Í síðustu grein fórum við yfir grunnatriði Excel Finna og skipta út valmynd. Í mörgum tilfellum gætirðu þó viljað að Excel finni og dragi gögn úr öðrum frumum sjálfkrafa út frá forsendum þínum. Svo, við skulum skoða nánar hvað Excel leitaraðgerðirnar hafa upp á að bjóða.

    Excel FIND aðgerð

    FIND aðgerðin í Excel er notuð til að skila stöðu tiltekinn staf eða undirstreng innan textastrengs.

    Setjafræði Excel Find fallsins er sem hér segir:

    FIND(finna_texti, innan_texti, [byrjun_tal])

    Fyrstu 2 rökin eru nauðsynleg, sá síðasti er valfrjáls.

    • Finn_text - stafurinn eða undirstrengurinn sem þú vilt finna.
    • Innan_texta - textastrengurinn til að vera leitað innan. Venjulega er hún til staðar sem frumvísun, en þú getur líka slegið strenginn beint inn í formúluna.
    • Start_num - valfrjáls röksemdafærsla sem tilgreinir frá hvaða staf leitin skal hefjast. Ef því er sleppt byrjar leitin á 1. staf innan_texta strengsins.

    Ef FIND aðgerðin finnur ekki find_text stafinn/stafina, er #VALUE! villa er skilað.

    Til dæmis skilar formúlan =FIND("d", "find") 4 vegna þess að "d" er 4. stafurinn í orðinu " finna ". Formúlan =FIND("a", "find") aftur, flóknasta hlutinn er síðasta rökin sem segir formúlunni hversu mörgum stöfum á að skila. Þessi ansi langa tjáning í num_chars röksemdinni gerir eftirfarandi:

    • Fyrst finnurðu staðsetningu lokasvigans: SEARCH(")",A2)
    • Eftir það finnurðu staðsetningu upphafssvigans: SEARCH("(",A2)
    • Og svo reiknarðu út mismuninn á loka- og opnunarsvigunum og dregur 1 frá þeirri tölu, því þú vilt ekki annað hvort sviga í niðurstöðunni: SEARCH(")",A2)-SEARCH("(",A2))-1

    Náttúrulega kemur ekkert í veg fyrir að þú notir Excel FIND aðgerðina í stað SEARCH, vegna þess að hástafa- eða hástafanæmi breytir engu í þessu dæmi.

    Vonandi er þetta einkatími hefur varpað ljósi á hvernig á að nota SEARCH og FIND aðgerðir í Excel. Í næsta kennsluefni ætlum við að skoða RPLACE aðgerðina náið, svo vinsamlegast fylgist með. Þakka þér fyrir að lesa!

    Hlaða niður æfingabók

    FINNA og LEIKA formúludæmi

    skilar villu vegna þess að það er ekkert "a" í " finna".

    Excel FIND aðgerð - atriði sem þarf að muna!

    Til að nota FIND formúlu rétt í Excel, hafðu í huga eftirfarandi einfaldar staðreyndir:

    1. FIND fallið er hástafaviðkvæmt . Ef þú ert að leita að samsvörun sem skiptir ekki máli, notaðu SEARCH aðgerðina.
    2. FIND aðgerðin í Excel leyfir ekki notkun algildisstafa .
    3. Ef finna_text rökin inniheldur nokkra stafi, FIND aðgerðin skilar stöðu fyrsta stafa . Til dæmis, formúlan FIND("ap","hamingjusamur") skilar 2 vegna þess að "a" í 2. staf í orðinu "hamingjusamur".
    4. Ef innan_texti inniheldur nokkrar tilvik af find_text, fyrsta tilvikinu er skilað. Til dæmis, FIND("l", "halló") skilar 3, sem er staðsetning fyrsta "l" stafsins í orðinu "halló".
    5. Ef find_text er tómur strengur "", Excel FIND formúlan skilar fyrsta stafnum í leitarstrengnum.
    6. Excel FIND aðgerðin skilar #VALUE! villa ef eitthvað af eftirfarandi kemur upp:
      • Finn_text er ekki til í inside_text.
      • Start_num inniheldur fleiri stafi en inside_text.
      • Start_num er 0 (núll) eða neikvæð tala.

    Excel SEARCH fall

    SEARCH fallið í Excel er mjög líkt FIND að því leyti að það skilar einnig staðsetningu undirstrengs í a textistrengur. Er setningafræði og röksemdir í ætt við FIND:

    SEARCH(finna_texti, innan_texta, [byrjun_tal])

    Ólíkt FIND er SEARCH fallið hástafaónæmir og það gerir kleift að nota algildisstafina , eins og sýnt er í eftirfarandi dæmi.

    Og hér eru nokkrar grunnformúlur í Excel SEARCH:

    =SEARCH("market", "supermarket") skilar 6 vegna þess að undirstrengurinn "markaður" byrjar á 6. staf orðsins "stórmarkaður" .

    =SEARCH("e", "Excel") skilar 1 vegna þess að „e“ er fyrsti stafurinn í orðinu „Excel“, hunsar hástafi.

    Eins og FIND, skilar SEARCH fallinu í Excel #VALUE! villa ef:

    • Gildi frumbreytunnar find_text finnst ekki.
    • Start_num frumbreytan er stærri en lengd innan_texta.
    • Start_num er jöfn eða minna en núll.

    Nánar í þessari kennslu muntu finna nokkur þýðingarmeiri formúludæmi sem sýna hvernig á að nota SEARCH aðgerðina í Excel vinnublöðum.

    Eins og áður hefur komið fram eru FINNA og SEARCH aðgerðirnar í Excel mjög eins hvað varðar setningafræði og notkun. Hins vegar er nokkur munur á þeim.

    Mikilvægasti munurinn á Excel SEARCH og FIND aðgerðunum er að SEARCH breytir ekki hástöfum en FIND er há- og hástöfum.

    Til dæmis , SEARCH("e", "Excel") skilar 1 vegna þess að það hunsarfall af "E", en FIND("e", "Excel") skilar 4 vegna þess að það hugsar um málið.

    2. Leita með algildisstöfum

    Ólíkt FIND tekur Excel SEARCH aðgerðin við algildisstöfum í find_text argumentinu:

    • Spuramerki (?) passar við einn staf og
    • Stjarna (*) passar við hvaða röð stafa sem er.

    Til að sjá hvernig það virkar á raunverulegum gögnum skaltu íhuga eftirfarandi dæmi:

    Eins og þú sérð á skjámyndinni hér að ofan, þá skilar formúlan SEARCH("fall*2013", A2) stöðu fyrsta stafs ("f") í undirstrengnum ef textastrengurinn sem vísað er til í innan_texta röksemdinni inniheldur bæði "fall" og "2013", sama hversu margir aðrir karakterar eru á milli.

    Ábending. Til að finna raunverulegt spurningarmerki (?) eða stjörnu (*) skaltu slá inn tilde (~) á undan samsvarandi staf.

    Excel FIND og SEARCH formúludæmi

    Í reynd eru Excel FIND og SEARCH aðgerðirnar sjaldan notaðar einar og sér. Venjulega myndirðu nota þær ásamt öðrum aðgerðum eins og MID, LEFT eða RIGHT, og eftirfarandi formúludæmi sýna nokkur raunveruleg notkun.

    Dæmi 1. Finndu streng á undan eða á eftir tilteknum staf<3 14>

    Þetta dæmi sýnir hvernig þú getur fundið og dregið út alla stafi í textastreng vinstra megin eða hægra megin við ákveðinn staf. Til að gera hlutina auðveldari að skilja skaltu íhugaeftirfarandi dæmi.

    Svo sem að þú sért með dálk með nöfnum (dálkur A) og þú vilt draga fornafn og eftirnafn í aðskilda dálka.

    Til að fá fornafnið geturðu notað FINNA (eða SEARCH) í tengslum við VINSTRI aðgerðina:

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

    eða

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

    Eins og þú sennilega veist, skilar Excel VINSTRI aðgerðinni tilgreindur fjöldi stafa lengst til vinstri í streng. Og þú notar FIND aðgerðina til að ákvarða staðsetningu bils (" ") til að láta VINSTRI aðgerðina vita hversu marga stafi á að draga út. Þá dregurðu 1 frá stöðu bilsins vegna þess að þú vilt ekki að skilað gildi innihaldi bilið.

    Til að draga út eftirnafnið skaltu nota samsetninguna af RIGHT, FIND / SEARCH og LEN fallunum. LEN fallið er nauðsynlegt til að fá heildarfjölda stafa í strengnum, sem þú dregur stöðu bilsins frá:

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

    eða

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

    Eftirfarandi skjámynd sýnir niðurstöðuna:

    Fyrir flóknari aðstæður, eins og að draga út millinafn eða skipta nöfnum með viðskeytum, vinsamlegast sjáðu Hvernig á að skipta frumum í Excel með formúlum.

    Dæmi 2. Finndu N. tilvik tiltekins stafs í textastreng

    Svo sem að þú sért með nokkra textastrengi í dálki A, segðu lista yfir SKU og þú vilt finna staðsetning 2. striks í streng. Eftirfarandi formúla virkar vel:

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

    Fyrstu tveirAuðvelt er að túlka rök: finndu strik ("-") í reit A2. Í þriðju röksemdinni (byrjun_num) fellur þú inn aðra FIND aðgerð sem segir Excel að byrja að leita og byrjar á stafnum sem kemur strax á eftir fyrsta tilviki striks (FIND("-",A2)+1).

    Til að skila stöðu 3. tilviks , fellir þú formúluna hér að ofan í upphafsnúmerið í öðru FIND falli og bætir 2 við skilað gildi:

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

    Önnur og líklega einfaldari leið til að finna N. tilvik tiltekins stafs er að nota Excel FIND fallið ásamt CHAR og SUBSTITUTE:

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

    Þar sem "-" er stafurinn sem um ræðir og "3" er N. tilvikið sem þú vilt finna.

    Í formúlunni hér að ofan kemur SUBSTITUTE fallið í stað 3. tilviks striks ("-") fyrir CHAR( 1), sem er óprentanlegur „Start of Heading“ stafurinn í ASCII kerfinu. Í stað CHAR(1) geturðu notað hvaða annan óprentanlegan staf sem er frá 1 til 31. Og þá, FIND aðgerðin skilar staðsetningu þess tákns í textastrengnum. Svo, almenna formúlan er sem hér segir:

    FINN(CHAR(1),SUBSTITUTE( hólf , stafur ,CHAR(1), Nunda tilvik ))

    Við fyrstu sýn kann að virðast að ofangreindar formúlur hafi lítið hagnýtt gildi, en næsta dæmi mun sýna hversu gagnlegar þær eru til að leysa raunveruleg verkefni.

    Athugið. Vinsamlegast mundu að Excel FINDfall er há- og hástöfum. Í dæminu okkar skiptir þetta engu máli, en ef þú ert að vinna með stafi og þú vilt hástafaónæmir samsvörun, notaðu SEARCH aðgerðina í stað FIND.

    Dæmi 3. Dragðu út N stafi á eftir ákveðnum staf

    Til að finna undirstreng af ákveðinni lengd innan hvaða textastrengs sem er, notaðu Excel FIND eða Excel SEARCH ásamt MID aðgerðinni. Eftirfarandi dæmi sýnir hvernig þú getur notað slíkar formúlur í reynd.

    Í listanum okkar yfir SKU, að því gefnu að þú viljir finna fyrstu 3 stafina á eftir fyrsta strikinu og draga þá í annan dálk.

    Ef hópurinn af stöfum á undan fyrsta striki inniheldur alltaf sama fjölda atriða (t.d. 2 stafir) væri þetta léttvægt verkefni. Þú gætir notað MID aðgerðina til að skila 3 stöfum úr streng, byrjað á stöðu 4 (sleppt fyrstu 2 stöfunum og striki):

    =MID(A2, 4, 3)

    Þýtt á ensku segir formúlan: "Líttu í reit A2, byrjaðu að draga úr staf 4 og skilaðu 3 stöfum".

    Hins vegar, í raunverulegum vinnublöðum, gæti undirstrengurinn sem þú þarft að draga út byrjað hvar sem er. innan textastrengsins. Í dæminu okkar veistu kannski ekki hversu margir stafir koma á undan fyrsta striki. Til að takast á við þessa áskorun, notaðu FIND aðgerðina til að ákvarða upphafspunkt undirstrengsins sem þú vilt sækja.

    FINN uppskriftin til að skilastaðsetning 1. striksins er sem hér segir:

    =FIND("-",A2)

    Vegna þess að þú vilt byrja á stafnum sem kemur á eftir strikinu, bætið 1 við skilað gildi og fellir ofangreinda fall inn í seinni frumbreytuna (byrjun_tal) MID fallsins:

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

    Í þessari atburðarás virkar Excel SEARCH fallið jafn vel:

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

    Það er frábært, en hvað ef táknahópurinn á eftir fyrsta strikinu inniheldur mismunandi fjölda stafa? Hmm... þetta gæti verið vandamál:

    Eins og þú sérð á skjáskotinu hér að ofan virkar formúlan fullkomlega fyrir línur 1 og 2. Í röðum 4 og 5, annar hópur inniheldur 4 stafi, en aðeins fyrstu 3 stöfunum er skilað. Í línum 6 og 7 eru aðeins 2 stafir í öðrum hópnum og því skilar Excel leitarformúlunni okkar striki á eftir þeim.

    Ef þú vildir skila öllum stöfum á milli 1. og 2. tilviks af ákveðnum staf (strik í þessu dæmi), hvernig myndir þú halda áfram? Hér er svarið:

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

    Til að fá betri skilning á þessari MID formúlu skulum við skoða rök hennar eitt í einu:

    • 1. rök (texti). Það er textastrengurinn sem inniheldur stafina sem þú vilt draga út, reit A2 í þessu dæmi.
    • 2nd argument (start_position). Tilgreinir staðsetningu fyrsta stafsins sem þú vilt draga út. Þú notar FIND aðgerðina til að finna fyrsta strikið í strengnum og bætir 1 viðþað gildi vegna þess að þú vilt byrja á stafnum sem kemur á eftir strikinu: FIND("-",A2)+1.
    • 3rd argument (num_chars). Tilgreinir fjölda stafa sem þú vilt skila. Í formúlunni okkar er þetta erfiðasti hlutinn. Þú notar tvær FIND (eða SEARCH) föll, önnur ákvarðar staðsetningu fyrsta striksins: FIND("-",A2). Og hitt skilar stöðu annars striksins: FINN("-", A2, FINN("-",A2)+1). Svo dregurðu það fyrra frá því síðara og dregur svo 1 frá því þú vilt ekki taka með hvorugt strikið. Fyrir vikið færðu fjölda stafa á milli 1. og 2. strika, sem er nákvæmlega það sem við erum að leita að. Þannig að þú færir þetta gildi í num_chars rökseminni MID fallsins.

    Á svipaðan hátt geturðu skilað 3 stöfum á eftir 2. striki:

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

    Eða, dragðu út alla stafina á milli 2. og 3. strika:

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

    Dæmi 4. Finndu texta á milli sviga

    Segjum sem svo að þú sért með langan textastreng í dálki A og viljir finna og draga aðeins út textann innan (sviga).

    Til að gera þetta þarftu MID aðgerðina til að skila tilætluðum fjölda stafa frá streng, og annaðhvort Excel FIND eða SEARCH aðgerð til að ákvarða hvar á að byrja og hversu marga stafi á að draga út.

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

    Rökfræði þessarar formúlu er svipuð þeim sem við ræddum hér á undan. dæmi. Og

    Michael Brown er hollur tækniáhugamaður með ástríðu fyrir því að einfalda flókna ferla með hugbúnaðarverkfærum. Með meira en áratug af reynslu í tækniiðnaðinum hefur hann aukið færni sína í Microsoft Excel og Outlook, sem og Google Sheets og Docs. Blogg Michael er tileinkað því að deila þekkingu sinni og sérfræðiþekkingu með öðrum, veita auðveld ráð og leiðbeiningar til að bæta framleiðni og skilvirkni. Hvort sem þú ert vanur fagmaður eða byrjandi, þá býður blogg Michaels upp á dýrmæta innsýn og hagnýt ráð til að fá sem mest út úr þessum nauðsynlegu hugbúnaðarverkfærum.