Excel

Dividir texto y números

Split Text Numbers

Fórmula de Excel: dividir texto y númerosFórmula genérica
= MIN ( FIND ({0,1,2,3,4,5,6,7,8,9},A1&'0123456789'))
Resumen

Para separar texto y números, puede utilizar una fórmula basada en la Función ENCONTRAR , la Función MIN , y el Función LEN con el IZQUIERDA o DERECHO función, dependiendo de si desea extraer el texto o el número. En el ejemplo que se muestra, la fórmula en C5 es:

|_+_|

que devuelve 7, la posición del número 3 en la cadena 'manzanas30'.



Explicación

Visión general

La fórmula parece compleja, pero la mecánica es bastante simple.



Como ocurre con la mayoría de fórmulas que dividen o extraen texto, la clave es ubicar el posición de lo que estás buscando. Una vez que tenga el puesto, puede utilizar otras funciones para extraer lo que necesita.

En este caso, asumimos que los números y el texto están combinados y que el número aparece después del texto. Del texto original, que aparece en una celda, desea dividir el texto y los números en celdas separadas, así:



Original Texto Número
Manzanas30 Manzanas 30
melocotones24 melocotones 24
naranjas12 naranjas 12
melocotones0 melocotones 0

Como se indicó anteriormente, la clave en este caso es ubicar la posición inicial del número, lo que puede hacer con una fórmula como esta:

cómo encontrar coincidencias en Excel
|_+_|

Una vez que tenga la posición, para extraer solo el texto, use:

|_+_|

Y, para extraer solo el número, use:



|_+_|

En la primera fórmula anterior, estamos usando la función ENCONTRAR para ubicar la posición inicial del número. Para find_text, estamos usando la constante de matriz {0,1,2,3,4,5,6,7,8,9}, esto hace que la función FIND realice una búsqueda separada para cada valor en la constante de matriz. Dado que la constante de la matriz contiene 10 números, el resultado será una matriz con 10 valores. Por ejemplo, si el texto original es 'manzanas30', la matriz resultante será:

|_+_|

Cada número de esta matriz representa la posición de un elemento en la constante de matriz dentro del texto original.

A continuación, la función MIN devuelve el valor más pequeño de la lista, que corresponde a la posición en del primer número que aparece en el texto original. En esencia, la función FIND obtiene todas las posiciones numéricas, y MIN nos da la primera posición numérica: observe que 7 es el valor más pequeño en la matriz, que corresponde a la posición del número 3 en el texto original.

Quizás se esté preguntando acerca de la extraña construcción de inside_text en la función de búsqueda:

cómo hacer macro en Excel
|_+_|

Esta parte de la fórmula concatena todos los números posibles del 0 al 9 con el texto original en B5. Desafortunadamente, FIND no devuelve cero cuando no se encuentra un valor, por lo que esta es solo una forma inteligente de evitar errores que podrían ocurrir cuando no se encuentra un número.

En este ejemplo, dado que asumimos que el número siempre aparecerá segundo en el texto original, funciona bien porque MIN fuerza solo el más pequeño, o primero ocurrencia, de un número que se devolverá. Mientras un número hace aparecen en el texto original, esa posición será devuelta.

Si el texto original no contiene ningún número, se devolverá una posición 'falsa' igual a la longitud del texto original + 1. Con esta posición falsa, la fórmula IZQUIERDA anterior todavía devolverá el texto y la fórmula DERECHA devolverá un cuerda vacía ('').

Autor Dave Bruns


^