Táboa de contidos
Ao traballar con datos de texto non estruturados nas túas follas de traballo, moitas veces necesitas analizalos para recuperar información relevante. Este artigo ensinarache algunhas formas sinxelas de eliminar calquera número de caracteres do lado esquerdo ou dereito dunha cadea de texto.
Como eliminar caracteres da esquerda en Excel
Eliminar os primeiros caracteres dunha cadea é unha das tarefas máis comúns en Excel, e pódese realizar con 3 fórmulas diferentes.
Eliminar o primeiro carácter en Excel
Para eliminar o primeiro carácter dunha cadea, pode usar a función REPLACE ou unha combinación de funcións RIGHT e LEN.
REPLACE( cadea, 1, 1, "")Aquí simplemente tomamos 1 carácter desde a primeira posición e substitúea por unha cadea baleira ("").
RIGHT( cadea, LEN( cadea) - 1)Nesta fórmula, use a función LEN para calcular a lonxitude total da cadea e restalle 1 carácter. A diferenza sérvese á DEREITA, polo que extrae tantos caracteres do final da cadea.
Por exemplo, para eliminar o primeiro carácter da cela A2, as fórmulas son as seguintes:
=REPLACE(A2, 1, 1, "")
=RIGHT(A2, LEN(A2) - 1)
Eliminar caracteres da esquerda
Para eliminar os caracteres principais do lado esquerdo dunha cadea, tamén utiliza o botón REPLACE ou RIGHT e LEN, pero especifique cantos caracteres quere eliminar cada vez:
REPLACE( cadea , 1, num_chars ,"")Ou
DEREITA( cadea , LEN( cadea ) - num_chars )Por exemplo, para eliminar 2 primeiros caracteres da cadea en A2, as fórmulas son:
=REPLACE(A2, 1, 2, "")
=RIGHT(A2, LEN(A2) - 2)
Para eliminar os primeiros 3 caracteres , as fórmulas adoptan esta forma:
=REPLACE(A2, 1, 3, "")
=RIGHT(A2, LEN(A2) - 3)
A seguinte captura de pantalla mostra a fórmula REPLACE en acción. Con RIGHT LEN, os resultados serían exactamente os mesmos.
Función personalizada para eliminar os primeiros n caracteres
Se non che importa usar VBA nas túas follas de traballo, pode crear a súa propia función definida polo usuario para eliminar caracteres do inicio dunha cadea, chamada RemoveFirstChars . O código da función é tan sinxelo coma este:
Función RemoveFirstChars(str As String , num_chars As Long ) RemoveFirstChars = Right(str, Len(str) - num_chars) End FunctionUnha vez que o código está inserido no teu libro de traballo ( as instrucións detalladas están aquí), pode eliminar os primeiros n caracteres dunha determinada cela mediante esta fórmula compacta e intuitiva:
RemoveFirstChars(string, num_chars)Por exemplo, para eliminar o first carácter dunha cadea en A2, a fórmula en B2 é:
=RemoveFirstChars(A2, 1)
Para eliminar os dous primeiros caracteres de A3, a fórmula en B3 é:
=RemoveFirstChars(A4, 2)
Para eliminar os tres primeiros caracteres de A4, a fórmula en B4 é:
=RemoveFirstChars(A4, 3)
Máis información sobre Usando funcións personalizadas en Excel.
Como eliminar caracteresdende a dereita
Para eliminar caracteres do lado dereito dunha cadea, tamén podes usar funcións nativas ou crear a túa propia.
Eliminar o último carácter en Excel
Para eliminar o último carácter dunha cela, a fórmula xenérica é:
LEFT( string , LEN( string ) - 1)Nesta fórmula, resta 1 da lonxitude total da cadea e pásase a diferenza á función ESQUERDA para que extraia tantos caracteres do inicio da cadea.
Por exemplo, para eliminar o último carácter da cela A2, a fórmula en B2 é:
=LEFT(A2, LEN(A2) - 1)
Eliminar caracteres da dereita
Para eliminar un determinado número de caracteres do final dunha cela, a fórmula xenérica é:
LEFT( cadea , LEN( cadea ) - num_chars )A lóxica é a mesma que na fórmula anterior, e debaixo hai un par de exemplos.
Para eliminar os últimos 3 caracteres , use 3 para num_chars :
=LEFT(A2, LEN(A2) - 3)
Para eliminar o últimos 5 caracteres , proporciona 5 para num_chars :
83 86
Función personalizada para eliminar os últimos n caracteres en Excel
Se queres ter a túa propia función para eliminar calquera número de caracteres desde a dereita, engade este VBA código ao seu libro de traballo:
Función RemoveLastChars(str As String , num_chars As Long ) RemoveLastChars = Left(str, Len(str) - num_chars) End FunctionA función chámase RemoveLastChars e o seu a sintaxe apenas precisacalquera explicación:
RemoveLastChars(string, num_chars)Para facerlle unha proba de campo, eliminemos o último carácter en A2:
=RemoveLastChars(A2, 1)
Ademais, eliminaremos os últimos 2 caracteres do lado dereito da cadea en A3:
=RemoveLastChars(A3, 2)
Para eliminar os últimos 3 caracteres da cela A4, a fórmula é:
=RemoveLastChars(A4, 3)
Como podes ver na seguinte captura de pantalla, a nosa función personalizada funciona de forma xenial!
Como eliminar caracteres á dereita e á esquerda á vez
En situacións na que necesites eliminar os caracteres dos dous lados dunha cadea, podes executar as dúas fórmulas anteriores de forma secuencial ou optimizar o traballo coa axuda de a función MID.
MID( cadea , esquerda _ caracteres + 1, LEN( cadea ) - ( esquerda _ caracteres + dereita _ caracteres )Onde:
- caracteres_esquerda - o número de caracteres a eliminar dende a esquerda.
- chars_right - o número de caracteres a eliminar dende a dereita.
Supoña que quere extraer t o nome de usuario dunha cadea como mailto:[email protected] . Para iso, hai que eliminar parte do texto desde o principio ( mailto: - 7 caracteres) e desde o final ( @gmail.com - 11 caracteres).
Sitúe os números anteriores á fórmula:
=MID(A2, 7+1, LEN(A2) - (7+10))
…e o resultado non che fará esperar:
Para entender o que é realmente pasando aquí, recordemos a sintaxe doFunción MID, que se usa para extraer unha subcadea dun tamaño determinado desde o medio da cadea orixinal:
MID(texto, start_num, num_chars)O argumento text non suscita dúbidas - é a cadea de orixe (A2 no noso caso).
Para obter a posición do primeiro carácter a extraer ( número_inicio ), engádese 1 ao número de caracteres que se van eliminar desde a esquerda (7+1).
Para determinar cantos caracteres devolver ( num_chars ), calcula o total de caracteres eliminados (7 + 11) e resta a suma da lonxitude de toda a cadea: LEN(A2) - (7+10)).
Obter o resultado como número
Calquera que sexa das fórmulas anteriores que utilices, a saída é sempre texto, mesmo cando o valor devolto só contén números. Para devolver o resultado como un número , envolve a fórmula básica na función VALOR ou realiza algunha operación matemática que non afecte o resultado, p. ex. multiplica por 1 ou engade 0. Esta técnica é especialmente útil cando queres seguir calculando os resultados.
Supoña que eliminaches o primeiro carácter das celas A2:A6 e queres sumar os valores resultantes. Sorprendentemente, unha fórmula de SUMA trivial devolve cero. Por que é iso? Obviamente, porque estás sumando cadeas, non números. Realice unha das seguintes operacións e solucionouse o problema.
=VALUE(REPLACE(A2, 1, 1, ""))
=RIGHT(A2, LEN(A2) - 1) * 1
=RemoveFirstChars(A2, 1) + 0
Eliminar o primeiro ou o último carácter con Flash Fill
En Excel2013 e versións posteriores, hai un xeito máis sinxelo de eliminar o primeiro e o último carácter en Excel: a función Flash Fill.
- Nunha cela adxacente á primeira cela cos datos orixinais, escriba o resultado desexado omitindo o primeiro ou o último carácter da cadea orixinal e prema Intro .
- Comezar a escribir o valor esperado na seguinte cela. Se Excel detecta o padrón nos datos que está a introducir, seguirá o mesmo patrón no resto das celas e mostrará unha vista previa dos seus datos sen o primeiro/último carácter.
- Basta con premer a tecla Intro para acepta a vista previa.
Eliminar caracteres por posición con Ultimate Suite
Tradicionalmente, os usuarios da nosa Ultimate Suite poden xestionar a tarefa cuns poucos clics sen ter que para lembrar un puñado de fórmulas diversas.
Para eliminar o primeiro ou o último n caracteres dunha cadea, isto é o que cómpre facer:
- No Datos de Ablebits Pestana , no grupo Texto , faga clic en Eliminar > Eliminar por posición .
Por exemplo, para eliminar o primeiro carácter, configuramos a seguinte opción:
Así é como eliminar unha subcadea da esquerda ou da dereita en Excel. Grazas por ler e espero verte no noso blogsemana!
Descargas dispoñibles
Eliminar primeiro ou último carácter - exemplos (ficheiro .xlsm)
Ultimate Suite - versión de proba (ficheiro .exe)