Ladda ner exempelarbetsboken
Denna handledning visar hur du använder Excel SÖK -funktion i Excel för att hitta textens position i en cell.
SÖK Funktionsöversikt
SEARCH -funktionen hittar ett tecken eller en textsträng och returnerar sin position i cellen. Inte skiftlägeskänslig.
Om du vill använda funktionen SÖK Excel -kalkylblad väljer du en cell och skriver:
(Lägg märke till hur formelinmatningarna ser ut)
Sökfunktion Syntax och ingångar:
= SÖK (hitta_text, inom_text, startnummer)
hitta_text - Textsträngen som du vill hitta.
inom_text - Den ursprungliga textsträngen.
startnummer - VALFRITT. Teckennummer som sökningen ska startas från. Obs: Detta ändrar bara sökområdet, det påverkar inte antalet som returneras när en matchning hittas. Exempel: sökning efter "s" i strängen "suns" returnerar 1 som standard, men om start_numret är satt till 2 kommer det att returnera 4.
Vad är SEARCH -funktionen?
Excel SEARCH -funktionen "söker" efter en textsträng i en annan sträng. Om texten hittas returnerar SEARCH strängens numeriska läge.
SEARCH är INTE skiftlägeskänslig. Det betyder att "text" matchar "TEXT". För att söka efter text med skiftlägeskänslighet, använd istället FIND-funktionen <>.
Hur man använder SEARCH -funktionen
Excel SEARCH -funktionen fungerar på följande sätt:
= SÖK ("e", "elefant")
Här returnerar Excel 1, eftersom "e" är det första tecknet i "elefant".
Nedan följer några fler exempel.
Startnummer (startnummer)
Alternativt kan du definiera ett startnummer (startnummer). start_num berättar för SÖK -funktionen var sökningen ska startas. Om du lämnar det tomt börjar sökningen med det första tecknet.
= SÖK (B3, C3)
Låt oss nu sätta startnummer till 2, vilket betyder att SÖKNING börjar titta från det andra tecknet.
= SÖK (B3, C3, D3)
I det här fallet returnerar SEARCH 3: positionen för det andra ”e”.
Viktigt: start_num har ingen inverkan på returvärdet, SEARCH kommer alltid att börja räkna med det första tecknet.
Startnummer (startnummer) fel
Om du använder ett startnummer, se till att det är ett helt positivt tal som är mindre än längden på strängen du vill söka, annars får du ett fel. Du får också ett fel om du skickar en tom cell som startnummer:
= SÖK (B3, C3, D3)
Misslyckade sökningar Returnera ett #VÄRDE! Fel
Om SEARCH inte hittar sökvärdet returnerar Excel ett #VÄRDE! fel.
Sökningskänslig sökning
Exemplet nedan visar att SEARCH-funktionen är skiftlägeskänslig. Vi sökte efter "abc", men SÖK returnerade 1, eftersom det matchade "ABC".
Sökning med jokertecken
Du kan använda jokertecken med SEARCH, som gör att du kan söka efter ospecificerade tecken.
Ett frågetecken i din söktext betyder "valfritt tecken". Så "? 000" i exemplet nedan betyder "Sök efter ett tecken följt av tre nollor."
En asterisk betyder "valfritt antal okända tecken". Här söker vi efter "1*C" och SÖK returnerar 2 eftersom det matchar det med "1-ABC".
I nästa exempel söker vi efter "000?" - det vill säga “000” följt av vilken karaktär som helst. Vi har "000", men det är i slutet av strängen och följs därför inte av några tecken, så vi får ett fel
Men om vi använde en asterisk istället för ett frågetecken - så “000*” istället för “000?” Får vi en matchning. Detta beror på att asterisken betyder "valfritt antal tecken" - inklusive inga tecken.
Hur man delar upp för- och efternamn från en cell med SÖK
Om du har för- och efternamn i samma cell och du vill ge dem en cell var, kan du använda SÖK för det - men du måste också använda några andra funktioner.
Få förnamnet
Funktionen VÄNSTER Excel returnerar ett visst antal tecken från en sträng, från vänster.
Om vi använder SÖK för att återge platsen för mellanslag mellan för- och efternamn, subtrahera 1 från det, vi vet hur långt förnamnet är. Då kan vi bara skicka det till VÄNSTER.
Förnamnsformeln är:
= VÄNSTER (B3, SÖK (““, B3) -1)
Få efternamnet
Höger Excel -funktion returnerar ett visst antal tecken från höger om en sträng.
För att få ett antal tecken som är lika med längden på efternamnet, använder vi SÖK för att berätta platsen för utrymmet, sedan subtrahera det numret från strängens totala längd - som vi kan få med LEN.
Efternamnsformeln är:
= HÖGER (B3, LEN (B3) -SÖK (““, B3))
Observera att om din namndata innehåller mellannamn kommer mellannamnet att delas upp i cellen "Efternamn".
Använd SÖK för att returnera n: e tecknet i en sträng
Som nämnts ovan returnerar SEARCH positionen för den första matchningen den hittar. Men genom att kombinera det med CHAR och SUBSTITUTE kan vi använda det för att lokalisera senare förekomster av ett tecken, till exempel den andra eller tredje instansen.
Här är formeln:
= SÖK (CHAR (134), ERSÄTTARE (D3, C3, CHAR (134), B3))
Det kan se lite komplicerat ut först, så låt oss bryta ner det:
- Vi använder SEARCH, och strängen vi söker efter är "CHAR (134)". CHAR returnerar ett tecken baserat på dess ASCII -kod. CHAR (134) är en dolk symbol - du kan använda vad som helst här så länge det inte visas i din egentliga sträng.
- SUBSTITUTE går igenom en sträng och ersätter ett tecken eller en delsträng med ett annat. Här ersätter vi strängen vi vill hitta (som är i C3) med CHAR (134). Anledningen till att detta fungerar är att SUBSTITUTE: s fjärde parameter är förekomstnumret som vi har lagrat i B3.
- SUBSTITUT byter alltså det n: e tecknet i strängen mot dolk -symbolen och sedan returnerar SEARCH positionen för det.
Så här ser det ut:
Hitta den mellersta delen av en sträng
Tänk dig att du har många serienummer med följande format:
AB1XCDC-1BB/BB99
Du har blivit ombedd att dra ut mitten av varje. I stället för att göra detta för hand kan du kombinera SEARCH med MID för att automatisera denna uppgift.
MID Excel -funktionen returnerar en del av en sträng. Dess inmatningar är en textsträng, en startpunkt och ett antal tecken.
Eftersom startpunkten vi vill ha är tecknet efter bindestrecket kan vi använda SÖK för att få bindestreckets position och lägga till 1 till det. Om serienumret fanns i B3 skulle vi använda:
= SÖK ("-", B3) +1
För att få det antal tecken vi vill dra ut härifrån kan vi använda sökning för att få positionen för framåtstrecket, subtrahera positionen för bindestreck och sedan subtrahera 1 så se till att vi inte returnerar själva snedstrecket:
= SÖK ("/", B3) -SÖK ("-", B3) -1
Sedan kopplar vi helt enkelt dessa två formler till MID:
SÖK Vs FIND
SEARCH och FIND är liknande funktioner. De returnerar båda positionen för ett givet tecken eller en delsträng inom en annan sträng. Det finns dock två viktiga skillnader:
- HITTA är skiftlägeskänsligt men SEARCH är det inte
- FIND tillåter inte jokertecken, men SEARCH gör det
Du kan se några exempel på dessa skillnader nedan:
SÖK i Google Kalkylark
SEARCH -funktionen fungerar exakt samma sak i Google Kalkylark som i Excel:
Ytterligare anmärkningar
SEARCH-funktionen är en icke skiftlägeskänslig version av FIND-funktionen. SEARCH stöder också jokertecken. Hitta gör inte.
SÖK Exempel i VBA
Du kan också använda SEARCH -funktionen i VBA. Typ:application.worksheetfunction.search (hitta_text, inom_text, startnummer)
För funktionsargumenten (hitta_text, etc.) kan du antingen ange dem direkt i funktionen eller definiera variabler som ska användas istället.
Återgå till listan över alla funktioner i Excel