Excel FINN- og SØK-funksjoner med formeleksempler

  • Dele Denne
Michael Brown

Opplæringen forklarer syntaksen til Excel FINN- og SØK-funksjonene og gir formeleksempler på avanserte ikke-trivielle bruksområder.

I den siste artikkelen dekket vi det grunnleggende om Excel. Finn og erstatt dialogboksen. I mange situasjoner vil du kanskje at Excel skal finne og trekke ut data fra andre celler automatisk basert på dine kriterier. Så, la oss se nærmere på hva Excel-søkefunksjonene har å tilby.

    Excel FINN-funksjon

    FINN-funksjonen i Excel brukes til å returnere posisjonen til et spesifikt tegn eller en delstreng i en tekststreng.

    Syntaksen til Excel Finn-funksjonen er som følger:

    FINN(finn_tekst, innenfor_tekst, [startnummer])

    De første 2 argumentene kreves, den siste er valgfri.

    • Finn_tekst - tegnet eller delstrengen du vil finne.
    • Innenfor_tekst - tekststrengen til bli søkt innenfor. Vanligvis leveres den som en cellereferanse, men du kan også skrive inn strengen direkte i formelen.
    • Startnummer - et valgfritt argument som spesifiserer fra hvilket tegn søket skal begynne. Hvis det utelates, starter søket fra det første tegnet i innenfor_tekst-strengen.

    Hvis FINN-funksjonen ikke finner finntekst-tegnet(-ene), vises en #VERDI! feil returneres.

    For eksempel returnerer formelen =FIND("d", "find") 4 fordi "d" er den fjerde bokstaven i ordet " finn ". Formelen =FIND("a", "find") igjen, den mest komplekse delen er det siste argumentet som forteller formelen hvor mange tegn som skal returneres. Det ganske lange uttrykket i num_chars-argumentet gjør følgende:

    • Først finner du posisjonen til den avsluttende parentesen: SEARCH(")",A2)
    • Deretter finner du posisjonen til åpningsparentesen: SEARCH("(",A2)
    • Og så regner du ut forskjellen mellom posisjonene til slutt- og åpningsparentesene og trekker 1 fra det tallet, fordi du ikke vil ha noen av parentesene i resultatet: SEARCH(")",A2)-SEARCH("(",A2))-1

    Naturligvis er det ingenting som hindrer deg i å bruke Excel FINN-funksjonen i stedet for SØK, fordi store og små bokstaver eller ufølsomhet ikke gjør noen forskjell i dette eksemplet.

    Forhåpentligvis er dette opplæringen har kastet litt lys over hvordan du bruker SØK- og FINN-funksjonene i Excel. I den neste opplæringen skal vi undersøke ERSTATT-funksjonen nøye, så følg med. Takk for at du leste!

    Last ned øvelsesarbeidsbok

    FINN og SØK formeleksempler

    returnerer en feil fordi det ikke er noen "a" i " finn".

    Excel FINN-funksjon - ting å huske!

    For å bruke en FINN-formel riktig i Excel, husk følgende enkle fakta:

    1. FINN-funksjonen er skiller mellom store og små bokstaver . Hvis du ser etter et samsvar som ikke skiller mellom store og små bokstaver, bruk SEARCH-funksjonen.
    2. FINN-funksjonen i Excel tillater ikke bruk av jokertegn .
    3. Hvis argumentet finn_tekst inneholder flere tegn, returnerer FINN-funksjonen posisjonen til første tegn . Formelen FINN("ap","glad") returnerer for eksempel 2 fordi "a" i den andre bokstaven i ordet "glad".
    4. Hvis innenfor_tekst inneholder flere forekomster av finn_tekst, returneres den første forekomsten. FINN("l", "hei") returnerer for eksempel 3, som er posisjonen til det første "l"-tegnet i ordet "hei".
    5. Hvis finn_tekst er en tom streng "", Excel FINN-formelen returnerer det første tegnet i søkestrengen.
    6. Excel FINN-funksjonen returnerer #VERDI! feil hvis noe av følgende oppstår:
      • Finn_tekst finnes ikke i innenfor_tekst.
      • Startnummer inneholder flere tegn enn innenfor_tekst.
      • Startnummer er 0 (null) eller et negativt tall.

    Excel SEARCH-funksjon

    SEARCH-funksjonen i Excel er veldig lik FINN ved at den også returnerer plasseringen til en delstreng i en tekststreng. Er syntaks og argumenter beslektet med FIND:

    SEARCH(finn_tekst, innenfor_tekst, [startnummer])

    I motsetning til FINN er SEARCH-funksjonen uavhengig av store og små bokstaver og tillater bruk av jokertegn , som vist i følgende eksempel.

    Og her er et par grunnleggende Excel SEARCH-formler:

    =SEARCH("market", "supermarket") returnerer 6 fordi delstrengen "marked" begynner med det sjette tegnet i ordet "supermarked" .

    =SEARCH("e", "Excel") returnerer 1 fordi "e" er det første tegnet i ordet "Excel", og ignorerer store og små bokstaver.

    I likhet med FINN, returnerer Excels SEARCH-funksjon #VALUE! feil hvis:

    • Verdien av argumentet finn_tekst ble ikke funnet.
    • Argumentet startnummer er større enn lengden på innenfor_tekst.
    • Startnummer er lik eller mindre enn null.

    Videre i denne opplæringen finner du noen mer meningsfulle formeleksempler som viser hvordan du bruker SØK-funksjonen i Excel-regneark.

    Excel FINN vs. Excel SØK

    Som allerede nevnt, er FINN- og SØK-funksjonene i Excel veldig like når det gjelder syntaks og bruksområder. Imidlertid har de et par forskjeller.

    Den viktigste forskjellen mellom SEARCH- og FIND-funksjonene i Excel er at SEARCH skiller mellom store og små bokstaver, mens FIND skiller mellom store og små bokstaver.

    For eksempel , SEARCH("e", "Excel") returnerer 1 fordi den ignorerertilfellet med "E", mens FINN("e", "Excel") returnerer 4 fordi det passer på tilfellet.

    2. Søk med jokertegn

    I motsetning til FIND godtar Excel SEARCH-funksjonen jokertegn i argumentet find_text:

    • Et spørsmålstegn (?) samsvarer med ett tegn, og
    • En stjerne (*) samsvarer med en hvilken som helst serie med tegn.

    For å se hvordan det fungerer på ekte data, tenk på følgende eksempel:

    Som du ser på skjermbildet ovenfor, returnerer formelen SEARCH("funksjon*2013", A2) posisjonen til det første tegnet ("f") i delstrengen hvis tekststrengen det refereres til i argumentet innenfor_tekst inneholder både "funksjon" og "2013", uansett hvor mange andre karakterer det er i mellom.

    Tips. For å finne et faktisk spørsmålstegn (?) eller stjerne (*), skriv inn en tilde (~) før det tilsvarende tegnet.

    Excel FINN- og SEARCH-formeleksempler

    I praksis brukes Excel-funksjonene FINN og SEARCH sjelden alene. Vanligvis vil du bruke dem i kombinasjon med andre funksjoner som MID, VENSTRE eller HØYRE, og følgende formeleksempler viser noen virkelige bruksområder.

    Eksempel 1. Finn en streng foran eller etter et gitt tegn

    Dette eksemplet viser hvordan du kan finne og trekke ut alle tegn i en tekststreng til venstre eller høyre for et spesifikt tegn. For å gjøre ting lettere å forstå, vurderfølgende eksempel.

    Forutsatt at du har en kolonne med navn (kolonne A) og du vil trekke fornavn og etternavn inn i separate kolonner.

    For å få fornavnet kan du bruke FINN (eller SØK) sammen med VENSTRE-funksjonen:

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

    eller

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

    Som du sikkert vet, returnerer Excel VENSTRE-funksjonen spesifisert antall tegn lengst til venstre i en streng. Og du bruker FINN-funksjonen til å bestemme posisjonen til et mellomrom (" ") for å la VENSTRE-funksjonen vite hvor mange tegn som skal trekkes ut. Da trekker du 1 fra mellomrommets posisjon fordi du ikke vil at den returnerte verdien skal inkludere mellomrommet.

    For å trekke ut etternavnet, bruk kombinasjonen av funksjonene HØYRE, FINN / SØK og LENGER. LEN-funksjonen er nødvendig for å få det totale antallet tegn i strengen, som du trekker posisjonen til mellomrommet fra:

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

    eller

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

    Følgende skjermbilde viser resultatet:

    For mer komplekse scenarier, som å trekke ut et mellomnavn eller dele navn med suffikser, se Hvordan dele celler i Excel ved hjelp av formler.

    Eksempel 2. Finn N-te forekomst av et gitt tegn i en tekststreng

    Forutsatt at du har noen tekststrenger i kolonne A, si en liste over SKUer, og du vil finne posisjonen til 2. bindestrek i en streng. Følgende formel fungerer som en godbit:

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

    De to førsteargumenter er enkle å tolke: finn en bindestrek ("-") i celle A2. I det tredje argumentet (start_num) bygger du inn en annen FINN-funksjon som forteller Excel om å begynne å søke og begynner med tegnet som kommer rett etter den første forekomsten av bindestrek (FIND("-",A2)+1).

    For å returnere posisjonen til tredje forekomst , bygger du inn formelen ovenfor i start_num-argumentet til en annen FINN-funksjon og legger til 2 til den returnerte verdien:

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

    En annen og sannsynligvis enklere måte å finne den N-te forekomsten av et gitt tegn på er å bruke Excel FIND-funksjonen i kombinasjon med CHAR og ERSTATTNING:

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

    Hvor "-" er det aktuelle tegnet og "3" er den N-te forekomsten du vil finne.

    I formelen ovenfor erstatter ERSTATT-funksjonen den tredje forekomsten av bindestrek ("-") med CHAR( 1), som er det uutskrivbare "Start of Heading"-tegnet i ASCII-systemet. I stedet for CHAR(1) kan du bruke et hvilket som helst annet uskrivbart tegn fra 1 til 31. Og deretter returnerer FINN-funksjonen plasseringen til det tegnet i tekststrengen. Så den generelle formelen er som følger:

    FINN(CHAR(1),SUBSTITUTE( celle , tegn ,CHAR(1), Nte forekomst ))

    Ved første øyekast kan det virke som om formlene ovenfor har liten praktisk verdi, men neste eksempel vil vise hvor nyttige de er for å løse reelle oppgaver.

    Merk. Husk at Excel FINDfunksjonen skiller mellom store og små bokstaver. I vårt eksempel gjør dette ingen forskjell, men hvis du jobber med bokstaver og du vil ha en uavhengig av små og store bokstaver samsvar, bruk SØK-funksjonen i stedet for FINN.

    Eksempel 3. Trekk ut N tegn etter et bestemt tegn

    For å finne en delstreng med en gitt lengde innenfor en tekststreng, bruk Excel FIND eller Excel SEARCH i kombinasjon med MID-funksjonen. Følgende eksempel viser hvordan du kan bruke slike formler i praksis.

    I vår liste over SKU-er, anta at du vil finne de tre første tegnene etter den første bindestreken og trekke dem i en annen kolonne.

    Hvis gruppen med tegn foran den første bindestreken alltid inneholder samme antall elementer (f.eks. 2 tegn), ville dette være en triviell oppgave. Du kan bruke MID-funksjonen til å returnere 3 tegn fra en streng, med start på posisjon 4 (hoppe over de to første tegnene og en bindestrek):

    =MID(A2, 4, 3)

    Oversatt til engelsk, sier formelen: "Se i celle A2, begynn å trekke ut fra tegn 4, og returner 3 tegn".

    I virkelige regneark kan imidlertid delstrengen du trenger å trekke ut, starte hvor som helst innenfor tekststrengen. I vårt eksempel vet du kanskje ikke hvor mange tegn som kommer foran den første bindestreken. For å takle denne utfordringen, bruk FINN-funksjonen til å bestemme startpunktet for delstrengen du vil hente.

    FINN-formelen for å returnereposisjonen til den første bindestreken er som følger:

    =FIND("-",A2)

    Fordi du vil starte med tegnet som følger bindestreken, legger du til 1 til den returnerte verdien og legger inn funksjonen ovenfor i det andre argumentet (startnummer) til MID-funksjonen:

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

    I dette scenariet fungerer Excel SEARCH-funksjonen like bra:

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

    Det er flott, men hva om gruppen med tegn etter den første bindestreken inneholder et annet antall tegn? Hmm... dette kan være et problem:

    Som du ser i skjermbildet ovenfor, fungerer formelen perfekt for rad 1 og 2. I rad 4 og 5, den andre gruppen inneholder 4 tegn, men bare de første 3 tegnene returneres. I rad 6 og 7 er det bare 2 tegn i den andre gruppen, og derfor returnerer vår Excel-søkeformel en bindestrek etter dem.

    Hvis du ville returnere alle tegn mellom første og andre forekomst av en bestemt karakter (bindestrek i dette eksemplet), hvordan ville du gå frem? Her er svaret:

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

    For bedre forståelse av denne MID-formelen, la oss undersøke argumentene én etter én:

    • 1. argument (tekst). Det er tekststrengen som inneholder tegnene du vil trekke ut, celle A2 i dette eksemplet.
    • 2nd argument (start_position). Angir plasseringen til det første tegnet du vil trekke ut. Du bruker FINN-funksjonen for å finne den første bindestreken i strengen og legge til 1 tildenne verdien fordi du vil starte med tegnet som følger etter bindestreken: FIND("-",A2)+1.
    • tredje argument (antall_tegn). Angir antall tegn du vil returnere. I formelen vår er dette den vanskeligste delen. Du bruker to FINN (eller SØK) funksjoner, den ene bestemmer plasseringen av den første streken: FINN("-",A2). Og den andre returnerer posisjonen til den andre streken: FINN("-", A2, FINN("-",A2)+1). Deretter trekker du førstnevnte fra sistnevnte, og trekker deretter 1 fordi du ikke vil inkludere noen av bindestrekene. Som et resultat vil du få antall tegn mellom 1. og 2. bindestrek, som er akkurat det vi ser etter. Så du mater den verdien til num_chars-argumentet til MID-funksjonen.

    På lignende måte kan du returnere 3 tegn etter den andre streken:

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

    Eller trekk ut alle tegnene mellom 2. og 3. bindestrek:

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

    Eksempel 4. Finn tekst mellom parentes

    Anta at du har en lang tekststreng i kolonne A og du vil finne og trekke ut bare teksten som er omsluttet av (parenteser).

    For å gjøre dette, trenger du MID-funksjonen for å returnere ønsket antall tegn fra en streng, og enten Excel FIND- eller SEARCH-funksjonen for å bestemme hvor du skal starte og hvor mange tegn som skal trekkes ut.

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

    Logikken i denne formelen ligner på de vi diskuterte i forrige eksempel. Og

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.