INHOUDSOPGAWE
In die laaste paar artikels het ons verskillende teksfunksies bespreek - dié wat gebruik word om teksstringe te manipuleer. Vandag is ons fokus op die REGTE-funksie, wat ontwerp is om 'n gespesifiseerde aantal karakters van die regterkantste kant van 'n string terug te gee. Soos ander Excel-teksfunksies, is RIGHT baie eenvoudig en reguit, maar dit het 'n paar onopvallende gebruike wat nuttig kan wees in jou werk.
Excel RIGHT-funksiesintaksis
Die REGS-funksie in Excel gee die gespesifiseerde aantal karakters vanaf die einde van 'n teksstring terug.
Die sintaksis van die REGS-funksie is soos volg:
REGS(teks, [aantal_tekens])Waar :
- Teks (vereis) - die teksstring waaruit jy karakters wil onttrek.
- Getal_tekens (opsioneel) - die aantal karakters om te onttrek, vanaf die mees regterkantste karakter.
- As getal_tekens weggelaat word, word 1 laaste karakter van die string teruggestuur (verstek).
- As getal_tekens groter is as die totale aantal van karakters in die string, word alle karakters teruggestuur.
- As getal_tekens 'n negatiewe getal is, gee 'n Regs-formule die #WAARDE! fout.
Om byvoorbeeld die laaste 3 karakters uit die string in sel A2 te onttrek, gebruik hierdie formule:
=RIGHT(A2, 3)
Die resultaat kan iets soortgelyks soos hierdie lyk:
Belangrike nota! Die Excel REGS-funksie gee altyd 'n teks terugstring , selfs al is die oorspronklike waarde 'n getal. Om 'n Regte formule te dwing om 'n getal uit te voer, gebruik dit in kombinasie met die VALUE-funksie soos in hierdie voorbeeld gedemonstreer.
Hoe om REGTE-funksie in Excel te gebruik - formulevoorbeelde
In die werklike lewe werkkaarte, word die Excel REGS-funksie selde op sy eie gebruik. In die meeste gevalle sal jy dit saam met ander Excel-funksies gebruik as deel van meer komplekse formules.
Hoe om 'n substring te kry wat ná 'n sekere karakter kom
In geval jy wil onttrek 'n substring wat 'n spesifieke karakter volg, gebruik óf SEARCH óf FIND funksie om die posisie van daardie karakter te bepaal, trek die posisie af van die totale stringlengte wat deur die LEN-funksie teruggestuur word, en trek soveel karakters van die regterkantste kant van die oorspronklike string.
REGS( string , LEN( string ) - SOEK( karakter , string ))Kom ons sê, sel A2 bevat die voornaam en van geskei deur 'n spasie, en jy mik om die van na 'n ander sel te trek. Neem net die generiese formule hierbo en jy plaas A2 in die plek van string , en " " (spasie) in tempo van karakter:
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
Die formule sal die volgende resultaat lewer:
Op 'n soortgelyke wyse kan jy 'n substring kry wat op enige ander karakter volg, bv. 'n komma, kommapunt, koppelteken, ens. Om byvoorbeeld 'n substring wat na 'n koppelteken kom, te onttrek,gebruik hierdie formule:
=RIGHT(A2,LEN(A2)-SEARCH("-",A2))
Die resultaat sal soortgelyk soos hierdie lyk:
Hoe om 'n substring te onttrek na die laaste voorkoms van die skeidingsteken
Wanneer handel met komplekse stringe wat verskeie voorkomste van dieselfde skeidingsteken bevat, moet jy dalk dikwels die teks regs van die laaste skeidingsvoorkoms ophaal. Om dinge makliker te maak om te verstaan, kyk na die volgende brondata en gewenste resultaat:
Soos jy in die skermkiekie hierbo kan sien, bevat Kolom A 'n lys van foute. Jou doel is om die foutbeskrywing te trek wat ná die laaste dubbelpunt in elke string kom. 'n Bykomende komplikasie is dat die oorspronklike stringe verskillende getalle afbakeningsgevalle kan bevat, bv. A3 bevat 3 dubbelpunte terwyl A5 net een bevat.
Die sleutel tot die vind van 'n oplossing is om die posisie van die laaste skeidingsteken in die bronstring te bepaal (die laaste voorkoms van 'n dubbelpunt in hierdie voorbeeld). Om dit te doen, sal jy 'n handvol verskillende funksies moet gebruik:
- Kry die aantal skeidingstekens in die oorspronklike string. Dit is 'n maklike deel:
- Eerstens, jy bereken die totale lengte van die string deur die LEN-funksie te gebruik: LEN(A2)
- Tweedens, jy bereken die lengte van die string sonder afbakenings deur die gebruik van die SUBSTITUTE-funksie wat alle voorkoms van 'n dubbelpunt met niks vervang nie: LEN(SUBSTITUTE(A2,":",""))
- Laastens trek jy die lengte van die oorspronklike string afsonder skeidingstekens van die totale stringlengte: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
Om seker te maak die formule werk reg, kan jy dit in 'n aparte sel, en die resultaat sal 2 wees, wat die aantal dubbelpunte in sel A2 is.
- Vervang die laaste skeidingsteken met een of ander unieke karakter. Om die teks wat na die laaste afbakener in die string kom, te onttrek, moet ons daardie finale voorkoms van die afbakener op een of ander manier "merk". Hiervoor vervang ons die laaste voorkoms van 'n dubbelpunt met 'n karakter wat nêrens in die oorspronklike stringe voorkom nie, byvoorbeeld met 'n pondteken (#).
As jy vertroud is met die sintaksis van die Excel PLAASVERVANG-funksie, kan jy onthou dat dit die 4de opsionele argument (instance_num) het wat dit toelaat om slegs 'n spesifieke voorkoms van die gespesifiseerde karakter te vervang. En aangesien ons reeds die aantal skeidingstekens in die string bereken het, verskaf bloot die bogenoemde funksie in die vierde argument van 'n ander PLAASVERVANG-funksie:
=SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))
As jy hierdie formule in 'n aparte sel plaas , dit sal hierdie string terugstuur: FOUT:432#Verbinding uitgetel
- Kry die posisie van die laaste skeidingsteken in die string. Afhangende van watter karakter jy die laaste skeidingsteken vervang het, gebruik óf hoofletter-onsensitiewe SEARCH óf hooflettersensitiewe FIND om die posisie van daardie karakter in die string te bepaal. Ons het die laaste dubbelpunt vervangmet die #-teken, dus gebruik ons die volgende formule om sy posisie uit te vind:
=SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))
In hierdie voorbeeld gee die formule 10 terug, wat die posisie van # in die vervangde string is.
- Stuur 'n substring regs van die laaste skeidingsteken terug. Noudat jy die posisie van die laaste skeidingsteken in 'n string ken, hoef jy net daardie getal van die totale stringlengte af te trek en die REGTE funksie te kry om soveel karakters van die einde van die oorspronklike string terug te gee:
=RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
Soos in die skermkiekie hieronder getoon, werk die formule perfek:
As jy met 'n groot datastel werk waar verskillende selle verskillende afbakenings kan bevat, wil jy dalk om die bogenoemde formule in die IFERROR-funksie in te sluit om moontlike foute te voorkom:
=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))), A2)
In die geval dat 'n sekere string nie 'n enkele voorkoms van die gespesifiseerde afbakener bevat nie, sal die oorspronklike string teruggestuur word, soos in ry 6 in die skermkiekie hieronder:
Hoe om die eerste N karakters uit 'n string te verwyder
Behalwe om 'n substring van die einde van 'n string te onttrek, kom die Excel REGS-funksie handig te pas in situasies wanneer jy 'n sekere aantal karakters van die begin van die string wil verwyder.
In die datastel wat in die vorige gebruik is In hierdie geval wil u dalk die woord "FOUT" wat aan die begin van elke string verskyn, verwyder en slegs die foutnommer en beskrywing laat. Om dit te hêgedoen, trek die aantal karakters wat verwyder moet word van die totale stringlengte af, en verskaf daardie getal aan die getal_tekens -argument van die Excel REGS-funksie:
REGS( string , LEN ( string )- aantal_tekens_om_te_verwyder )In hierdie voorbeeld verwyder ons die eerste 6 karakters (5 letters en 'n dubbelpunt) van die teksstring in A2, so ons formule gaan soos volg:
=RIGHT(A2, LEN(A2)-6)
Kan die Excel REGS-funksie 'n getal teruggee?
Soos genoem in die begin van hierdie tutoriaal, gee die REGTE-funksie in Excel altyd 'n teksstring selfs as die oorspronklike waarde 'n getal is. Maar wat as jy met 'n numeriese datastel werk en wil hê dat die uitvoer ook numeries moet wees? 'n Maklike oplossing is om 'n Regte formule in die VALUE-funksie te nes, wat spesiaal ontwerp is om 'n string wat 'n getal verteenwoordig na 'n getal om te skakel.
Om byvoorbeeld die laaste 5 karakters (poskode) uit die string te trek in A2 en omskep die onttrekte karakters na 'n getal, gebruik hierdie formule:
=VALUE(RIGHT(A2, 5))
Die skermkiekie hieronder wys die resultaat - let asseblief op die regsbelyningsnommers in kolom B, in teenstelling met links -belynde teksstringe in kolom A:
Hoekom werk die REGTE-funksie nie met datums nie?
Aangesien die Excel REGS-funksie ontwerp is om met teksstringe te werk, terwyl datums deur syfers in die interne Excel-stelsel, 'n Regte formule is nie in staat om 'n individu te haal niedeel van 'n datum soos 'n dag, maand of jaar. As jy dit probeer doen, sal jy net 'n paar laaste syfers van die nommer kry wat 'n datum verteenwoordig.
Gestel, jy het die datum 18-Jan-2017 in sel A1. As jy probeer om die jaar te onttrek met die formule REGS(A1,4), sal die resultaat 2753 wees, wat die laaste 4 syfers van nommer 42753 is wat 18 Januarie 2017 in die Excel-stelsel verteenwoordig.
"So, hoe haal ek 'n sekere deel van 'n datum terug?", kan jy my vra. Deur een van die volgende funksies te gebruik:
- DAY-funksie om 'n dag te onttrek: =DAY(A1)
- MONTH-funksie om 'n maand te kry: =MONTH(A1)
- YEAR-funksie om 'n jaar te trek: =YEAR(A1)
Die volgende skermkiekie wys die resultate:
As jou datums deur teksstringe voorgestel word , wat dikwels die geval is wanneer jy data van 'n eksterne bron uitvoer, niks verhoed jou om die REGTE funksie te gebruik om die laaste paar karakters in die string te trek wat 'n sekere deel van die datum verteenwoordig nie:
Excel REGS funksie werk nie - redes en oplossings
As 'n Regte formule nie reg in jou werkblad werk nie, is dit heel waarskynlik as gevolg van een van die volgende redes:
- Daar is een of meer volgende spasies in die oorspronklike data. Om ekstra spasies in selle vinnig te verwyder, gebruik óf die Excel TRIM-funksie óf die Cell Cleaner-byvoeging.
- Die getal_tekens -argument is minder as nul . Vannatuurlik sal jy beswaarlik 'n negatiewe getal in jou formule wil plaas, maar as die getal_tekens -argument deur 'n ander Excel-funksie of 'n kombinasie van verskillende funksies bereken word en jou Regte formule gee die #WAARDE! fout, maak seker dat jy die geneste funksie(s) vir foute nagaan.
- Die oorspronklike waarde is 'n datum . As jy hierdie tutoriaal noukeurig gevolg het, weet jy reeds hoekom die REGTE funksie nie met datums kan werk nie. As iemand die vorige afdeling oorgeslaan het, kan jy volledige besonderhede vind in Waarom die Excel REGS-funksie nie met datums werk nie.
Dit is hoe jy die REGTE-funksie in Excel gebruik. Om die formules wat in hierdie tutoriaal bespreek word van nader te bekyk, is u baie welkom om ons voorbeeldwerkboek hieronder af te laai. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien.
Beskikbare aflaaie
Excel REGS-funksie - voorbeelde (.xlsx-lêer)