Indholdsfortegnelse
Når du arbejder med ustrukturerede tekstdata i dine regneark, skal du ofte analysere dem for at hente relevante oplysninger. I denne artikel lærer du et par enkle måder at fjerne et vilkårligt antal tegn fra venstre eller højre side af en tekststreng på.
Sådan fjerner du tegn fra venstre i Excel
Fjernelse af de første tegn fra en streng er en af de mest almindelige opgaver i Excel, og det kan udføres med 3 forskellige formler.
Fjern det første tegn i Excel
Hvis du vil slette det første tegn fra en streng, kan du bruge enten funktionen REPLACE eller en kombination af funktionerne RIGHT og LEN.
ERSTATNING( streng , 1, 1, "")Her tager vi blot 1 tegn fra den første position og erstatter det med en tom streng ("").
RIGHT( streng , LEN( streng ) - 1)I denne formel bruger vi LEN-funktionen til at beregne den samlede længde af strengen og trækker 1 tegn fra. Forskellen serveres til RIGHT, så den trækker så mange tegn ud af slutningen af strengen.
Hvis du f.eks. vil fjerne det første tegn fra celle A2, skal formlerne se således ud:
=REPLACE(A2, 1, 1, 1, "")
=RIGHT(A2, LEN(A2) - 1)
Fjern tegn fra venstre
Hvis du vil fjerne ledende tegn fra venstre side af en streng, kan du også bruge funktionerne REPLACE eller RIGHT og LEN, men du skal angive, hvor mange tegn du vil slette hver gang:
ERSTATNING( streng , 1, num_chars , "")Eller
RIGHT( streng , LEN( streng ) - num_chars )For at fjerne f.eks. de 2 første tegn fra strengen i A2, er formlerne:
=REPLACE(A2, 1, 2, "")
=RIGHT(A2, LEN(A2) - 2)
For at fjerne de første 3 tegn , har formlerne denne form:
=REPLACE(A2, 1, 3, "")
=RIGHT(A2, LEN(A2) - 3)
Skærmbilledet nedenfor viser REPLACE-formlen i aktion. Med RIGHT LEN ville resultatet være nøjagtig det samme.
Brugerdefineret funktion til at slette de første n tegn
Hvis du ikke har noget imod at bruge VBA i dine regneark, kan du oprette din egen brugerdefinerede funktion til at slette tegn fra begyndelsen af en streng, der hedder RemoveFirstChars Koden til funktionen er så enkel som denne:
Funktion RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) End FunctionNår koden er indsat i din projektmappe (den detaljerede vejledning findes her), kan du fjerne de første n tegn fra en given celle ved hjælp af denne kompakte og intuitive formel:
RemoveFirstChars(string, num_chars)Hvis du f.eks. vil slette første tegn fra en streng i A2, er formlen i B2:
=RemoveFirstChars(A2, 1)
For at fjerne de to første tegn fra A3, er formlen i B3:
=RemoveFirstChars(A4, 2)
Sådan slettes de tre første tegn fra A4, er formlen i B4:
=RemoveFirstChars(A4, 3)
Mere om Brug af brugerdefinerede funktioner i Excel.
Sådan fjerner du tegn fra højre
For at fjerne tegn fra højre side af en streng kan du også bruge oprindelige funktioner eller oprette din egen funktion.
Fjern det sidste tegn i Excel
For at slette det sidste tegn i en celle er den generiske formel:
VENSTRE( streng , LEN( streng ) - 1)I denne formel trækker du 1 fra den samlede længde af strengen og sender forskellen til funktionen LEFT for at få den til at udtrække det antal tegn fra begyndelsen af strengen.
For at fjerne det sidste tegn fra celle A2 er formlen i B2 f.eks:
=LEFT(A2, LEN(A2) - 1)
Fjern tegn fra højre
Hvis du vil fjerne et bestemt antal tegn fra slutningen af en celle, er den generelle formel:
VENSTRE( streng , LEN( streng ) - num_chars )Logikken er den samme som i ovenstående formel, og nedenfor er der et par eksempler.
For at fjerne den de sidste 3 tegn , bruge 3 til num_chars :
=LEFT(A2, LEN(A2) - 3)
Hvis du vil slette den de sidste 5 tegn , levere 5 til num_chars :
=LEFT(A2, LEN(A2) - 5)
Brugerdefineret funktion til at fjerne de sidste n tegn i Excel
Hvis du gerne vil have din egen funktion til at fjerne et vilkårligt antal tegn fra højre, kan du tilføje denne VBA-kode til din projektmappe:
Funktion RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) End FunctionFunktionen hedder RemoveLastChars og dens syntaks behøver næppe nogen forklaring:
RemoveLastChars(string, num_chars)For at afprøve det i marken kan vi fjerne sidste tegn i A2:
=RemoveLastChars(A2, 1)
Derudover fjerner vi også de sidste 2 tegn fra højre side af strengen i A3:
=RemoveLastChars(A3, 2)
Hvis du vil slette den de sidste 3 tegn fra celle A4, er formlen:
=RemoveLastChars(A4, 3)
Som du kan se på nedenstående skærmbillede, fungerer vores brugerdefinerede funktion glimrende!
Sådan fjerner du tegn fra højre og venstre på én gang
Hvis du har brug for at slette tegn på begge sider af en streng, kan du enten køre begge ovenstående formler i rækkefølge eller optimere arbejdet ved hjælp af MID-funktionen.
MID( streng , venstre _ tegn + 1, LEN( streng ) - ( venstre _ tegn + højre _ tegn )Hvor:
- chars_left - antallet af tegn, der skal slettes fra venstre.
- chars_right - antallet af tegn, der skal slettes fra højre.
Lad os antage, at du vil udtrække brugernavnet fra en streng som mailto:[email protected] I den forbindelse skal en del af teksten fjernes fra begyndelsen ( mailto: - 7 tegn) og fra slutningen ( @gmail.com - 11 tegn).
Anvend ovenstående tal i formlen:
=MID(A2, 7+1, LEN(A2) - (7+10))
...og resultatet vil ikke lade dig vente på dig:
For at forstå, hvad der rent faktisk foregår her, skal vi huske syntaksen for MID-funktionen, som bruges til at trække en delstreng af en bestemt størrelse fra midten af den oprindelige streng:
MID(text, start_num, num_chars)tekst argumentet giver ikke anledning til spørgsmål - det er kilde-strengen (A2 i vores tilfælde).
For at få positionen for det første tegn, der skal udtrækkes ( start_nummer ), lægger du 1 til det antal tegn, der skal fjernes fra venstre (7+1).
For at bestemme, hvor mange tegn der skal returneres ( num_chars ), beregner du det samlede antal fjernede tegn (7 + 11) og trækker summen fra længden af hele strengen: LEN(A2) - (7+10)).
Få resultatet som tal
Uanset hvilken af ovenstående formler du bruger, er resultatet altid tekst, selv når den returnerede værdi kun indeholder tal. Hvis du vil returnere den resultatet som et tal , enten pakke kerneformlen ind i VALUE-funktionen eller udføre en matematisk operation, der ikke påvirker resultatet, f.eks. multiplicere med 1 eller tilføje 0. Denne teknik er især nyttig, når du ønsker at beregne resultaterne yderligere.
Lad os antage, at du har fjernet det første tegn fra cellerne A2:A6 og vil summere de resulterende værdier. Forbavsende nok returnerer en triviel SUM-formel nul. Hvorfor det? Naturligvis fordi du lægger strenge sammen, ikke tal. Udfør en af nedenstående operationer, og problemet er løst!
=VÆRDI(REPLACE(A2, 1, 1, 1, ""))
=RIGHT(A2, LEN(A2) - 1) * 1
=RemoveFirstChars(A2, 1) + 0
Fjern første eller sidste tegn med Flash Fill
I Excel 2013 og senere versioner er der endnu en nem måde at slette det første og sidste tegn i Excel på - funktionen Flash Fill.
- Indtast det ønskede resultat i en celle ved siden af den første celle med de oprindelige data, idet du udelader det første eller sidste tegn fra den oprindelige streng, og tryk på Enter .
- Begynd at skrive den forventede værdi i den næste celle. Hvis Excel registrerer mønsteret i de data, du indtaster, følger den det samme mønster i resten af cellerne og viser en forhåndsvisning af dine data uden det første/sidste tegn.
- Du skal blot trykke på Enter for at acceptere forhåndsvisningen.
Fjern tegn efter position med Ultimate Suite
Traditionelt set kan brugerne af vores Ultimate Suite klare opgaven med få klik uden at skulle huske en håndfuld forskellige formler.
Du skal gøre følgende for at slette de første eller sidste n tegn fra en streng:
- På den Ablebits Data under fanen, i fanen Tekst gruppe, klik på Fjern > Fjern efter position .
For at fjerne det første tegn konfigurerer vi f.eks. følgende indstilling for at fjerne det første tegn:
Sådan fjerner du en delstreng fra venstre eller højre i Excel. Tak fordi du læste med, og jeg glæder mig til at se dig på vores blog i næste uge!
Tilgængelige downloads
Fjern første eller sidste tegn - eksempler (.xlsm-fil)
Ultimate Suite - prøveversion (.exe-fil)