SØG Fx - Find understring i streng - Excel, VBA & G -ark

Download eksempel på projektmappe

Download eksemplet på projektmappe

Denne vejledning viser, hvordan du bruger Excel SEARCH -funktion i Excel for at lokalisere tekstens placering i en celle.

SØG Funktionsoversigt

SEARCH -funktionen finder et tegn eller en tekststreng og returnerer sin position i cellen. Ikke store og små bogstaver.

For at bruge funktionen SØG Excel -regneark skal du vælge en celle og skrive:

(Bemærk hvordan formelindgangene vises)

Søgefunktion Syntaks og input:

= SØG (find_tekst, inden_tekst, startnummer)

find_tekst - Den tekststreng, du ønsker at finde.

inden_tekst - Den originale tekststreng.

startnummer - VALGFRIT. Tegnnummeret, hvorfra søgningen skal startes. Bemærk: Dette ændrer kun søgeområdet, det påvirker ikke antallet, der returneres, når der findes et match. Eksempel: Søgning efter “s” i strengen “soler” returnerer 1 som standard, men hvis startnummeret er sat til 2, returneres det til 4.

Hvad er SØGEFunktionen?

Excel SEARCH -funktionen "søger" efter en tekststreng i en anden streng. Hvis teksten findes, returnerer SØG strengens numeriske position.

SØG er IKKE store og små bogstaver. Det betyder, at "tekst" matcher "TEKST". Hvis du vil søge efter tekst med store og små bogstaver, skal du bruge FIND-funktionen <> i stedet.

Sådan bruges SEARCH -funktionen

Excel SEARCH -funktionen fungerer på følgende måde:

= SØG ("e", "elefant")

Her vil Excel returnere 1, da "e" er det første tegn i "elefant".

Nedenfor er et par eksempler mere.

Startnummer (startnummer)

Eventuelt kan du definere et startnummer (startnummer). start_num fortæller SEARCH -funktionen, hvor søgningen skal startes. Hvis du lader det stå tomt, starter søgningen med det første tegn.

= SØG (B3, C3)

Lad os nu sætte startnummer til 2, hvilket betyder, at SØG vil begynde at se fra det andet tegn.

= SØG (B3, C3, D3)

I dette tilfælde returnerer SØG 3: positionen for det andet "e".

Vigtigt: start_num har ingen indvirkning på returværdien, SØG vil altid begynde at tælle med det første tegn.

Startnummer (startnummer) fejl

Hvis du bruger et startnummer, skal du sørge for, at det er et helt positivt tal, der er mindre end længden på den streng, du vil søge, ellers får du en fejl. Du får også en fejl, hvis du sender en tom celle som dit startnummer:

= SØG (B3, C3, D3)

Mislykkede søgninger Returner en #VÆRDI! Fejl

Hvis SØG ikke kan finde søgeværdien, returnerer Excel en #VÆRDI! fejl.

Etui-ufølsom søgning

Nedenstående eksempel viser, at SEARCH-funktionen ikke er store og små bogstaver. Vi søgte efter "abc", men SØG returnerede 1, fordi det matchede "ABC".

Søgning efter jokertegn

Du kan bruge jokertegn med SEARCH, som giver dig mulighed for at søge efter uspecificerede tegn.

Et spørgsmålstegn i din søgetekst betyder "ethvert tegn". Så "? 000" i eksemplet herunder betyder "Søg efter et tegn efterfulgt af tre nuller."

En stjerne betyder "et vilkårligt antal ukendte tegn". Her søger vi efter "1*C", og SØG returnerer 2, fordi det matcher det med "1-ABC".

I det næste eksempel søger vi efter "000?" - det vil sige “000” efterfulgt af enhver karakter. Vi har "000", men det er i slutningen af ​​strengen og følges derfor ikke af tegn, så vi får en fejl

Men hvis vi brugte en stjerne i stedet for et spørgsmålstegn - så “000*” i stedet for “000?”, Får vi et match. Dette skyldes, at stjernen betyder "et vilkårligt antal tegn" - inklusive ingen tegn.

Sådan splittes for- og efternavne fra en celle med SØG

Hvis du har for- og efternavne i den samme celle, og du vil give dem en celle hver, kan du bruge SØG til det - men du skal også bruge et par andre funktioner.

At få fornavnet

