Hoppa till huvudinnehåll

Hur hittar jag den första, sista eller nionde förekomsten av ett tecken i Excel?

Om du antar att du har följande lista med textsträngar som inkluderar tecknet “-”, och nu vill du få den sista eller nionde förekomsten av tecknet “-”, har du några bra idéer för att hantera detta problem?


Hitta den sista förekomsten av tecken med formler

Här är några formler som kan hjälpa dig att hitta den sista positionen för en viss karaktär, gör så här:

1. Bredvid din textsträng, ange eller kopiera någon av nedanstående formler till en tom cell:

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

2. Dra sedan fyllningshandtaget över till det område som du vill använda denna formel, så får du den sista förekomsten av det specifika tecknet “-”, se skärmdump:

Notera: I ovanstående formler, A2 anger det cellvärde som du vill använda. Och “-”Står för den specifika karaktär du vill få sin sista position, du kan ändra den till alla andra tecken som du behöver.


Hitta den sista förekomsten av tecken med användardefinierad funktion

För att få positionen för det sista tecknet “-” kan du också skapa användardefinierad funktion, gör så här:

1. Öppna kalkylbladet som du vill använda.

2. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationsfönster.

3. Klicka sedan Insert > Modulernaoch klistra in följande makro i Modulfönster.

VBA-kod: hitta den sista förekomsten av tecken

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

4. Spara och stäng sedan den här koden, gå tillbaka till kalkylbladet och ange den här formeln = lastpositionofchar (A2, "-") i en tom cell förutom dina data, se skärmdump:

5. Och dra sedan påfyllningshandtaget till det område du behöver för att tillämpa denna formel, och förekomsten av det sista tecknet "-" har extraherats från textsträngarna som följande skärmdump:

Anmärkningar: I ovanstående formel: A2 är cellen som innehåller de data du vill använda, och “-”Är karaktären du behöver för att hitta sin sista position, du kan ändra dem som du behöver.


Hitta den första eller nionde förekomsten av tecken med formeln

För att få första eller nionde positionen för en specifik charaterare, använd följande formel:

1. Ange eller kopiera formlerna nedan till en tom cell där du vill placera resultatet och tryck på ange nyckel för att få det första resultatet:

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

2. Dra sedan fyllningshandtaget ner till cellerna som du vill använda denna formel och positionerna för det andra "-" tecknet har beräknats, se skärmdump:

Notera: I ovanstående formler, A2 anger det cellvärde som du vill använda, “-”Står för den specifika karaktär du vill få sin position, numret 2 står för den angivna förekomsten av karaktären som du vill få.


Hitta den första eller nionde förekomsten av specifik karaktär med en enkel funktion

Med Kutools för ExcelÄr Hitta var karaktären visas Nth i en sträng verktyget kan du snabbt och enkelt få positionen för den första eller nionde specifika karaktären.

Notera:Att tillämpa detta Hitta var karaktären visas Nth i en strängFör det första bör du ladda ner Kutools för Excel, och använd sedan funktionen snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

Till exempel vill jag få den andra förekomsten av karaktären “-”, gör så här:

1. Klicka på en cell där du vill placera resultatet.

2. Klicka sedan Kutools > Formel Helper > Formel Helper, se skärmdump:

3. I Formlerhjälpare dialog ruta:

  • Välja Lookup alternativ från Formel Typ rullgardinsmeny;
  • Sedan Välj Hitta var karaktären visas Nth i en sträng från Välj en fromula listruta;
  • I Argumentinmatning markera cellen som innehåller textsträngen du vill använda och ange det tecken som du vill få sin position. Ange äntligen det nummer som du vill få positionen för tecknet.

4. Klicka sedan Ok och dra sedan påfyllningshandtaget ner till cellerna som du vill få positionen för att få följande resultat efter behov.

Ladda ner och testa gratis Kutools för Excel nu!


Fler relativa artiklar:

  • Extrahera allt utom första / sista ordet i Excel
  • Att extrahera alla ord från en cell men det första eller det sista ordet kan hjälpa dig att ta bort det oönskade ordet du behöver, i det här fallet kan du naturligtvis kopiera de önskade orden och klistra in dem i en annan cell en efter en. Men detta kommer att bli uttråkad om det finns flera cellvärden behöver extraheras utom det första eller sista ordet. Hur kunde du snabbt och enkelt extrahera alla ord utom det första eller det sista i Excel?
  • Extrahera karaktärer från höger till vänster i en cell
  • Den här artikeln kommer att prata om att dra eller extrahera tecken från höger i en cell tills ett utrymme nås för att få följande resultat i Excel-kalkylblad. En användbar formel i den här artikeln kan lösa detta jobb snabbt och enkelt.
  • Ta bort första, sista X-tecken eller vissa positionstecken
  • Den här artikeln kommer att prata om att dra eller extrahera tecken från höger i en cell tills ett utrymme nås för att få följande resultat i Excel-kalkylblad. En användbar formel i den här artikeln kan lösa detta jobb snabbt och enkelt.
  • Hitta positionen för den första gemener
  • Om du har en lista med textsträngar som innehåller både stora och små bokstäver, nu vill du veta positionen för första gemener från dem i Excel-kalkylblad. Hur kunde du få resultatet snabbt utan att räkna dem en efter en?

Bästa kontorsproduktivitetsverktyg

Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50 + Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

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!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Using LET to define variables. 
Find Last occurrence of;
=LET(strFind,"-",strFlag,"¤",FIND(strFlag,SUBSTITUTE(A2,strFind,strFlag,LEN(A2)-LEN(SUBSTITUTE(A2,strFind,""))),1))
Text to right of;
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1)))
This gives an error if strFind is not in the target. This can be solved by wrapping FIND in an IFERROR. 
LET(strTarget,A2,strFind,"-",strFlag,"¤",IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0))
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0)))
This will return the existing string if strFind is not found. If this is not desired use the find separately then test for result>0.
This comment was minimized by the moderator on the site
Thank You, great work !! Best Regards Anders
This comment was minimized by the moderator on the site
Thank you for these formulas. Very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations