Hoppa till huvudinnehåll

Extrahera text efter den sista instansen av ett visst tecken

Om du har en lista med komplexa textsträngar som innehåller flera avgränsare (ta nedanstående skärmdump som exempel, som innehåller bindestreck, komma, mellanslag inom celldata), och nu vill du hitta positionen för den sista förekomsten av bindestrecket och extrahera sedan substratet efter det. Denna artikel kommer jag att presentera några formler för att hantera denna uppgift.


Formel 1: Extrahera delsträngen efter den sista instansen av en specifik avgränsare

I Excel kan HÖGER-funktionen som kombinerar funktionerna LEN, SÖK, ERSÄTTNING hjälpa dig att skapa en formel för att lösa detta jobb.

1. För att extrahera delsträngen efter den senaste förekomsten av bindestrecket, skriv in eller kopiera följande formel till en tom cell:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))

2. Dra sedan fyllningshandtaget ner till de celler som du vill använda den här formeln, och du får resultatet som nedan skärmdump:


Förklaring av formeln:

1. LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): Den här delen används för att få antalet bindestreck i cell A2.

  • LENN (A2): Denna LEN-funktion returnerar det totala antalet tecken i cell A2. Det kommer tillbaka: 44.
  • ERSÄTTNING(A2,"-",""): Denna SUBSTITUTE-funktion används för att ersätta alla bindestreck med ingenting. Och du kommer att få resultatet så här: "InsertDeleterows, ark, bilder, formler".
  • LÅN(SUBSTITUTE(A2,"-",""): Få den totala längden på textsträngen i cell A2 utan bindestreck.
  • LEN(A2)-LEN(SÄTTA(A2,"-","")): Subtrahera längden på textsträngen utan bindestreck från den totala stränglängden för att få bindestreckets nummer, och detta får 2.

2. SUBSTITUTA(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))): Denna SUBSTITUTE-funktion används för att ersätta den sista förekomsten av bindestrecket som returnerades av den första delens formel med ett #-tecken. Och du kommer att få detta resultat: "Insert-Delete#rader, ark, bilder, formler".

3. SÖK("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))= SEARCH("#", "Insert-Delete#rader, ark, bilder, formler"): Denna SEARCH-funktion returnerar positionen för #-tecknet i textsträngen som returneras av SUBSTUTT-funktionen. Den kommer att få nummer 14.

4. LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))): Den här delen av formeln kommer att få hur många tecken som finns efter det sista bindestrecket. Detta kommer att få siffran 30.

5. RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))= HÖGER(A2, 30): Äntligen används RIGHT-funktionen för att extrahera 30 tecken som returneras av formeln i steg 4 från höger sida av textsträngen i cell A2.


Anmärkningar:

1. Om du behöver extrahera texten efter den senaste förekomsten av andra avgränsare, behöver du bara ändra bindestrecket med en annan avgränsare som du behöver.

2. Om det inte finns någon specifik avgränsare i textsträngen kommer formeln ovan att få ett felvärde, se skärmdump:

För att åtgärda detta fel kan du bifoga formeln ovan i IFERROR-funktionen, använd följande formel:

=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))), A2)


Formel 2: Extrahera delsträngen efter den sista instansen av en specifik avgränsare

Här är en annan enkel formel som skapas av funktionerna TRIM, RIGHT, SUBSTITUTE, REPT och LEN som också kan hjälpa dig att lösa denna uppgift i Excel.

1. Kopiera eller skriv in formeln nedan i en tom cell där du vill få resultatet:

=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)))

2. Och dra sedan fyllningshandtaget ner till cellerna som du vill använda den här formeln och alla delsträngar efter att de sista bindestrecket har extraherats enligt nedanstående skärmbild:


Förklaring av formeln:

1. LEN(A2): Denna LEN-funktion returnerar det totala antalet tecken i cell A2. Detta kommer att kännas igen som argumentet num_chars i RIGHT-funktionen. Det kommer tillbaka: 44.

2. SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))):

  • REPT ("", LEN (A2): Denna REPT-funktion används för att få ett antal mellanslagssträngar baserat på längden på cell A2.
  • SUBSTITUTA(A2,"-",REPT(" ",LEN(A2))): Denna SUBSTITUTE-funktion kommer att ersätta bindestrecket i cell A2 med mellanslagssträngarna som returneras av REPT-funktionen.

Denna delformel kommer att kännas igen som textargumentet i RIGHT-funktionen.

3. RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)): Denna RIGHT-funktion kommer att få texten från höger sida av textsträngen som returneras av SUBSTITUTE-funktionen.

4. TRIM(): Denna TRIM-funktion används för att ta bort alla extra mellanslag och bara lämna ett mellanslag mellan orden.


Relativa funktioner som används:

  • RIGHT:
  • RIGHT-funktionen extraherar ett visst antal tecken från textsträngens högra sida.
  • SEARCH:
  • SÖK-funktionen kan hjälpa dig att hitta positionen för en viss karaktär eller delsträng från den givna texten.
  • LEN:
  • LEN-funktionen returnerar antalet tecken i en textsträng.
  • SUBSTITUTE:
  • Microsoft Excel SUBSTITUTE-funktion ersätter text eller tecken i en textsträng med en annan text eller andra tecken.
  • TRIM:
  • TRIM-funktionen tar bort alla extra mellanslag från textsträngen och håller bara mellanrum mellan ord.
  • REPT:
  • REPT-funktionen används för att upprepa tecknen ett visst antal gånger.

Fler artiklar:

  • Extrahera flera linjer från en cell
  • Om du har en lista med textsträngar som är åtskilda av radbrytningar (som inträffar genom att trycka på Alt + Enter-tangenterna när du skriver in texten), och nu vill du extrahera dessa textrader i flera celler som visas nedan. Hur kunde du lösa det med en formel i Excel?
  • Extrahera Nth Word från textsträng i Excel
  • Om du har en lista med textsträngar eller meningar vill du nu extrahera det specifika n: a ordet från listan enligt nedanstående skärmdump. Den här artikeln kommer jag att presentera några metoder för att lösa detta jobb i Excel.
  • Extrahera text mellan parenteser från textsträng
  • Om det finns en del av texten omgiven av parenteser i textsträngen måste du nu extrahera alla textsträngar mellan parenteserna enligt följande skärmdump. Hur kunde du lösa den här uppgiften i Excel snabbt och enkelt?
  • Extrahera sträng från textsträng i Excel
  • Det kan vara en vanlig uppgift för dig att du behöver extrahera strängar från textsträngar, i Excel finns det ingen direktfunktion för att göra detta, men med hjälp av VÄNSTER, HÖGER, MELLAN och SÖK-funktionerna kan du extrahera typer av underlag som du behöver.

De bästa Office-produktivitetsverktygen

Kutools för Excel - Hjälper dig att sticka ut från mängden

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter  |  Ta bort tomma rader  |  Kombinera kolumner eller celler utan att förlora data  |  Rund utan formel ...
Super VLookup: Flera kriterier  |  Multipelt värde  |  Över flera ark  |  Fuzzy Lookup...
Adv. Rullgardinslista: Enkel 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 kolumner med Välj Samma och olika celler ...
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 upp Excel-celler ...)  |  ... och mer

Kutools för Excel har över 300 funktioner, Se till att det du behöver bara är ett klick bort...

Beskrivning


Fliken Office - Aktivera läsning och redigering av flikar i Microsoft Office (inkluderar Excel)

  • En sekund att växla mellan dussintals öppna dokument!
  • Minska hundratals musklick åt dig varje dag, säg adjö till mushanden.
  • Ökar din produktivitet med 50 % när du visar och redigerar flera dokument.
  • Ger effektiva flikar till Office (inklusive Excel), precis som Chrome, Edge och Firefox.
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
how do you get everything after the last Nth character when there is more 'N' character that you want. Example.

1-2-3-4.ip.linodeusercontent.com.
1.2.3.4.ipv4.supernova.orange.pl.

i want to get the last bit after the IP addresses. So it ends up like this
ip.linodeusercontent.com.
pv4.supernova.orange.pl.
This comment was minimized by the moderator on the site
where "." is my Nth character
This comment was minimized by the moderator on the site
i really what to count the Nth character from the right 2 or 3 times and get everything after that, not counting the Nth character from the left because that varies. such a pain with no skills...lol
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations