30 Excel-funktioner på 30 dagar: SÖK

Igår på maraton 30 Excel-funktioner på 30 dagar vi kände igen typerna av fel med funktionen FEL.TYP (FELTYP) och såg till att det kan vara mycket användbart för att rätta fel i Excel.

På maratondagens 18:e dag kommer vi att ägna oss åt studiet av funktionen SÖK (SÖK). Den letar efter ett tecken (eller tecken) i en textsträng och rapporterar var det hittades. Vi kommer också att titta på hur man hanterar situationer där den här funktionen ger upphov till ett fel.

Så låt oss ta en närmare titt på teorin och praktiska exempel på funktionen SÖK (SÖK). Om du har några knep eller exempel på att arbeta med den här funktionen, vänligen dela dem i kommentarerna.

Funktion 18: SÖK

Funktion SÖK (SÖK) söker efter en textsträng i en annan textsträng och rapporterar dess position om den hittas.

Hur kan jag använda SÖK-funktionen?

Funktion SÖK (SÖK) söker efter en textsträng i en annan textsträng. Hon kan:

  • Hitta en textsträng inuti en annan textsträng (okänslig för skiftlägen).
  • Använd jokertecken i din sökning.
  • Bestäm startpositionen i den visade texten.

SÖK Syntax

Funktion SÖK (SÖK) har följande syntax:

SEARCH(find_text,within_text,[start_num])

ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])

  • hitta_text (search_text) är texten du letar efter.
  • inom_text (text_for_search) – en textsträng inom vilken sökningen utförs.
  • startnummer (start_position) – om inte specificerat, kommer sökningen att börja från det första tecknet.

Fällor SEARCH (SEARCH)

Funktion SÖK (SÖK) kommer att returnera positionen för den första matchande strängen, skiftlägesokänslig. Om du behöver en skiftlägeskänslig sökning kan du använda funktionen HITTA (HITTA), som vi kommer att möta senare under maraton 30 Excel-funktioner på 30 dagar.

Exempel 1: Hitta text i en sträng

Använd funktionen SÖK (SÖK) för att hitta text i en textsträng. I det här exemplet kommer vi att leta efter ett enda tecken (skrivet i cell B5) i textsträngen som finns i cell B2.

=SEARCH(B5,B2)

=ПОИСК(B5;B2)

Om texten hittas, funktionen SÖK (SÖK) returnerar positionsnumret för dess första tecken i textsträngen. Om den inte hittas kommer resultatet att bli ett felmeddelande #VÄRDE! (#SÅ).

Om resultatet är ett fel kan du använda funktionen FEL (IFERROR) så att istället för att utföra funktionen SÖK (SÖK) visar motsvarande meddelande. Fungera FEL (IFERROR) introducerades i Excel från och med version 2007. I tidigare versioner kunde samma resultat erhållas med hjälp av IF (IF) tillsammans med FEL (EOSHIBKA).

=IFERROR(SEARCH(B5,B2),"Not Found")

=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")

Exempel 2: Använda jokertecken med SÖK

Ett annat sätt att kontrollera resultatet returnerade SÖK (SÖK), för ett fel – använd funktionen ISNUMBER (ISNUMBER). Om strängen hittas, resultatet SÖK (SÖK) kommer att vara ett tal, vilket betyder en funktion ISNUMBER (ISNUMBER) returnerar TRUE. Om texten inte hittas, då SÖK (SÖK) kommer att rapportera ett fel, och ISNUMBER (ISNUMBER) returnerar FALSE.

I argumentets värde hitta_text (search_text) kan du använda jokertecken. Symbol * (asterisk) ersätter valfritt antal tecken eller inga, och ? (frågetecken) ersätter varje enskilt tecken.

I vårt exempel används jokertecken *, så fraserna CENTRAL, CENTER och CENTER kommer att hittas i gatunamn.

=ISNUMBER(SEARCH($E$2,B3))

=ЕЧИСЛО(ПОИСК($E$2;B3))

Exempel 3: Bestämma startpositionen för SÖK (SÖK)

Om vi ​​skriver två minustecken (dubbel negation) framför funktionen ISNUMBER (ISNUMBER), kommer det att returnera värdena 1/0 istället för TRUE/FALSE (TRUE/FALSE). Nästa, funktionen SUMMA (SUM) i cell E2 kommer att räkna det totala antalet poster där söktexten hittades.

I följande exempel visar kolumn B:

Stadsnamn | Yrke

Vår uppgift är att hitta yrken som innehåller textsträngen som anges i cell E1. Formeln i cell C2 skulle vara:

=--ISNUMBER(SEARCH($E$1,B2))

=--ЕЧИСЛО(ПОИСК($E$1;B2))

Denna formel hittade rader som innehåller ordet "bank", men i en av dem finns detta ord inte i yrkets namn, utan i stadens namn. Det här passar oss inte!

Varje stadsnamn följs av en symbol | (vertikal stapel), så vi använder funktionen SÖK (SÖK), vi kan hitta positionen för denna karaktär. Dess position kan anges som värdet på argumentet startnummer (start_position) i "huvud"-funktionen SÖK (SÖK). Som ett resultat kommer stadsnamn att ignoreras av sökningen.

Nu kommer den testade och korrigerade formeln bara att räkna de rader som innehåller ordet "bank" i yrkets namn:

=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))

=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))

Kommentera uppropet