image

Hemos aprendido cómo vincular: / excel-text-formulas-split-numbers-and-text-from-string-in-excel [quitar valores numéricos de una celda en excel 2016 y anteriores]. Las fórmulas que usamos eran un poco complejas, pero ahora Excel 2019 y 365 están en el juego. Excel 2019 y 365 introducen algunas funciones nuevas que facilitan la tarea de eliminar caracteres no numéricos y recuperar solo valores numéricos en una nueva celda. Usaremos fórmulas que puedan ayudarnos a hacerlo, de manera más conveniente. Fórmula genérica

=TEXTJOIN(«»,TRUE,IFERROR(MID(jumbled_text,SEQUENCE(NumChars),1)+0,»»))

Jumbled_text: este es el texto de origen del que desea extraer todos los valores numéricos.

NumChars: este es el número total de caracteres que desea procesar.

El jumbled_text no debe tener más caracteres que este número (caracteres y números combinados).

Veamos un ejemplo para aclarar las cosas.

Ejemplo: eliminar caracteres no numéricos y extraer todos los números

image

Así que aquí tenemos un texto desordenado. Este texto contiene algunos números y algunos caracteres no numéricos. Necesito deshacerme de los caracteres no numéricos y obtener valores numéricos solo en la columna D.

No espero que el número total de caracteres en el texto mezclado sea más de 20. Entonces, el valor de NumChars es 20 aquí. Puede aumentar este número si lo necesita.

Aplique aquí la fórmula genérica anterior para eliminar los caracteres no numéricos.

=TEXTJOIN(«»,TRUE,IFERROR(MID(C3,SEQUENCE(20),1)+0,»»))

Y cuando presionas el botón Enter. Obtienes todos los caracteres no numéricos eliminados. Arrastre hacia abajo esta fórmula para eliminar los caracteres de la cadena de todas las celdas de la columna C3.

image

¿Cómo funciona?

Primero veamos cómo se resuelve esta fórmula paso a paso.

1→

TEXTJOIN(«»,TRUE,IFERROR(MID(C3,SEQUENCE(20),1)+0,»»))

2→

TEXTJOIN(«»,TRUE,IFERROR(MID(«12asw12w123″,\{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20}*,1)+0,»»))

3→

TEXTJOIN(«»,TRUE,IFERROR(\{«1″;»2″;»a»;»s»;»w»;»1″;»2″;»w»;»1″;»2″;»3″;»»;»»;»»;»»;»»;»»;»»;»»;»»}*+0,»»))

4→

TEXTJOIN(«»,TRUE,IFERROR(\{1;2;#VALUE!;#VALUE!;#VALUE!;1;2;#VALUE!;1;2;3;#VALUE!;#VALUE!;…​;#VALUE!}*+0,»»))

5→

TEXTJOIN(«»,TRUE,\{1;2;»»;»»;»»;1;2;»»;1;2;3;»»;»»;»»;»»;»»;»»;»»;»»;»»}*)

6→ «1212123»

Como puede ver, la fórmula comienza a resolverse desde adentro. Al principio se resuelve el link: / excel-365-functions-the-sequence-function-in-excel [SEQUENCE function]. Desde que pasamos 20. Devuelve una matriz de números que comienzan del 1 al 20.

Esta matriz se sirve a la función MID como número inicial. La función mid va a cada índice en cadena y divide cada carácter. Puedes ver eso en el paso 3.

A continuación, agregamos 0 a cada carácter. En Excel, si intenta agregar un número a caracteres no numéricos, el resultado es `link: / tips-value-error-and-how-to-fix-it-in-excel [#VALUE!

Error] `. ¡Entonces obtenemos una matriz de números y #VALOR! Errores. Los caracteres no numéricos se han ido ahora.

La siguiente función IFERROR reemplaza todos los errores de #VALOR con «» (en blanco). Ahora nos quedamos con valores numéricos y espacios.

Finalmente, esta matriz se sirve a la función TEXTJOIN. La función TEXTJOIN los concatena y obtenemos una cadena que solo contiene números.

Mejora de la fórmula

La fórmula anterior utilizó un número codificado de forma rígida para procesar el número de caracteres (tomamos veinte). Pero es posible que desee que sea dinámico. En ese caso, acertó, usaremos la función LEN. Se necesitará un número exacto de caracteres para su procesamiento. Entonces la fórmula será.

=TEXTJOIN(«»,TRUE,IFERROR(MID(jumbled_text,SEQUENCE(LEN(jumbled_text)*),1)+0,»»))

Aquí, la función LEN detectará automáticamente el número exacto de caracteres en la cadena alfanumérica. Esto aliviará la carga de determinar el número máximo de caracteres.

Alternativa de la función SEQUENCE

Si no desea usar la función SECUENCIA, puede usar una combinación de la función FILA e INDIRECTA para `link: / information-formulas-how-to-get-sequential-row-number-in-excel [generando números secuenciales] ‘.

=TEXTJOIN(«»,TRUE,IFERROR(MID(jumbled_text,ROW(INDIRECT(«1:»&`LEN`(jumbled_text)))*,1)+0,»»))

El INDIRECTO convertirá el texto («1:20») en el rango real y luego la función FILA enumerará todos los números de fila del 1 al 20. (20 es solo por ejemplo. Puede ser cualquier número).

Así que sí, chicos, así es como pueden copiar los caracteres no numéricos de una cadena alfanumérica en Excel. Espero haber sido lo suficientemente explicativo y este artículo te haya ayudado. Si tiene alguna pregunta sobre este tema o cualquier otro tema de Excel / VBA. Hasta entonces sigue sobresaliendo.

Artículos relacionados:

link: / excel-text-formulas-split-numbers-and-text-from-string-in-excel [Dividir números y texto de cadena en Excel 2016 y anteriores]: Cuando no teníamos la función TEXTJOIN, usábamos Funciones LEFT y RIGHT con algunas otras funciones para dividir caracteres numéricos y no numéricos de una cadena. link: / excel-text-extract-text-from-a-string-in-excel-using-excels-left-and-right-function [Extraer texto de una cadena en Excel usando la función IZQUIERDA Y DERECHA de Excel]: * Para eliminar texto en Excel de la cadena, podemos usar las funciones IZQUIERDA y DERECHA de Excel. Estas funciones nos ayudan a cortar cadenas de forma dinámica.

link: / excel-text-formulas-remove-lead-and-trailing-spaces-from-text-in-excel [Elimina los espacios iniciales y finales del texto en Excel]: * Los espacios iniciales y finales son difíciles de reconocer visualmente y puede estropear tus datos. Eliminar estos caracteres de la cadena es una tarea básica y más importante en la limpieza de datos. He aquí cómo puede hacerlo fácilmente en Excel.

link: / excel-text-formulas-remove-characters-from-right [Eliminar caracteres de la derecha]: * Para eliminar caracteres de la derecha de una cadena en Excel, usamos la función IZQUIERDA. Sí, la función IZQUIERDA. La función IZQUIERDA conserva el número dado de caracteres de IZQUIERDA y elimina todo de su derecha.

link: / excel-text-formulas-remove-unwanted-characters-in-excel [Eliminar caracteres no deseados en Excel]: * Para eliminar caracteres no deseados de una cadena en Excel, usamos la función SUSTITUIR. La función SUSTITUIR reemplaza los caracteres dados con otro carácter dado y produce una nueva cadena alterada.

link: / excel-text-formulas-how-to-remove-text-in-excel-starts-from-a-position [Cómo eliminar texto en Excel comenzando desde una posición en Excel]: * Para eliminar texto de una posición inicial en una cadena, usamos la función REEMPLAZAR de Excel. Esta función nos ayuda a determinar la posición inicial y el número de caracteres a eliminar.

Artículos populares:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-incrementa-su-productividad [50 accesos directos de Excel para aumentar su productividad] | Acelera tu tarea. Estos 50 atajos lo harán trabajar aún más rápido en Excel.

enlace: / fórmulas-y-funciones-introducción-de-función-vlookup [Cómo utilizar la función BUSCARV de Excel] | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas. link: / tips-countif-in-microsoft-excel [Cómo usar]

enlace: / fórmulas-y-funciones-introducción-de-vlookup-function [Excel]

enlace: / tips-countif-in-microsoft-excel [Función COUNTIF] | Cuente valores con condiciones usando esta asombrosa función.

No necesitas filtrar tus datos para contar valores específicos. La función Countif es esencial para preparar su tablero.

link: / excel-formula-and-function-excel-sumif-function [Cómo utilizar la función SUMIF en Excel] | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.