Extraer texto antes y después de un carácter en excel
En Excel, puede escribir fórmulas para extraer texto antes o después de un carácter específico. Y en este tutorial, aprenderemos a escribir estas fórmulas.
Extraer texto después de un carácter
Necesitamos usar TRIM, RIGHT, SUBSTITUTE, REPT y LEN en esta fórmula. Y en el siguiente ejemplo, tenemos dos valores de palabras en los valores y el carácter intermedio.
=TRIM(RIGHT(SUBSTITUTE(A1,B1,REPT(" ",LEN(A1))),LEN(A1))) =TRIM(RIGHT(SUBSTITUTE(original_text,character,REPT(" ",LEN(original_text))),LEN(original_text)))
Para entender esta fórmula, es necesario dividirla en varias partes:
En la primera parte, tenemos SUBSTITUTE(A1,B1,REPT(" ",LEN(A1)))
. Esto es parte de la fórmula que reemplaza el carácter (,) con la cantidad de espacios equivalente a la longitud del carácter.
Puedes ver que tienes un espacio entre “Asesor de Excel” en lugar de la coma.
En la segunda parte, =TRIM(RIGHT("Excel Advisor",LEN(A1)))
que extrae el texto del lado derecho del texto y luego lo recorta para eliminar el espacio adicional.
¿Diferentes instancias de personajes?
Cuando trabaje con datos, es posible que tenga varias instancias del personaje y es posible que la fórmula anterior no le ayude a lidiar con eso. En este caso, debes utilizar la siguiente fórmula.
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,B1,""))<=1,"",MID(SUBSTITUTE(A1,B1,"^^",C1),FIND("^^",SUBSTITUTE(A1,B1,"^^",C1))+2,LEN(A1)))
Con esta fórmula, debe especificar el carácter para extraer el texto, luego comienza la instancia del carácter.
La fórmula anterior es compleja pero funciona de maravilla. El código para esta fórmula es la función SUSTITUIR que le ayuda a obtener el segundo o enésimo instante del carácter y luego puede reemplazar ese instante con un «^^» que ayuda aún más a extraer el texto.
Pero también puedes usar la nueva función DESPUÉS DE TEXTO (OFFICE 365), que tiene todas las opciones para obtener texto después de un carácter sin tener que recurrir a una fórmula compleja como la anterior.
Debes especificar el carácter y la instancia en la función.
Extraer texto antes de un carácter.
Puede utilizar la siguiente fórmula para obtener el texto antes de un carácter.
Esta es la fórmula exacta que usamos para obtener el texto después de un carácter. En lugar de usar DERECHA, deberías usar IZQUIERDA. Para obtener el texto izquierdo (frontal).
=TRIM(LEFT(SUBSTITUTE(A2,B2,REPT(" ",LEN(A2))),LEN(A2)))
Y esta fórmula funciona exactamente igual que esta fórmula. Consúltelo para que sea comprensible.
Diferentes instancias de personajes
Hay dos formas de obtener el texto antes (o después) de un carácter.
=IF(LEN(A2)-LEN(SUBSTITUTE(A2,B2,""))<=1,"",LEFT(SUBSTITUTE(A2,B2,"^^",C2),FIND("^^",SUBSTITUTE(A2,B2,"^^",C2))-1))
Se puede utilizar en cualquier versión de Excel; puede especificar los caracteres y la instancia para obtener el texto.
Pero si usa Excel (Office 365), no necesita usar esta fórmula compleja. En su lugar, puede utilizar la función TEXTBANTES.