I den här artikeln beskrivs formelsyntaxen för och användningen av SÖK i Microsoft Excel.
Beskrivning
Sök-funktionen letar upp 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 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:
- Sök Krävs. Den text som du vill hitta.
- Inom Krävs. Den text där du vill söka efter värdet för argumentet find_text .
- Startpos Valfri. Teckennumret i det within_text argument som du vill börja söka efter.
Kommentar
- Funktionen SÖK ä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 argumentet find_text . 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 #VALUE! .
- Om argumentet start_num utelämnas 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! .
- Använd start_num för att hoppa över ett angivet antal tecken. Anta att du arbetar med textsträngen ”KFU0093.KläderFörUngaMän” i funktionen SÖK. Om du vill hitta positionen för den första "Y" i den beskrivande delen av textsträngen anger du start_num lika med 8 så att serienummerdelen av texten (i det här fallet "AYF0093") inte genomsöks. Sökfunktionen startar sökåtgärden vid den åttonde teckenpositionen, hittar det tecken som anges i argumentet find_text 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 inaktuell.
- I arbetsböcker som är inställda på Kompatibilitet version 2 har SÖK förbättrat beteendet med surrogatpar och räknat dem som ett tecken i stället för två. Variant Selectors (används ofta med emojis) räknas fortfarande som separata tecken. Läs mer här: Unicode-standarden