Funkcia Excel RIGHT s príkladmi vzorcov

  • Zdieľajte To
Michael Brown

V niekoľkých posledných článkoch sme sa venovali rôznym funkciám Text - tým, ktoré sa používajú na manipuláciu s textovými reťazcami. Dnes sa zameriame na funkciu RIGHT, ktorá je určená na vrátenie určitého počtu znakov z pravej strany reťazca. Podobne ako ostatné textové funkcie programu Excel, aj funkcia RIGHT je veľmi jednoduchá a priamočiara, napriek tomu má niekoľko neobvyklých použití, ktoré sa môžu ukázať ako užitočné privašu prácu.

    Syntax funkcie Excel RIGHT

    Funkcia RIGHT v programe Excel vráti zadaný počet znakov od konca textového reťazca.

    Syntax funkcie RIGHT je nasledujúca:

    RIGHT(text, [num_chars])

    Kde:

    • Text (povinné) - textový reťazec, z ktorého chcete extrahovať znaky.
    • Num_chars (nepovinné) - počet znakov, ktoré sa majú extrahovať, začínajúc od najpravejšieho znaku.
      • Ak num_chars je vynechaný, vráti sa 1 posledný znak reťazca (predvolené).
      • Ak num_chars je väčší ako celkový počet znakov v reťazci, vrátia sa všetky znaky.
      • Ak num_chars je záporné číslo, vzorec Right vráti chybu #VALUE!.

    Ak chcete napríklad z reťazca v bunke A2 vybrať posledné 3 znaky, použite tento vzorec:

    =PRAVO(A2, 3)

    Výsledok by mohol vyzerať podobne:

    Dôležitá poznámka! Funkcia Excel RIGHT vždy vracia textový reťazec , a to aj v prípade, že pôvodná hodnota je číslo. Ak chcete prinútiť vzorec Right, aby vypisoval číslo, použite ho v kombinácii s funkciou VALUE, ako je uvedené v tomto príklade.

    Ako používať funkciu RIGHT v programe Excel - príklady vzorcov

    V reálnych pracovných listoch sa funkcia RIGHT v programe Excel používa samostatne len zriedka. Vo väčšine prípadov ju budete používať spolu s inými funkciami programu Excel ako súčasť zložitejších vzorcov.

    Ako získať podreťazec, ktorý sa nachádza za určitým znakom

    V prípade, že chcete extrahovať podreťazec, ktorý nasleduje po určitom znaku, použite funkciu SEARCH alebo FIND na určenie pozície tohto znaku, odpočítajte túto pozíciu od celkovej dĺžky reťazca vrátenej funkciou LEN a vytiahnite toľko znakov z pravej strany pôvodného reťazca.

    PRAVDA( reťazec , LEN( reťazec ) - HĽADAŤ( znak , reťazec ))

    Povedzme, že bunka A2 obsahuje meno a priezvisko oddelené medzerou a vy chcete vytiahnuť priezvisko do inej bunky. Stačí vziať všeobecný vzorec uvedený vyššie a na miesto A2 vložíte reťazec a " " (medzera) v tempe charakter:

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

    Vzorec poskytne nasledujúci výsledok:

    Podobným spôsobom môžete získať podreťazec, ktorý nasleduje za akýmkoľvek iným znakom, napr. čiarkou, bodkočiarkou, pomlčkou atď. Napríklad na získanie podreťazca, ktorý nasleduje za pomlčkou, použite tento vzorec:

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

    Výsledok bude vyzerať podobne:

    Ako extrahovať podreťazec za posledným výskytom oddeľovača

    Pri práci so zložitými reťazcami, ktoré obsahujú viacero výskytov toho istého oddeľovača, môžete často potrebovať načítať text napravo od posledného výskytu oddeľovača. Pre ľahšie pochopenie sa pozrite na nasledujúce zdrojové údaje a požadovaný výsledok:

    Ako vidíte na obrázku vyššie, stĺpec A obsahuje zoznam chýb. Vaším cieľom je vytiahnuť opis chyby, ktorý sa nachádza za poslednou dvojbodkou v každom reťazci. Ďalšou komplikáciou je, že pôvodné reťazce môžu obsahovať rôzny počet prípadov oddeľovača, napr. reťazec A3 obsahuje 3 dvojbodky, zatiaľ čo A5 len jednu.

    Kľúčom k nájdeniu riešenia je určiť pozíciu posledného oddeľovača v zdrojovom reťazci (v tomto príklade posledný výskyt dvojbodky). Na to budete musieť použiť niekoľko rôznych funkcií:

    1. Získajte počet oddeľovačov v pôvodnom reťazci. Je to jednoduchá časť:
      • Najprv vypočítate celkovú dĺžku reťazca pomocou funkcie LEN: LEN(A2)
      • Po druhé, dĺžku reťazca bez oddeľovačov vypočítate pomocou funkcie SUBSTITUTE, ktorá nahradí všetky výskyty dvojbodky ničím: LEN(SUBSTITUTE(A2,":",""))
      • Nakoniec od celkovej dĺžky reťazca odpočítate dĺžku pôvodného reťazca bez oddeľovačov: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))

      Ak sa chcete uistiť, že vzorec funguje správne, môžete ho zadať do samostatnej bunky a výsledkom bude 2, čo je počet dvojbodiek v bunke A2.

    2. Nahradenie posledného oddeľovača nejakým unikátnym znakom. Aby sme mohli extrahovať text, ktorý sa nachádza za posledným oddeľovačom v reťazci, musíme tento posledný výskyt oddeľovača nejakým spôsobom "označiť". Na tento účel nahraďme posledný výskyt dvojbodky znakom, ktorý sa nikde v pôvodných reťazcoch nevyskytuje, napríklad znakom libry (#).

      Ak poznáte syntax excelovskej funkcie SUBSTITUTE, možno si pamätáte, že má štvrtý nepovinný argument (instance_num), ktorý umožňuje nahradiť len konkrétny výskyt zadaného znaku. A keďže sme už vypočítali počet oddeľovačov v reťazci, stačí do štvrtého argumentu ďalšej funkcie SUBSTITUTE zadať vyššie uvedenú funkciu:

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

      Ak by ste tento vzorec vložili do samostatnej bunky, vrátil by tento reťazec: ERROR:432#Pripojenie sa časovo zastavilo

    3. Zistenie pozície posledného oddeľovača v reťazci. V závislosti od toho, akým znakom ste nahradili posledný oddeľovač, použite na zistenie pozície tohto znaku v reťazci hľadanie bez ohľadu na veľkosť písmen alebo hľadanie s ohľadom na veľkosť písmen. Poslednú dvojbodku sme nahradili znakom #, takže na zistenie jej pozície použijeme nasledujúci vzorec:

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

      V tomto príklade vzorec vráti hodnotu 10, čo je pozícia # v nahradenom reťazci.

    4. Vráťte podreťazec napravo od posledného oddeľovača. Teraz, keď poznáte pozíciu posledného oddeľovača v reťazci, stačí toto číslo odčítať od celkovej dĺžky reťazca a prinútiť funkciu RIGHT, aby vrátila toľko znakov od konca pôvodného reťazca:

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

    Ako je znázornené na nasledujúcom obrázku, vzorec funguje dokonale:

    Ak pracujete s veľkým súborom údajov, kde rôzne bunky môžu obsahovať rôzne oddeľovače, možno budete chcieť vyššie uvedený vzorec uzavrieť do funkcie IFERROR, aby ste predišli možným chybám:

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

    V prípade, že určitý reťazec neobsahuje ani jeden výskyt zadaného oddeľovača, vráti sa pôvodný reťazec, ako v riadku 6 na obrázku nižšie:

    Ako odstrániť prvých N znakov z reťazca

    Okrem extrakcie podreťazca z konca reťazca sa funkcia Excel RIGHT hodí v situáciách, keď chcete odstrániť určitý počet znakov zo začiatku reťazca.

    V súbore údajov použitom v predchádzajúcom príklade môžete chcieť odstrániť slovo "ERROR", ktoré sa objavuje na začiatku každého reťazca, a ponechať len číslo chyby a opis. Ak to chcete urobiť, od celkovej dĺžky reťazca odpočítajte počet znakov, ktoré sa majú odstrániť, a toto číslo zadajte do príkazu num_chars argument funkcie Excel RIGHT:

    PRAVDA( reťazec , LEN( reťazec )- number_of_chars_to_remove )

    V tomto príklade odstránime prvých 6 znakov (5 písmen a dvojbodku) z textového reťazca v A2, takže náš vzorec vyzerá takto:

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

    Môže funkcia Excel RIGHT vrátiť číslo?

    Ako bolo spomenuté na začiatku tohto návodu, funkcia PRAVDA v programe Excel vždy vracia textový reťazec, aj keď je pôvodnou hodnotou číslo. Čo však v prípade, že pracujete s číselným súborom údajov a chcete, aby bol výstup tiež číselný? Jednoduchým riešením je vnorenie vzorca PRAVDA do funkcie VALUE, ktorá je špeciálne navrhnutá na prevod reťazca predstavujúceho číslo na číslo.

    Ak chcete napríklad vytiahnuť posledných 5 znakov (poštové smerovacie číslo) z reťazca v A2 a previesť extrahované znaky na číslo, použite tento vzorec:

    =HODNOTA(RIGHT(A2, 5))

    Výsledok je zobrazený na nasledujúcom obrázku - všimnite si, že v stĺpci B sú čísla zarovnané doprava, zatiaľ čo v stĺpci A sú textové reťazce zarovnané doľava:

    Prečo funkcia RIGHT nefunguje s dátumami?

    Keďže funkcia RIGHT programu Excel je navrhnutá na prácu s textovými reťazcami, zatiaľ čo dátumy sú v internom systéme Excelu reprezentované číslami, vzorec Right nedokáže získať jednotlivé časti dátumu, ako je deň, mesiac alebo rok. Ak sa o to pokúsite, získate len niekoľko posledných číslic čísla reprezentujúceho dátum.

    Predpokladajme, že máte dátum 18-Jan-2017 Ak by ste sa pokúsili získať rok pomocou vzorca RIGHT(A1,4), výsledkom by bolo číslo 2753, čo sú posledné 4 číslice čísla 42753, ktoré v systéme Excel predstavuje 18. január 2017.

    "Ako teda získam určitú časť dátumu?", môžete sa ma spýtať. Pomocou jednej z nasledujúcich funkcií:

    • Funkcia DAY na získanie dňa: =DAY(A1)
    • Funkcia MONTH na získanie mesiaca: =MONTH(A1)
    • Funkcia YEAR na vytiahnutie roku: =YEAR(A1)

    Nasledujúci obrázok zobrazuje výsledky:

    Ak váš dátumy sú reprezentované textovými reťazcami , čo sa často stáva pri exporte údajov z externého zdroja, nič vám nebráni použiť funkciu RIGHT na vytiahnutie posledných niekoľkých znakov v reťazci, ktoré predstavujú určitú časť dátumu:

    Nefungujúca funkcia Excel RIGHT - dôvody a riešenia

    Ak vzorec Right nefunguje vo vašom pracovnom hárku správne, s najväčšou pravdepodobnosťou je to z jedného z nasledujúcich dôvodov:

    1. Existuje jeden alebo viac koncové medzery Ak chcete rýchlo odstrániť dodatočné medzery v bunkách, použite funkciu TRIM aplikácie Excel alebo doplnok Cell Cleaner.
    2. Stránka num_chars argument je menej ako nula Samozrejme, sotva budete chcieť do vzorca zámerne uviesť záporné číslo, ale ak num_chars argument je vypočítaný inou funkciou Excelu alebo kombináciou rôznych funkcií a váš vzorec Right vráti chybu #VALUE!, nezabudnite skontrolovať vnorené funkcie, či neobsahujú chyby.
    3. Pôvodná hodnota je a dátum . Ak ste pozorne sledovali tento návod, už viete, prečo funkcia PRAVDA nevie pracovať s dátumami. Ak niekto preskočil predchádzajúcu časť, všetky podrobnosti nájdete v článku Prečo funkcia PRAVDA v Exceli nefunguje s dátumami.

    Takto sa v programe Excel používa funkcia PRAVDA. Ak sa chcete bližšie zoznámiť so vzorcami, o ktorých sa hovorí v tomto návode, môžete si stiahnuť náš vzorový zošit uvedený nižšie. Ďakujem vám za prečítanie a dúfam, že sa na našom blogu uvidíme budúci týždeň.

    Dostupné súbory na stiahnutie

    Funkcia Excel RIGHT - príklady (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.