Funktionen LEFT Excel returnerer et bestemt antal tegn fra en streng, der starter fra venstre.

Hvis vi bruger SØG til at returnere placeringen af ​​mellemrummet mellem for- og efternavn, trække 1 fra det, ved vi, hvor langt fornavnet er. Så kan vi bare give det videre til VENSTRE.

Fornavnens formel er:

= VENSTRE (B3, SØG (““, B3) -1)

At få efternavnet

Funktionen HØJRE Excel returnerer et bestemt antal tegn fra højre på en streng.

For at få et antal tegn, der svarer til længden af ​​efternavnet, bruger vi SØG til at fortælle pladsens placering, og derefter trække dette tal fra strengens samlede længde - som vi kan få med LEN.

Efternavnens formel er:

= HØJRE (B3, LEN (B3) -SØG (““, B3))

Bemærk, at hvis dine navnedata indeholder mellemnavne, opdeles mellemnavnet i cellen "Efternavn".

Brug af SØG til at returnere det niende tegn i en streng

Som nævnt ovenfor returnerer SØG positionen for den første kamp, ​​den finder. Men ved at kombinere det med CHAR og SUBSTITUTE kan vi bruge det til at lokalisere senere forekomster af et tegn, f.eks. Den anden eller tredje forekomst.

Her er formlen:

= SØG (CHAR (134), SUBSTITUTE (D3, C3, CHAR (134), B3))

Det kan se lidt kompliceret ud i starten, så lad os bryde det ned:

  • Vi bruger SEARCH, og den streng, vi leder efter, er "CHAR (134)". CHAR returnerer et tegn baseret på dets ASCII -kode. CHAR (134) er et dolkesymbol - du kan bruge alt her, så længe det ikke vises i din egentlige streng.
  • SUBSTITUTE går gennem en streng og erstatter et tegn eller en delstreng med et andet. Her erstatter vi den streng, vi vil finde (som er i C3) med CHAR (134). Grunden til at dette virker er, at SUBSTITUTEs fjerde parameter er forekomstnummeret, som vi har gemt i B3.
  • Så SUBSTITUTE bytter det niende tegn i strengen for dolkesymbolet, og derefter returnerer SØG positionen af ​​det.

Sådan ser det ud:

Find den midterste sektion af en streng

Forestil dig, at du har mange serienumre med følgende format:

AB1XCDC-1BB/BB99

Du er blevet bedt om at trække den midterste sektion ud af hver enkelt. I stedet for at gøre dette i hånden kan du kombinere SEARCH med MID for at automatisere denne opgave.

MID Excel -funktionen returnerer en del af en streng. Dens input er en tekststreng, et startpunkt og et antal tegn.

Da det startpunkt, vi ønsker, er tegnet efter bindestreg, kan vi bruge SØG for at få bindestregens position og tilføje 1 til det. Hvis serienummeret var i B3, ville vi bruge:

= SØG ("-", B3) +1

For at få det antal tegn, vi ønsker at trække herfra, kan vi bruge søgning til at få placeringen af ​​fremad skråstregen, trække placeringen af ​​bindestreg og derefter trække 1, så sørg for, at vi ikke returnerer selve skråstregen:

= SØG ("/", B3) -SØG ("-", B3) -1

Derefter sætter vi simpelthen disse to formler i MID:

SØG Vs FIND

SEARCH og FIND er lignende funktioner. De returnerer begge placeringen af ​​et givet tegn eller en delstreng inden for en anden streng. Der er imidlertid to vigtige forskelle:

  • FIND er store og små bogstaver, men SØG er det ikke
  • FIND tillader ikke jokertegn, men SØG gør det

Du kan se et par eksempler på disse forskelle herunder:

SØG i Google Sheets

SEARCH -funktionen fungerer nøjagtig det samme i Google Sheets som i Excel:

Ekstra Noter

SEARCH-funktionen er en ikke-bogstavfølsom version af FIND-funktionen. SEARCH understøtter også jokertegn. Find gør ikke.

SØG Eksempler i VBA

Du kan også bruge SEARCH -funktionen i VBA. Type:
application.worksheetfunction.search (find_text, inside_text, start_num)
For funktionsargumenterne (find_tekst osv.) Kan du enten indtaste dem direkte i funktionen eller definere variabler, der skal bruges i stedet.

Tilbage til listen over alle funktioner i Excel

wave wave wave wave wave