Excel RIGHT-funktion med eksempler på formler

  • Del Dette
Michael Brown

I de sidste par artikler har vi diskuteret forskellige tekstfunktioner - funktioner, der bruges til at manipulere tekststrenge. I dag er vores fokus på funktionen RIGHT, der er designet til at returnere et bestemt antal tegn fra den yderste højre side af en streng. Som andre Excel-tekstfunktioner er RIGHT meget enkel og ligetil, men den har alligevel et par uoplagte anvendelsesmuligheder, der kan være nyttige idit arbejde.

    Excel RIGHT-funktionens syntaks

    Funktionen RIGHT i Excel returnerer det angivne antal tegn fra slutningen af en tekststreng.

    Syntaksen for RIGHT-funktionen er som følger:

    RIGHT(text, [num_chars])

    Hvor:

    • Tekst (påkrævet) - den tekststreng, som du vil udtrække tegn fra.
    • Num_chars (valgfrit) - antallet af tegn, der skal udtrækkes, startende fra det yderste tegn til højre.
      • Hvis num_chars udelades, returneres 1 sidste tegn i strengen (standard).
      • Hvis num_chars er større end det samlede antal tegn i strengen, returneres alle tegn.
      • Hvis num_chars er et negativt tal, returnerer en Right-formel fejlen #VALUE!

    Hvis du f.eks. vil udtrække de sidste 3 tegn fra strengen i celle A2, skal du bruge denne formel:

    =RIGHT(A2, 3)

    Resultatet kan se nogenlunde sådan her ud:

    Vigtig bemærkning! Excel RIGHT-funktionen returnerer altid en tekststreng Hvis du vil tvinge en Right-formel til at udstede et tal, skal du bruge den i kombination med VALUE-funktionen, som vist i dette eksempel.

    Sådan bruger du funktionen RIGHT i Excel - eksempler på formler

    I virkelige regneark bruges Excel-funktionen RIGHT sjældent alene. I de fleste tilfælde vil du bruge den sammen med andre Excel-funktioner som en del af mere komplekse formler.

    Sådan får du en delstreng, der kommer efter et bestemt tegn

    Hvis du vil udtrække en delstreng, der følger et bestemt tegn, skal du bruge enten SEARCH- eller FIND-funktionen til at bestemme positionen for det pågældende tegn, trække positionen fra den samlede strenglængde, der returneres af LEN-funktionen, og trække så mange tegn fra den oprindelige strengs højre side.

    RIGHT( streng , LEN( streng ) - SEARCH( karakter , streng ))

    Lad os sige, at celle A2 indeholder for- og efternavnet adskilt af et mellemrum, og du ønsker at trække efternavnet til en anden celle. Tag den generiske formel ovenfor, og sæt A2 i stedet for streng , og " " (mellemrum) i stedet for karakter:

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

    Formlen vil give følgende resultat:

    På samme måde kan du få en delstreng, der følger efter et hvilket som helst andet tegn, f.eks. et komma, semikolon, bindestreg osv. Hvis du f.eks. vil udtrække en delstreng, der kommer efter en bindestreg, skal du bruge denne formel:

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

    Resultatet kommer til at se nogenlunde sådan her ud:

    Sådan udtrækkes en delstreng efter den sidste forekomst af afgrænseren

    Når du har at gøre med komplekse strenge, der indeholder flere forekomster af den samme afgrænser, kan du ofte have brug for at hente teksten til højre for den sidste forekomst af afgrænseren. For at gøre det lettere at forstå, kan du se på følgende kildedata og det ønskede resultat:

    Som du kan se på skærmbilledet ovenfor, indeholder kolonne A en liste over fejl. Dit mål er at trække den fejlbeskrivelse, der kommer efter det sidste kolon i hver streng. En yderligere komplikation er, at de oprindelige strenge kan indeholde forskellige antal afgrænsere, f.eks. indeholder A3 3 kolon, mens A5 kun indeholder et.

    Nøglen til at finde en løsning er at bestemme placeringen af den sidste afgrænser i kildestrengen (den sidste forekomst af et kolon i dette eksempel). For at gøre dette skal du bruge en håndfuld forskellige funktioner:

    1. Få antallet af afgrænsere i den oprindelige streng. Det er en nem del:
      • For det første beregner du den samlede længde af strengen ved hjælp af LEN-funktionen: LEN(A2)
      • For det andet beregner du længden af strengen uden afgrænsere ved at bruge funktionen SUBSTITUTE, der erstatter alle forekomster af et kolon med ingenting: LEN(SUBSTITUTE(A2,":","",""))
      • Til sidst trækker du længden af den oprindelige streng uden afgrænsere fra den samlede strenglængde: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))

      For at sikre dig, at formlen fungerer korrekt, kan du indtaste den i en separat celle, og resultatet vil være 2, som er antallet af kolontegn i celle A2.

    2. Udskift den sidste afgrænser med et unikt tegn. For at kunne udtrække den tekst, der kommer efter den sidste afgrænser i strengen, skal vi "markere" den sidste forekomst af afgrænseren på en eller anden måde. Lad os erstatte den sidste forekomst af et kolon med et tegn, der ikke forekommer nogen steder i de oprindelige strenge, f.eks. med et pundtegn (#).

      Hvis du kender syntaksen for Excel SUBSTITUTE-funktionen, kan du måske huske, at den har et fjerde valgfrit argument (instance_num), som kun gør det muligt at erstatte en bestemt forekomst af det angivne tegn. Og da vi allerede har beregnet antallet af afgrænsere i strengen, skal du blot angive ovenstående funktion i det fjerde argument for en anden SUBSTITUTE-funktion:

      =SUBSTITUT(A2,":", "#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))

      Hvis du indsætter denne formel i en separat celle, vil den returnere denne streng: ERROR:432#Forbindelsen er gået ud i tid

    3. Find positionen for den sidste afgrænser i strengen. Afhængigt af hvilket tegn du har erstattet den sidste afgrænser med, skal du enten bruge SEARCH, der ikke tager hensyn til store og små bogstaver, eller FIND, der tager hensyn til store og små bogstaver, til at finde positionen for det pågældende tegn i strengen. Vi har erstattet det sidste kolon med #-tegnet, så vi bruger følgende formel til at finde ud af dets position:

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

      I dette eksempel returnerer formlen 10, som er positionen for # i den erstattede streng.

    4. Returnerer en delstreng til højre for den sidste afgrænser. Nu hvor du kender placeringen af den sidste afgrænser i en streng, skal du blot trække dette tal fra den samlede strenglængde og få funktionen RIGHT til at returnere det antal tegn fra slutningen af den oprindelige streng:

      =RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""")))))

    Som vist i skærmbilledet nedenfor fungerer formlen perfekt:

    Hvis du arbejder med et stort datasæt, hvor forskellige celler kan indeholde forskellige afgrænsere, kan det være hensigtsmæssigt at inkludere ovenstående formel i IFERROR-funktionen for at undgå eventuelle fejl:

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

    Hvis en bestemt streng ikke indeholder en enkelt forekomst af den angivne afgrænser, returneres den oprindelige streng, som i række 6 i skærmbilledet nedenfor:

    Sådan fjerner du de første N tegn fra en streng

    Ud over at udtrække en delstreng fra slutningen af en streng er Excel-funktionen RIGHT praktisk i situationer, hvor du ønsker at fjerne et bestemt antal tegn fra begyndelsen af strengen.

    I datasættet, der blev brugt i det foregående eksempel, vil du måske gerne fjerne ordet "ERROR", der vises i starten af hver streng, og kun lade fejlnummeret og beskrivelsen stå tilbage. For at få det gjort, skal du trække antallet af tegn, der skal fjernes, fra den samlede strenglængde og angive dette tal til num_chars argumentet i Excel RIGHT-funktionen:

    RIGHT( streng , LEN( streng )- number_of_chars_to_remove )

    I dette eksempel fjerner vi de første 6 tegn (5 bogstaver og et kolon) fra tekststrengen i A2, så vores formel ser således ud:

    =RIGHT(A2, LEN(A2)-6)

    Kan funktionen RIGHT i Excel returnere et tal?

    Som nævnt i begyndelsen af denne vejledning returnerer funktionen RIGHT i Excel altid en tekststreng, selv om den oprindelige værdi er et tal. Men hvad nu, hvis du arbejder med et numerisk datasæt og ønsker, at output også skal være numerisk? En nem løsning er at indlejre en Right-formel i funktionen VALUE, som er specielt designet til at konvertere en streng, der repræsenterer et tal, til et tal.

    Hvis du f.eks. vil trække de sidste 5 tegn (postnummer) ud af strengen i A2 og konvertere de uddragne tegn til et tal, skal du bruge denne formel:

    =VÆRDI(HØJRE(A2, 5))

    Skærmbilledet nedenfor viser resultatet - bemærk venligst de højrejusterede tal i kolonne B i modsætning til venstrejusterede tekststrenge i kolonne A:

    Hvorfor fungerer funktionen RIGHT ikke med datoer?

    Da Excel-funktionen RIGHT er designet til at arbejde med tekststrenge, mens datoer repræsenteres af tal i det interne Excel-system, kan en Right-formel ikke hente en individuel del af en dato, f.eks. en dag, en måned eller et år. Hvis du forsøger at gøre dette, får du kun de sidste par cifre i det tal, der repræsenterer en dato.

    Hvis vi antager, at du har datoen 18-jan-2017 i celle A1. Hvis du forsøger at udtrække årstallet med formlen RIGHT(A1,4), vil resultatet være 2753, som er de sidste 4 cifre i nummer 42753, der repræsenterer 18. januar 2017 i Excel-systemet.

    "Hvordan kan jeg så hente en bestemt del af en dato?", spørger du måske mig. Ved at bruge en af følgende funktioner:

    • DAY-funktionen til at udtrække en dag: =DAY(A1)
    • MONTH-funktionen til at få en måned: =MONTH(A1)
    • YEAR-funktionen til at trække et årstal: =YEAR(A1)

    Følgende skærmbillede viser resultaterne:

    Hvis din datoer er repræsenteret ved tekststrenge , hvilket ofte er tilfældet, når du eksporterer data fra en ekstern kilde, er der intet, der forhindrer dig i at bruge funktionen RIGHT til at trække de sidste par tegn i strengen, der repræsenterer en bestemt del af datoen:

    Excel RIGHT-funktionen virker ikke - årsager og løsninger

    Hvis en Højre-formel ikke fungerer korrekt i dit regneark, skyldes det højst sandsynligt en af følgende årsager:

    1. Der er en eller flere afsluttende mellemrum Hvis du hurtigt vil fjerne ekstra mellemrum i cellerne, kan du bruge enten Excel-funktionen TRIM eller tilføjelsesprogrammet Cell Cleaner til Excel.
    2. num_chars argument er mindre end nul Selvfølgelig vil du næppe med vilje sætte et negativt tal ind i din formel, men hvis num_chars argumentet beregnes af en anden Excel-funktion eller en kombination af forskellige funktioner, og din højre formel returnerer fejlen #VALUE!, skal du sørge for at kontrollere de(n) indlejrede funktion(er) for fejl.
    3. Den oprindelige værdi er en dato Hvis du har fulgt denne vejledning nøje, ved du allerede, hvorfor funktionen RIGHT ikke kan arbejde med datoer. Hvis nogen har sprunget det foregående afsnit over, kan du finde alle detaljer i Hvorfor Excel-funktionen RIGHT ikke fungerer med datoer.

    Sådan bruger du funktionen RIGHT i Excel. Hvis du vil se nærmere på de formler, der er beskrevet i denne vejledning, er du velkommen til at downloade vores eksempelarbejdsmappe nedenfor. Tak for din læsning og håber at se dig på vores blog i næste uge.

    Tilgængelige downloads

    Excel RIGHT-funktion - eksempler (.xlsx-fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.