I den här artikeln beskrivs formelsyntaxen för och användningen av SÖK-funktionen i Microsoft Excel.
Beskrivning
SÖK-funktionen söker efter en textsträng i en andra textsträng och returnerar numret på startpositionen för den första strängen från det första tecknet i den andra textsträngen. Använd till exempel följande funktion för att hitta positionen för bokstaven "n" i ordet "skrivare":
=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 SÖK för att fastställa placeringen av ett tecken eller en textsträng i en annan textsträng och sedan använda EXTEXT för att returnera texten eller använda ERSÄTT för att ändra texten. De här funktionerna demonstreras i Exempel 1 i den här artikeln.
Syntax
=SÖK(sök;inom;[startpos])
Funktionen SÖK har följande argument:
- find_text Obligatoriskt. Den text som du vill hitta.
- within_text Obligatoriskt. Den text där du vill söka efter värdet för det find_text argumentet.
- start_num Valfritt. Teckennumret i det within_text argumentet som du vill starta sökningen vid.
Kommentar
- SÖK-funktionen är inte skiftlägeskänslig. Om du vill göra en skiftlägeskänslig sökning kan du använda HITTA.
- Du kan använda jokertecken – frågetecken (?) och asterisk (*) – i det find_text argumentet. 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 frågetecken eller en asterisk skriver du tilde (~) före tecknet.
- Om värdet för find_text inte hittas är #VALUE! .
- Om det start_num argumentet utelämnas antas det vara 1.
- Om start_num inte är större än 0 (noll) eller är större än längden på det within_text argumentet, är #VALUE! .
- Använd start_num 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 "Y" i den beskrivande delen av textsträngen, anger du start_num lika med 8 så att den del av texten som innehåller serienumret (i det här fallet "AYF0093") inte genomsöks. Funktionen SÖK påbörjar sökningen åtgärden vid den åttonde teckenpositionen, hittar tecknet som anges i det find_text argumentet vid nästa position och returnerar talet 9. Funktionen SÖK returnerar alltid antalet tecken från början av det within_text argumentet, och räknar de tecken du hoppar över om det start_num argumentet ä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 |
Viktigt!
- Funktionen SÖKB är föråldrad.
- I arbetsböcker som är inställda på kompatibilitetsversion 2 har SÖK förbättrat beteendet för surrogatpar och räknat dem som ett tecken i stället för två. Variationsväljare (används ofta med emojier) räknas fortfarande som separata tecken. Läs mer här: Unicode-standarden