Táboa de contidos
Nos últimos artigos, falamos de diferentes funcións de texto: aquelas que se usan para manipular cadeas de texto. Hoxe o noso foco está na función RIGHT, que está deseñada para devolver un número especificado de caracteres desde o lado máis dereito dunha cadea. Do mesmo xeito que outras funcións de texto de Excel, RIGHT é moi sinxelo e directo, aínda que ten algúns usos pouco obvios que poden resultar útiles no teu traballo.
Sintaxe da función RIGHT de Excel
A función RIGHT en Excel devolve o número especificado de caracteres desde o final dunha cadea de texto.
A sintaxe da función RIGHT é a seguinte:
RIGHT(texto, [num_chars])Onde :
- Texto (obrigatorio) - a cadea de texto da que desexa extraer caracteres.
- Número_caracteres (opcional) - o número de caracteres para extraer, comezando polo carácter máis á dereita.
- Se se omite num_chars , devólvese 1 último carácter da cadea (predeterminado).
- Se num_chars é maior que o número total de caracteres da cadea, devólvense todos os caracteres.
- Se num_chars é un número negativo, unha fórmula correcta devolve o #VALOR! erro.
Por exemplo, para extraer os últimos 3 caracteres da cadea da cela A2, use esta fórmula:
=RIGHT(A2, 3)
O resultado pode parecer algo parecido a este:
Nota importante! A función DERECHA de Excel sempre devolve un texto cadea , aínda que o valor orixinal sexa un número. Para forzar unha fórmula correcta para que saia un número, utilízaa en combinación coa función VALOR como se demostra neste exemplo.
Como usar a función DERECHA en Excel: exemplos de fórmulas
Na vida real follas de traballo, a función RIGHT de Excel raramente se usa por si mesma. Na maioría dos casos, usarao xunto con outras funcións de Excel como parte de fórmulas máis complexas.
Como obter unha subcadea que vén despois dun determinado carácter
No caso de que queiras extraer unha subcadea que segue a un carácter específico, use a función BUSCAR ou BUSCAR para determinar a posición dese carácter, restar a posición da lonxitude total da cadea que devolve a función LEN e tirar ese número de caracteres do lado máis dereito da cadea orixinal.
DEREITA( cadea , LEN( cadea ) - BUSCAR( carácter , cadea ))Digamos, cela A2 contén o nome e o apelido separados por un espazo, e pretendes tirar o apelido a outra cela. Basta con tomar a fórmula xenérica anterior e poñer A2 en lugar de cadea e " " (espazo) ao ritmo de carácter:
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
A fórmula dará o seguinte resultado:
De forma semellante, pode obter unha subcadea que siga a calquera outro carácter, p. unha coma, punto e coma, guión, etc. Por exemplo, para extraer unha subcadea que vén despois dun guión,use esta fórmula:
=RIGHT(A2,LEN(A2)-SEARCH("-",A2))
O resultado será semellante a este:
Como extraer unha subcadea despois da última aparición do delimitador
Cando Tratando con cadeas complexas que conteñen varias ocorrencias do mesmo delimitador, moitas veces pode ter que recuperar o texto á dereita da última aparición do delimitador. Para facilitar a comprensión das cousas, bótalle unha ollada aos seguintes datos de orixe e ao resultado desexado:
Como podes ver na captura de pantalla anterior, a Columna A contén unha lista de erros. O teu obxectivo é extraer a descrición do erro que aparece despois dos últimos dous puntos en cada cadea. Unha complicación adicional é que as cadeas orixinais poden conter diferentes números de instancias de delimitador, p. A3 contén 3 dous puntos mentres que A5 só un.
A clave para atopar unha solución é determinar a posición do último delimitador na cadea de orixe (a última aparición de dous puntos neste exemplo). Para iso, terás que utilizar un puñado de funcións diferentes:
- Obter o número de delimitadores na cadea orixinal. É unha parte sinxela:
- En primeiro lugar, calcula a lonxitude total da cadea usando a función LEN: LEN(A2)
- En segundo lugar, calcula a lonxitude da cadea sen delimitadores usando o Función SUBSTITUTE que substitúe todas as ocorrencias de dous puntos sen nada: LEN(SUBSTITUTE(A2,":",""))
- Finalmente, resta a lonxitude da cadea orixinalsen delimitadores da lonxitude total da cadea: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
Para asegurarse de que a fórmula funciona correctamente, pode introducila nun cela separada e o resultado será 2, que é o número de dous puntos na cela A2.
- Substitúe o último delimitador por algún carácter único. Para extraer o texto que vén despois do último delimitador da cadea, necesitamos "marcar" esa aparición final do delimitador dalgún xeito. Para iso, imos substituír a última aparición de dous puntos por un carácter que non aparece en ningún lugar das cadeas orixinais, por exemplo cun signo de libra (#).
Se está familiarizado coa sintaxe da función SUBSTITUTO de Excel, pode lembrar que ten o 4º argumento opcional (número_instance) que permite substituír só unha aparición específica do carácter especificado. E como xa calculamos o número de delimitadores na cadea, simplemente fornece a función anterior no cuarto argumento doutra función SUBSTITUTE:
=SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))
Se colocas esta fórmula nunha cela separada , devolvería esta cadea: ERROR:432#Connection timeout
- Obter a posición do último delimitador na cadea. Dependendo do carácter co que substituíches o último delimitador, utiliza o SEARCH que non distingue entre maiúsculas e minúsculas ou FIND para determinar a posición dese carácter na cadea. Substituímos os últimos dous puntosco signo #, polo que usamos a seguinte fórmula para coñecer a súa posición:
=SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))
Neste exemplo, a fórmula devolve 10, que é a posición de # na cadea substituída.
- Devolve unha subcadea á dereita do último delimitador. Agora que coñeces a posición do último delimitador nunha cadea, todo o que tes que facer é restar ese número da lonxitude total da cadea e obter a función DEREITO para devolver tantos caracteres desde o final da cadea orixinal:
=RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
Como se mostra na captura de pantalla a continuación, a fórmula funciona perfectamente:
Se está a traballar cun conxunto de datos grande onde as celas diferentes poden conter delimitadores diferentes, pode querer para incluír a fórmula anterior na función IFERROR para evitar posibles erros:
=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))), A2)
No caso de que unha determinada cadea non conteña unha única aparición do delimitador especificado, devolverase a cadea orixinal, como na fila 6 da captura de pantalla a continuación:
Como eliminar os primeiros N caracteres dunha cadea
Ademais de extraer unha subcadea do final dunha cadea, a función DERECHA de Excel é útil nas situacións nas que quere eliminar un determinado número de caracteres do inicio da cadea.
No conxunto de datos utilizado no anterior Como exemplo, pode querer eliminar a palabra "ERRO" que aparece ao comezo de cada cadea e deixar só o número e a descrición do erro. Para telofeito, resta o número de caracteres a eliminar da lonxitude total da cadea e proporciona ese número ao argumento num_chars da función RIGHT de Excel:
RIGHT( cadea , LEN ( cadea )- número_de_caracteres_que_eliminar )Neste exemplo, eliminamos os 6 primeiros caracteres (5 letras e dous puntos) da cadea de texto en A2, polo que a nosa fórmula é como segue:
=RIGHT(A2, LEN(A2)-6)
A función DEREITA de Excel pode devolver un número?
Como se mencionou ao comezo deste tutorial, a función DEREITA en Excel sempre devolve unha cadea de texto incluso se o valor orixinal é un número. Pero que pasa se traballas cun conxunto de datos numéricos e queres que a saída tamén sexa numérico? Unha solución sinxela é aniñar unha fórmula correcta na función VALOR, que está deseñada especialmente para converter unha cadea que representa un número en número.
Por exemplo, para extraer os últimos 5 caracteres (código postal) da cadea. en A2 e converte os caracteres extraídos nun número, use esta fórmula:
=VALUE(RIGHT(A2, 5))
A captura de pantalla a continuación mostra o resultado. Observe os números aliñados á dereita na columna B, en oposición á esquerda. -cadeas de texto aliñadas na columna A:
Por que a función RIGHT non funciona coas datas?
Xa que a función RIGHT de Excel está deseñada para funcionar con cadeas de texto mentres que as datas están representadas por números en o sistema Excel interno, unha fórmula correcta non pode recuperar un individuoparte dunha data como un día, mes ou ano. Se tentas facelo, só obterás uns cantos últimos díxitos do número que representan unha data.
Supoño que tes a data 18-xan-2017 na cela A1. Se tentas extraer o ano coa fórmula RIGHT(A1,4), o resultado sería 2753, que son os últimos 4 díxitos do número 42753 que representa o 18 de xaneiro de 2017 no sistema Excel.
"Entón, como podo recuperar unha determinada parte dunha data?", podes me preguntar. Usando unha das seguintes funcións:
- Función DAY para extraer un día: =DAY(A1)
- Función MES para obter un mes: =MES(A1)
- Función YEAR para tirar un ano: =YEAR(A1)
A seguinte captura de pantalla mostra os resultados:
Se as súas datas están representadas por cadeas de texto , que adoita ser o caso cando exportas datos desde unha fonte externa, nada lle impide usar a función RIGHT para tirar os últimos caracteres da cadea que representan unha determinada parte da data:
Excel RIGHT a función non funciona: razóns e solucións
Se unha fórmula correcta non funciona correctamente na túa folla de traballo, o máis probable é que sexa por algún dos seguintes motivos:
- Hai un ou máis espazos ao final nos datos orixinais. Para eliminar rapidamente espazos adicionais nas celas, use a función TRIM de Excel ou o complemento Limpador de celas.
- O argumento num_chars é menos que cero . DePor suposto, dificilmente quererá poñer un número negativo na súa fórmula adrede, pero se o argumento num_chars é calculado por outra función de Excel ou unha combinación de diferentes funcións e a súa fórmula correcta devolve o #VALOR! erro, asegúrese de comprobar as funcións aniñadas para detectar erros.
- O valor orixinal é unha data . Se seguiches de preto este tutorial, xa sabes por que a función RIGHT non pode funcionar coas datas. Se alguén se saltou a sección anterior, podes atopar todos os detalles en Por que a función DERECHA de Excel non funciona coas datas.
Así é como usa a función DERECHA en Excel. Para ter unha ollada máis atenta ás fórmulas que se comentan neste tutorial, podes descargar o noso libro de exemplo a continuación. Grazas por ler e espero verte no noso blog a vindeira semana.
Descargas dispoñibles
Función Excel RIGHT - exemplos (ficheiro .xlsx)