I den här artikeln beskrivs formelsyntaxen för och användningen av funktionerna SÖK och SÖKB i Microsoft Excel.
Beskrivning
Funktionerna SÖK och SÖKB söker efter en textsträng i en andra textsträng och returnerar numret på startpositionen för den första textsträngen från det första tecknet i den andra textsträngen. Om du till exempel vill hitta positionen för bokstaven "n" i ordet "skrivare" kan du använda följande funktion:
=SÖK("i";"skrivare")
Den här funktionen returnerar 4 eftersom "i" är det fjärde tecknet i ordet "skrivare".
Du kan också söka efter ord i andra ord. Funktionen
=SÖK("bas";"databas")
returnerar exempelvis 5, eftersom ordet "bas" börjar vid det femte tecknet i ordet "databas". Du kan använda funktionerna SÖK och SÖKB för att identifiera placeringen av ett tecken eller en textsträng i en annan textsträng och sedan använda funktionerna EXTEXT och EXTEXTB för att returnera texten, eller använda funktionerna ERSÄTT och ERSÄTTB för att ändra texten. De här funktionerna demonstreras i Exempel 1 i den här artikeln.
Viktigt!:
-
Dessa funktioner är eventuellt inte tillgängliga på alla språk.
-
SÖKB räknar 2 byte per tecken endast när ett DBCS-språk är angivet som standardspråk. Annars beter sig SÖKB på samma sätt som SÖK, och räknar 1 byte per tecken.
Exempel på språk som stöder DBCS är japanska, förenklad kinesiska, traditionell kinesiska och koreanska.
Syntax
=SÖK(sök;inom;[startpos])
SÖKB(sök;inom;[startpos])
Syntaxen för funktionerna SÖK och SÖKB har följande argument:
-
sök Obligatoriskt. Den text som du vill hitta.
-
inom Obligatoriskt. Den text inom vilken du vill söka efter värdet på argumentet sök.
-
startpos Valfritt. Den teckenposition i argumentet inom som du vill starta sökningen vid.
Kommentar
-
Funktionerna SÖK och SÖKB är inte skiftlägeskänsliga. Om du vill göra en skiftlägeskänslig sökning kan du använda HITTA och HITTAB.
-
Du kan använda jokertecken – frågetecken (?) och asterisk (*) – i argumentet sök. Ett frågetecken representerar ett obestämt enskilt tecken och en asterisk representerar en obestämd teckenföljd. Om du vill söka efter ett verkligt frågetecken eller en verklig asterisk anger du ett tildetecken (~) före tecknet.
-
Om värdet för find_text inte hittas #VALUE! .
-
Om du utelämnar startpos antas det vara 1.
-
Om start_num inte är större än 0 (noll) eller är större än längden på argumentet within_text #VALUE! .
-
Du kan använda startpos för att hoppa över ett visst antal tecken. Anta att du arbetar med textsträngen ”KFU0093.KläderFörUngaMän” i funktionen SÖK. Om du vill bestämma positionen för den första förekomsten av ”K” i den beskrivande delen av textsträngen, anger du värdet 8 för startpos så att den del av texten som innehåller serienumret (i det här fallet ”KFU0093") inte genomsöks. Funktionen SÖK påbörjar sökningen åtgärden vid den åttonde teckenpositionen, hittar tecknet som anges i argumentet sök vid nästa position och returnerar talet 9. Funktionen SÖK returnerar alltid antalet tecken från början av argumentet inom och räknar de tecken som du hoppar över om argumentet startpos är större än 1.
Exempel
Kopiera exempeldata i följande tabell och klistra in dem i cell A1 i ett nytt Excel-kalkylblad. När du vill att formlerna ska visa resultat markerar du dem, trycker på F2 och sedan på Retur. Om det behövs kan du justera kolumnbredderna så att alla data visas.
Data |
||
---|---|---|
Bankkontoutdrag |
||
Vinstmarginal |
||
marginal |
||
Nu är "chefen" är här. |
||
Formel |
Beskrivning |
Resultat |
=SÖK("o";A2;8) |
Positionen för det första "o:et" i strängen i cell A2, med början vid den åttonde positionen |
7 |
=SÖK(A4;A3) |
Positionen för "marginal" (strängen som ska sökas efter är cell A4) i "Vinstmarginal" (cellen som ska sökas i är A3). |
8 |
=ERSÄTT(A3;SÖK(A4;A3);8;"belopp") |
Ersätter "marginal" med "belopp" genom att först söka efter positionen för "marginal" i cell A3 och sedan ersätta det tecknet och följande sju tecknen med strängen "belopp". |
Vinstbelopp |
=EXTEXT(A3;SÖK("t";A3)+1;4) |
Returnerar de första fyra tecken som följer efter det första "t" i "Vinstmarginal" (cell A3). |
Marg |
=SÖK("""";A5) |
Positionen för det första dubbla citattecknet (") i cell A5. |
5 |
=EXTEXT(A5;SÖK("""";A5)+1;SÖK("""";A5;SÖK("""";A5)+1)-SÖK("""";A5)-1) |
Returnerar endast texten inom dubbla citattecken i cell A5. |
chefen |