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

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 substratet efter den sista instansen av en specifik avgränsare

I Excel kan RIGHT-funktionen som kombinerar LEN-, SÖK-, SUBSTITUTFunktionerna hjälpa dig att skapa en formel för att lösa detta jobb.

1. För att extrahera strängen efter bindestreckens sista förekomst, skriv eller kopiera följande formel till en tom cell:

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

2. Dra sedan påfyllningshandtaget ner till cellerna som du vill använda den här formeln, så får du resultatet enligt nedanstående skärmdump:


Förklaring av formeln:

1. LENN (A2) -LEN (SUBSTITUT (A2, "-", "")): Denna del 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 att återvända: 44.
  • SUBSTITUT (A2, "-", ""): Denna SUBSTITUTE-funktion används för att ersätta alla bindestreck med ingenting. Och du får resultatet som detta: ”InsertDeleterows, ark, bilder, formler".
  • LENN (SUBSTITUT (A2, "-", ""): Få den totala längden på textsträngen i cell A2 utan bindestreck.
  • LEN (A2) -LEN (SUBSTITUT (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. SUBSTITUT (A2, "-", "#", LEN (A2) -LEN (SUBSTITUT (A2, "-", ""))): Denna SUBSTITUTE-funktion används för att ersätta den sista förekomsten av bindestrecket som returneras av den första delformeln med ett # tecken. Och du får det här resultatet: “Insert-Radera # rader, ark, bilder, formler".

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

4. LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))): Denna del av formeln får hur många tecken som finns efter det sista bindestrecket. Detta får 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 sista förekomsten av andra avgränsare, behöver du bara ändra bindestreckens karaktär med en annan avgränsare efter behov.

2. Om det inte finns någon specifik avgränsare i textsträngen får ovanstående formel 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 substratet efter den sista instansen av en specifik avgränsare

Här är en annan enkel formel som skapats av TRIM, RIGHT, SUBSTITUTE, REPT och LEN-funktionerna 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 påfyllningshandtaget ner till cellerna som du vill använda den här formeln och alla underlag efter de sista bindestrecken har extraherats enligt nedanstående skärmdump:


Förklaring av formeln:

1. LENN (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 att återvända: 44.

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

  • REPT ("", LEN (A2): Denna REPT-funktion används för att få ett antal rymdsträngar baserat på längden på cell A2.
  • SUBSTITUT (A2, "-", REPT ("", LEN (A2))): Denna SUBSTITUTE-funktion ersätter bindestreckens tecken i cell A2 med mellanslag som returneras av REPT-funktionen.

Denna delformel känns igen som textargumentet i RIGHT-funktionen.

3. HÖGER (SUBSTITUT (A2, "-", REPT ("", LEN (A2))), LEN (A2)): Denna HÖGER-funktion kommer att få texten från höger sida av textsträngen returnerad av SUBSTITUTE-funktionen.

4. TRIM (): Denna TRIM-funktion används för att ta bort alla extra mellanslag och bara lämna ett mellanrum 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

Vill du slutföra ditt dagliga arbete snabbt och perfekt? Kutools för Excel ger 300 kraftfulla avancerade funktioner (kombinera arbetsböcker, summera efter färg, dela cellinnehåll, konvertera datum och så vidare ...) och spara 80% tid åt dig.

  • Designad för 1500 arbetsscenarier, hjälper dig att lösa 80% Excel-problem.
  • Minska tusentals tangentbord och musklick varje dag, lindra dina trötta ögon och händer.
  • Bli en expert på 3 minuter. Behöver inte längre komma ihåg några smärtsamma formler och VBA-koder.
  • 30 dagars obegränsad gratis provperiod. 60-dagars pengarna tillbaka-garanti. Gratis uppgradering och support i 2 år.
Ribbon of Excel (med Kutools för Excel installerat)

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 tittar på och redigerar flera dokument.
  • Ger effektiva flikar till Office (inkluderar Excel), precis som Chrome, Firefox och ny Internet Explorer.
Skärmdump av Excel (med Office-fliken installerad)
Sortera kommentarer efter
Kommentarer (3)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
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.
Denna kommentar minimerades av moderatoren på webbplatsen
where "." is my Nth character
Denna kommentar minimerades av moderatoren på webbplatsen
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
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