Note: The other languages of the website are Google-translated. Back to English

Hur hittar jag nionde förekomst (position) av ett tecken i textsträng i Excel?

Det finns till exempel en lång mening i Cell A1, se följande skärmdump. Och nu måste du hitta den tredje förekomsten eller positionen för tecken "c" från textsträngen i cell A3. Naturligtvis kan du räkna karaktärerna en efter en och få exakt positionsresultat. Men här ska vi introducera några enkla tips för att hitta den n: e förekomsten eller positionen för specifikt tecken från textsträng i en cell.


Hitta den n: a förekomsten (position) av en karaktär i en cell med formeln Sök

Det finns två sökformler som kan hjälpa dig att snabbt hitta den nionde förekomsten eller positionen för specifikt tecken från textsträng i celler.

Följande formel visar hur du hittar den tredje förekomsten av "c" i Cell A3.

Hitta Formel 1

Ange formeln i en tom cell = HITTA ("c", A1, HITTA ("c", A1) +2).

doc-find-nth-position-of-text-string2

Och tryck sedan på ange nyckel. Positionen för den tredje bokstaven “c” har visats.

Anmärkningar: Du kan ändra 2 i formeln baserat på dina behov. Om du till exempel vill hitta den fjärde positionen för "c" kan du ändra 2 till 3. Och om du vill hitta den första positionen för "c", ska du ändra 2 till 0.

Hitta formel 2

Ange formeln i en tom cell = HITTA (CHAR (1), SUBSTITUTE (A1, "c", CHAR (1), 3))och tryck på ange nyckel.

Anmärkningar: "3" i formeln betyder det tredje "c", du kan ändra det baserat på dina behov.


Räkna gånger visas ett ord i en excel-cell

Om ett ord visas flera gånger i en cell som behövde räknas, kan du vanligtvis räkna dem en efter en. Men om ordet dyker upp hundratals gånger är det manuellt att räkna. De Räkna gånger visas ett ord funktion i Kutools för Excel's Formel Helper grupp kan snabbt beräkna antalet gånger ett ord visas i en cell. Gratis provperiod med alla funktioner i 30 dagar!
 
Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsningar i 30 dagar.

> Hitta den nionde förekomsten (position) av en karaktär i en cell med VBA

Egentligen kan du tillämpa VB-makrot för att enkelt hitta nionde förekomst eller position av en specifik karaktär i en cell.

Steg 1: Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationer fönster.

Steg 2: Klicka Insert > Modulernaoch klistra in följande makro i modulfönstret.

VBA: Hitta den nionde positionen för en karaktär.

Function FindN(sFindWhat As String, _
sInputString As String, N As Integer) As Integer
Dim J As Integer
Application.Volatile
FindN = 0
For J = 1 To N
FindN = InStr(FindN + 1, sInputString, sFindWhat)
If FindN = 0 Then Exit For
Next
End Function

Steg 3: Om du nu vill hitta den exakta förekomsten av position för tredje "c" i Cell A1, ange formeln för = FindN ("c", A1,3), och tryck på ange nyckel. Då returnerar den exakta positionen i den specifika cellen på en gång.


Hitta den n: a förekomsten (position) av en karaktär i en cell med Kutools för Excel

Om du inte tycker om någon av formler och VBA kan du prova ett praktiskt verktyg - Kutools för Excel, med dess Formel grupper kan du hitta ett verktyg - Hitta den nionde förekomsten av en karaktär för att snabbt returnera den nionde positionen för ett tecken i en cell.

Kutools för Excel, med mer än 300 praktiska funktioner, gör dina jobb enklare. 

Efter gratis installation Kutools för Excel, gör så här:

1. Välj en cell som du vill returnera resultatet och klicka på Kutools > Formel Helper > Formel Helper . Se skärmdump:

2. Sedan i popping Formel Helper dialogruta, gör som nedan:

1) Välj Lookup från rullgardinsmenyn till Formel typ sektion;

2) Välj Hitta var karaktären visas Nth i en sträng in Välj en formel sektion;

3) Markera cellen som innehåller strängen du använder och skriv sedan in det angivna tecknet och den n: a förekomsten i textrutorna i Argumentinmatning sektion.

3. klick Ok. Och du får positionen som n: a förekomst av en karaktär i en sträng.

 


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten

 

Sortera kommentarer efter
Kommentarer (28)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hitta Formel 1 fungerar inte. Den tredje parametern i sökfunktionen är indexet där sökningen ska börja (som i: de första x tecknen i strängen ignoreras). dvs om en sträng innehåller bokstaven c vid index 1, 5 och 10 blir resultaten som följer: =FIND("c",A1,1) kommer att hitta den första c =FIND("c",A1,2) till = FIND("c",A1,5) kommer att hitta den andra c =FIND("c",A1,6) till och med =FIND("c",A1,10) kommer att hitta den tredje c. något ovan hittar inget.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för att du upptäckte detta misstag, jag är ledsen att formel1 är fel, den korrekta formeln borde vara = HITTA ("c", A1, HITTA ("c", A1) +2) ,och om du vill hitta den första bokstaven "c", behöver du bara ändra 2 till 0.
Denna kommentar minimerades av moderatoren på webbplatsen
Som DdW indikerar är '+2' eller '+0' eller vad-har-du en 'hårdkodad' teckenposition; du måste redan veta var "c" var för att hitta den. Formel 2 är dock perfekt: ERSÄTTA den n:e instansen av din målsträng mot ett unikt tecken som annars inte kommer att visas i resten av texten, och HITTA sedan det unika tecknet.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag kan hitta andra instans men vad sägs om 3:e, 4:e och 'n'th. Jag kan inte få 3:e instans (likväl som 4:e). Jag har data som innehåller 50 till 60 instanser. så vad skall jag göra?
Denna kommentar minimerades av moderatoren på webbplatsen
sanjeev, som jag sa för två år sedan, använd formel 2: =FIND(CHAR(1),SUBSTITUTE("LOOK_IN","LOOK_FOR",CHAR(1),INST_NUM)) Där LOOK_IN är strängen (eller cellen) du' åter söka i; LOOK_FOR är strängen du söker efter; och INST_NUM är heltalsinstansen av LOOK_FOR som du vill identifiera. Därför kommer =FIND(CHAR(1),SUBSTITUTE("HEJ VÄRLDEN","L",CHAR(1),3) att returnera 10 (positionen för det tredje "L").
Denna kommentar minimerades av moderatoren på webbplatsen
Bästa alla, Jag vill välja en partikelsträng från en cell Exempel:- Mitt namn är Mohit jag vill returnera vilket värde som helst Som mohit, är, Namn, Min med en funktion. finns det någon funktion eller inte
Denna kommentar minimerades av moderatoren på webbplatsen
Jag tror att det inte finns någon specifik funktion för det, eftersom Excel inte är byggt för att hantera värdelistor i en cell. Du kan bygga funktionen själv genom att kombinera funktionerna som nämns ovan med LEFT() och RIGHT(). Eller så kan du naturligtvis använda VBscripting.
Denna kommentar minimerades av moderatoren på webbplatsen
Efter lite lekande fick jag följande för att hitta den tredje instansen av X och returnera positionsnumret. =FIND("X",A1,(FIND("X",A1,FIND("X",A1,1)+1))+1) VBA-modulen får dock min röst. Mycket lättare att komma ihåg
Denna kommentar minimerades av moderatoren på webbplatsen
Visst, men du kan kapsla formler i parametern "instansnummer" på obestämd tid. Formel 2 undviker VBA, vilket gör den till den bästa allroundlösningen.
Denna kommentar minimerades av moderatoren på webbplatsen
Try this: =INDEX(SMALL(IF(MID(A1,MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),1)="c",MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),""),MATCH(ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),0)),2) där "c" är det tecken som krävs och 2 är positionen. Observera att detta är en matrisformel.
Denna kommentar minimerades av moderatoren på webbplatsen
this is simpler: =INDEX(SMALL(IF(MID(A1,ROW(INDIRECT(1&":"&LEN(A1))),1)="c",ROW(INDIRECT(1&":"&LEN(A1))),""),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c",""))))),2)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej alla, jag har en text i en Excel-cell "23 floyd lane, longville,KN 14564" Jag behöver en funktion för att extrahera bara "longville" Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Om du måste använda en funktion, försök: =TRIM(MID(A1,SÖK(",",A1)+1,SÖK("!@#",SUBSTITUTE(A1,",","!@#",2 ))-SÖK(",",A1)-1)) Annars kan du överväga Data > Text till kolumner > Avgränsad (med kommatecken som avgränsare).
Denna kommentar minimerades av moderatoren på webbplatsen
Formel 1 fungerar inte på fjärde, femte, sjätte etc. så (+3,4,5) kommer alltid att visa tredje positionen för bokstaven "c", vilket är 19 sekunders formeln fungerar dock.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej alla,
Jag har en text i en Excel-cell "BY TRANSFER-NEFT*HDHC0065431*N053112345624801*K0038331*krishna--"
Jag behöver en funktion för att extrahera bara "N053112345624801"
Denna kommentar minimerades av moderatoren på webbplatsen
Hej alla,

Jag har en text i en Excel-cell "BY TRANSFER-NEFT*HDFC0000001*N08745987123546*J0032331*KUMAR--"

Jag behöver en funktion för att extrahera bara "N08745987123546"

Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, vill du extrahera siffrorna efter No och antalet nummer är fasta? Om så är fallet kan du använda Kutools för Exccels Extrahera textfunktion, typ No???? för att extrahera.
Denna kommentar minimerades av moderatoren på webbplatsen
Den första formeln är helt värdelös och fel, men den fungerar helt rätt för det här exemplet eftersom det första och andra "c":et ligger intill. Den korrekta formeln är:


För andra förekomsten -
= HITTA ("c", A1, HITTA ("c", A1) +1)

För tredje gången -
=HITTA("c",A1,HITTA("c",A1,HITTA("c",A1)+1)+1) och så vidare...
Denna kommentar minimerades av moderatoren på webbplatsen
Formeln först fungerar korrekt i min version, i anteckningen har den förklarat hur man hittar det tredje eller fjärde eller n:te "c".

Obs: Du kan ändra 2:an i formeln baserat på dina behov. Till exempel, om du vill hitta den fjärde positionen för "c", kan du ändra 2 till 3. Och om du vill hitta den första positionen för "c", ska du ändra 2 till 0.
Denna kommentar minimerades av moderatoren på webbplatsen
Försök att ta reda på positionen för det andra c:et med den första meningen i min kommentar ovan som strängen med den första formeln. Du kommer att få veta hur korrekt det är!
Denna kommentar minimerades av moderatoren på webbplatsen
Håller absolut med. +2, eller +3 etc..... beror helt på avståndet mellan n och (n+1) förekomsterna av "c". Således skulle du behöva justera manuellt för varje cell om du till exempel försökte kopiera denna formel ner i en kolumn. I huvudsak samma sak som manuell räkning.


Ex. Låt oss försöka hitta den fjärde förekomsten av "c" i cell A4 med hjälp av den angivna formeln. Enligt artikeln ska vi använda +1 i vår kapslade FIND-funktion för att hitta den 3:e förekomsten.


Text i cell A1:

"cab car abc cole cube"

Manuell räkning är den 4:e förekomsten "c" i kole i teckenpositionen 13.


= HITTA ("c", A1, HITTA ("c", A1) +3)

Den kapslade funktionen, FIND("c",A1) kommer att hitta den första förekomsten av "c" i position 1.

Därför,

HITTA("c",A1)+3 = 1+3 = 4

Att koppla tillbaka det till vår formel,

=HITTA("c",A1,HITTA("c",A1)+3) = HITTA("c",A1,1+3) = HITTA("c",A1,4)

Denna nya formel kommer att leta efter den första förekomsten av "c" med början från teckenposition 4. Det 4:e tecknet i strängen är utrymmet strax efter cab.

Därför kommer formeln att hitta "c" i bil och returnera värdet 5 för vår formel. Som vi vet från manuell räkning letar vi efter 13 som utgång.
Denna kommentar minimerades av moderatoren på webbplatsen
"Substitute" låter dig hitta den N:e förekomsten av en term, så kombinera den med "hitta" enligt följande (där 5=5:e förekomsten):

= HITTA (CHAR (1), SUBSTITUTE (A1, "c", CHAR (1), 5))
Denna kommentar minimerades av moderatoren på webbplatsen
Detta är det korrekta svaret! snälla ersätt hela den här artikeln med denna kodrad.....
Denna kommentar minimerades av moderatoren på webbplatsen
Excellent! Jag är glad att jag rullade upp för att granska andra kommentarer efter att ha lagt upp mina egna.
Denna kommentar minimerades av moderatoren på webbplatsen
För att hantera undantaget från formeln kan du använda samma med if och iserro
=IF(ISERR(FIND("c",A1,FIND("c",A1)+2)),FIND("c",A1,FIND("c",A1)+0),FIND("c",A1,FIND("c",A1)+2))
Denna kommentar minimerades av moderatoren på webbplatsen
Hitta formel1 är ofullkomlig. Det kommer att vara till stor hjälp om det tas bort. Jag har förlorat mycket tid på att försöka hitta den fjärde förekomsten av "a" i "vedanarayanan" Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Din formel för att hitta den N:te förekomsten av ett tecken i en sträng fungerar inte. Om du använder ditt exempel, att lägga till 2 till resultaten av det inbäddade fyndet säkerställer en startposition för det initiala fyndet av en position bortom de första två c:na men att ändra +1 till +2 ger inte positionen för det 3:e "c", det startar helt enkelt sökningen ett tecken djupare in i strängen och resultatet är fortfarande det 4:e "c". För att hitta det 3:e "c" måste sökningen börja bortom positionen för det 4:e "c". Jag ser fram emot din nya lösning.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej David

Ja, som du sa, den första formeln fungerar inte korrekt, du kan använda den andra formeln:
=FIND(CHAR(1),SUBSTITUTE(A2,"c",CHAR(1),2))

Anmärkningar: Siffran "2" i formeln betyder det andra "c", om du vill få det tredje, fjärde "c", ändra bara siffran 2 till 3,4 efter behov.
Försök gärna, hoppas det kan hjälpa dig!
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL