Innehållsförteckning
När du arbetar med en stor datamängd kan du ibland behöva ta bort en viss del av data. Att göra detta manuellt är mycket tidskrävande och naivt. I Excel kan du ta bort text efter ett visst tecken på tre effektiva sätt.
Arbetsbok för nedladdning av övningsuppgifter
Du kan ladda ner arbetsboken här.
Ta bort text efter tecken.xlsm
3 enkla sätt att ta bort text efter tecken i Excel
Här får du lära dig hur du tar bort text efter ett visst tecken genom att använda kommandoverktyget Find & Replace i Excel, genom att använda formler och även genom att använda VBA-kod.
1. Använd kommandot Hitta & Ersätt för att ta bort text efter tecken
Vi ska lära oss hur man tar bort text efter ett visst tecken genom att använda Hitta & Ersätt I Excel är detta det enklaste sättet att radera all text efter ett visst tecken.
Stegen för att göra detta beskrivs nedan,
Steg 1: Välj först ditt dataset.
Steg 2: Sedan under Hem gå till fliken Hitta & Välj -> Ersätt .
Steg 3: Från popup-fönstret Hitta och ersätta bredvid rutan Hitta vad etiketten, skriv det tecken efter vilket du vill ta bort texten och sätt en Asterisk (*) symbol efter den.
Steg 4: Behåll den Ersätt med boxen är tom.
Steg 5: Tryck på Ersätt alla .
För att förstå mer, titta på följande bild, där vi vill ta bort allt efter kommatecken (,) , så vi skriver symbolen kommatecken (,) och lägga in en Asterisk (*) symbolen tillsammans med den.
Steg 4: Den tar bort all text efter kommatecken (,) i ditt dataset.
Läs mer: Hur man tar bort text efter tecken i Excel (3 sätt)
2. Infoga en Excel-formel för att ta bort text efter tecken
Till skillnad från ovanstående metod är det effektivare och mer tillförlitligt att använda formler för att ta bort strängar efter ett visst tecken i Excel. Genom att använda formler får du ett mer oförändrat och kontrollerbart resultat av din datamängd.
Genom att använda formler kan du ta bort texten efter flera specifika punkter i strängen på flera olika sätt.
i. Ta bort all text efter ett tecken
Generisk formel:
=LEFT(cell, SEARCH("character", cell) -1)
Här,
cell = cellreferensnummer för dina uppgifter
tecken = det tecken efter vilket du vill ta bort texten
Om du vill ta bort all text efter ett tecken följer du bara stegen nedan,
Steg 1: Skriv ovanstående formel i cellen bredvid ditt dataset.
Steg 2: Tryck på Gå in på .
Den tar bort all text efter ett visst tecken.
Steg 3: Dra raden nedåt med hjälp av Handtag för fyllning för att tillämpa formeln på resten av datamängden.
- Förklaring:
SÖK-funktionen identifierar positionen för tecknet i cellen (i vårt fall identifierar den positionen för kommatecknet (,) i data i cell B4) och skickar det till den vänstra funktionen som extraherar motsvarande teckennummer från början av strängen i cellen.
ii. Ta bort text efter den N:e förekomsten av ett tecken.
Om du måste ta bort text efter ett visst tecken, men det tecknet förekommer flera gånger i strängen, måste du använda följande formel,
Generisk formel: =LEFT(
cell
, FIND("#", SUBSTITUTE(
cell
, "
tecken
", "#",
n
)) -1)
Här,
cell = cellreferensnummer för dina uppgifter
tecken = det tecken efter vilket du vill ta bort texten
n = teckenets förekomst efter vilken texten ska tas bort.
# = för att införa ett nytt tecken som inte finns någonstans i källdatasetetet (du kan använda vilket tecken som helst, men tänk på att tecknet måste vara unikt).
Stegen för att ta bort text efter N-te förekomsten av ett tecken anges nedan,
Steg 1: Skriv ovanstående formel i cellen bredvid ditt dataset.
Steg 2: Tryck på Gå in på .
Den tar bort all text efter ett visst tecken.
Steg 3: Dra raden nedåt med hjälp av Handtag för fyllning för att tillämpa formeln på resten av datamängden.
- Förklaringar :
För att förstå mer, se på exemplet ovan där vi vill ta bort allt efter den 2:a kommatecken (,) i B4-cellen så att vi UTBYGGNING den med en hash (#) symbol.
SUBSTITUTE(B4, ",", "#", 2)
Skicka sedan utdata till funktionen FIND som identifierar läget för hash (#) . Efter att ha identifierat teckenets position, ska den HITTA funktionen tar sedan bort 1 för att få fram det tal som föregår tecknet (,).
FIND("#", SUBSTITUTE(B4, ",", "#", 2)) -1
Därefter överförs värdet till VÄNSTER med instruktionen att dra tecknet före det unika tecknet (#).
LEFT(B4, FIND("#", SUBSTITUTE(B4, ",", "#", 2)) -1)
Det ger dig resultatet av den trunkerade datamängden utan all text efter kommatecken (,).
iii. Ta bort text efter den sista förekomsten av ett tecken.
Om du vill radera all text efter ett visst tecken som förekommer flera gånger måste du använda följande formel,
Generisk formel: =LEFT(
cell
, FIND("#", SUBSTITUTE(
cell
, "
tecken
", "#", LEN(
cell
) - LEN(SUBSTITUT(
cell
, "
tecken
","")))) -1)
Här,
cell = cellreferensnummer för dina uppgifter
karaktär r = det tecken efter vilket du vill ta bort texten.
# = för att införa ett nytt tecken som inte finns någonstans i källdatasetetet (du kan använda vilket tecken som helst, men tänk på att tecknet måste vara unikt).
Stegen för att ta bort text efter den sista förekomsten av ett tecken anges nedan,
Steg 1: Skriv ovanstående formel i cellen bredvid ditt dataset.
Steg 2: Tryck på Gå in på .
Den tar bort all text efter ett visst tecken.
Steg 3: Dra raden nedåt med hjälp av Handtag för fyllning för att tillämpa formeln på resten av datamängden.
- Förklaringar:
För att förstå mer kan du titta på exemplet ovan där vi bara vill behålla cricketspelarens namn, inte yrket.
Först måste vi ta reda på hur många kommatecken det finns i originaltexten och sedan ersätter vi varje kommatecken med ingenting. ("") med den UTBYGGNING funktionen och skicka utdata till LEN-funktionen :
LEN(SUBSTITUT(B4, ",",",""))
Subtrahera sedan det resulterande antalet från den ursprungliga strängens totala längd för att få fram det totala antalet kommatecken (,) i strängen (vilket också är det sista kommats ordningsnummer).
LEN(B4) - LEN(SUBSTITUTE(B4, ",",",""))
Därefter är du redan bekant med FIND(SUBSTITUTE()) formeln från diskussionen ovan som användes för att få fram positionen för det sista kommatecknet (,) i strängen som vi fick från den ovan diskuterade LEN(SUBSTITUTE()) formel.
FIND("#", SUBSTITUTE(B4, ",", "#", LEN(B4) - LEN(SUBSTITUTE(B4, ",",""))))
Därefter subtraherar vi resultatet från längden på originaldata för att ta bort all text.
LEFT(B4, FIND("#", SUBSTITUTE(B4, ",", "#", LEN(B4) - LEN(SUBSTITUTE(B4, ",","")))) -1)
Det kommer att producera datasetet med cricketspelarens namn utan yrken.
Läs mer: Hur man tar bort text från Excel-cellen (9 enkla sätt)
Liknande läsningar
- Hur man tar bort specifik text från en cell i Excel (de enklaste 11 sätten)
- Hur man tar bort text före ett utrymme med Excel-formeln (5 metoder)
3. Bädda in VBA-kod för att ta bort text efter tecken i Excel
Om du är en erfaren Excel-användare är den här metoden för dig. Att använda VBA för att ta bort text efter ett tecken är det snabbaste sättet att göra jobbet.
Steg 1: Tryck på Alt + F11 på tangentbordet eller gå till fliken Utvecklare -> Visual Basic för att öppna Visual Basic Editor.
Steg 2: I menyraden klickar du på Infoga -> Modul .
Steg 3: Kopiera följande kod och klistra in den i kodfönstret.
Sub remove_text_after_character() Dim range As range Dim cell As range Set range = Application.Selection For Each cell In range cell.Offset(0, 1).Value = Left(cell, InStr(cell, ",") - 1) Next cell End Sub
Din kod är nu redo att köras.
Steg 4: S witch till det aktuella arbetsbladet, välj det önskade intervallet och se till att kolumnen bredvid är tom eftersom makrot kommer att visa resultatet här.
Steg 5: Navigera sedan till Utvecklare -> Makros.
Steg 6: Välj makronamn remove_text_after_character -> Kör
Den visar resultatet av att ta bort text efter ett tecken i Excel.
Läs mer: Ta bort specifik text från en kolumn i Excel (8 sätt)
Slutsats
I den här artikeln har vi lärt oss hur man tar bort text efter ett visst tecken i Excel. Vi får reda på hur man gör det inte bara från den första förekomsten av tecknet utan även från den sista och N:e förekomsten. Jag hoppas att den här artikeln har varit till stor nytta för dig. Ställ gärna frågor om du har några frågor om ämnet.