Separar Texto y Números – Excel y Google Sheets
Descargar el Libro de Ejemplo
Este tutorial le mostrará cómo separar texto y números de una cadena alfanumérica en Excel y Google Sheets.
Separar Números y Texto de una Cadena
Este artículo discutirá cómo separar números y texto si tienes datos alfanuméricos donde la primera parte es texto y la última parte es numérica (o viceversa), y necesitas sólo la parte numérica. Para casos más complejos vea el Artículo Cómo eliminar caracteres no numéricos.
Extraer Número de la Derecha
El caso más sencillo de extraer números de una cadena es cuando el número se encuentra en el extremo derecho de dicha cadena. Primero localizamos la posición inicial del número con la Función ENCONTRAR y luego lo extraemos con la función DERECHA.
=DERECHA(B3;LARGO(B3)-MIN(ENCONTRAR({0;1;2;3;4;5;6;7;8;9};B3&"0123456789"))+1)
Repasemos la fórmula anterior.
Encontrar el Primer Número
Podemos utilizar la Función ENCONTRAR para localizar la posición inicial del número.
=MIN(ENCONTRAR({0;1;2;3;4;5;6;7;8;9};B3&"0123456789"))
Para el argumento texto_buscado de la Función ENCONTRAR, utilizamos la constante de matriz {0;1;2;3;4;5;6;7;8;9}, lo que hace que la Función ENCONTRAR realice búsquedas separadas para cada valor de la constante de matriz.
El argumento dentro_del_texto de la Función ENCONTRAR es EL Valor de la Celda B3 y “0123456789”. En nuestro ejemplo, “Monday010123456789”.
Como la constante de matriz contiene 10 números, el resultado será una matriz de 10 valores. En nuestro ejemplo: {7;8;11;12;13;14;15;16;17;18}. Entonces simplemente buscamos el mínimo de posiciones numéricas dentro de este array y obtenemos por tanto el lugar del primer número.
Extraer la Parte Numérica
Una vez que tenemos la posición inicial del número que se encuentra al final de nuestra cadena alfanumérica, podemos utilizar la Función DERECHA para extraerlo.
=DERECHA(B3;LARGO(B3)-C3+1)
Extraer Parte de Texto
Con la posición inicial de la parte numérica podemos determinar al mismo tiempo el final de la parte textual. Podemos utilizar la Función IZQUIERDA para extraerlo.
=IZQUIERDA(B3;C3-1)
Extraer Número por la Izquierda
Un caso más complicado de extraer números de una cadena es cuando el número puede encontrarse al principio (es decir, a la izquierda) de la cadena. Obviamente, no es necesario encontrar su posición inicial, sino la posición donde termina. Primero encontramos la posición del último número con la ayuda de la Función SUSTITUIR luego extraemos el número con la función IZQUIERDA.
=IZQUIERDA(B3;SUMA(LARGO(B3)-LARGO(SUSTITUIR(B3;{"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"};""))))
Veamos la fórmula anterior.
Encontrar el Último Número
Con la Función SUSTITUIR puedes reemplazar cada número uno a uno por una cadena vacía y luego sumar cuántas veces tuviste que hacerlo.
=SUMA(LARGO(B3)-LARGO(SUSTITUIR(B3;{"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"};"")))
Cuando sustituyes cada número de uno en uno por una cadena vacía, obtienes cada vez una cadena cuya longitud es uno menos que la longitud original. En nuestro caso, la longitud de 1-Lunes y 0-Lunes es 8. Si restamos esta longitud de la longitud original (9 en nuestro caso), siempre obtenemos 1. Al sumarlos, se obtiene la posición del último número.
Extraer la Parte del Número
Una vez que tenemos la última posición del número que se encuentra al principio de nuestra cadena alfanumérica, podemos utilizar la Función IZQUIERDA para extraerla.
=IZQUIERDA(B3;C3)
Extraer la Parte de Texto
Teniendo la última posición del número encontrado al principio de nuestra cadena alfanumérica, ya tenemos la posición inicial de nuestra parte de texto y podemos utilizar la Función DERECHA para extraerla.
=DERECHA(B3;LARGO(B3)-C3)
Separar Texto y Números en Google Sheets
Todos los ejemplos explicados anteriormente funcionan igual en Google Sheets que en Excel.