{= TEXTJOIN ('',TRUE, IF ( ISERR ( MID (A1, ROW ( INDIRECT ('1:100')),1)+0), MID (A1, ROW ( INDIRECT ('1:100')),1),''))}Resumen
Para eliminar caracteres numéricos de una cadena de texto, puede utilizar una fórmula basada en la Función TEXTJOIN . En el ejemplo que se muestra, la fórmula en C5 es:
|_+_|
Nota: esta es una fórmula de matriz y debe ingresarse con control + shift + enter, excepto en Excel 365 .
ExplicaciónExcel no tiene una forma de convertir las letras en una cadena de texto a una formación directamente en una fórmula. Como solución alternativa, esta fórmula utiliza la función MID, con la ayuda de las funciones FILA e INDIRECTO para lograr el mismo resultado. La fórmula en C5, copiada, es:
|_+_|
Esto parece bastante complicado, pero la esencia es que creamos un formación de todos los caracteres en B5 y pruebe cada carácter para ver si es un número. Si es así, descartamos el valor y lo reemplazamos con un cuerda vacía (''). Si no es así, agregamos el carácter no numérico a una matriz 'procesada'. Finalmente, usamos la función TEXTJOIN (nueva en Excel 2019) para concatenar todos los caracteres juntos, ignorando los valores vacíos.
función de Excel para mostrar la fecha actual
Trabajando desde adentro hacia afuera, el Función MID se utiliza para extraer el texto en B5, un carácter a la vez.La clave es la HILERA y INDIRECTO fragmento aquí:
|_+_|
que hace girar una matriz que contiene 100 números como este:
{1,2,3,4,5,6,7,8....99,100}
Nota: 100 representa el máximo de caracteres a procesar. Cambie para adaptarse a sus datos o utilice la función LEN como se explica a continuación.
Esta matriz entra en la función MID como el start_num argumento. Para num_chars , usamos 1.
cómo obtener la suma de los datos filtrados en Excel
La función MID devuelve una matriz como esta:
|_+_|Nota: elementos adicionales en la matriz eliminados para facilitar la lectura.
A esta matriz, agregamos cero. Este es un truco simple que obliga a Excel a convertir el texto en un número. Los valores de texto numérico como '1', '2', '3', '4', etc. se convierten sin errores, pero los valores no numéricos fallarán y arrojarán un error #VALUE. Usamos el Función SI con el Función ISERR para detectar estos errores. Cuando vemos un error, sabemos que tenemos un carácter no numérico, por lo que traemos ese carácter al proceso formación con otra función MID:
|_+_|Si no obtiene un error, sabemos que tenemos un número, por lo que insertamos una cadena vacía ('') en la matriz en lugar del número.
El resultado final de la matriz entra en la función TEXTJOIN como el Texto 1 argumento. Para delimitador , usamos una cadena vacía ('') y para ignore_empty suministramos VERDADERO. TEXTJOIN entonces concatena todos los valores no vacíos en la matriz y devuelve el resultado.
Longitud de matriz precisa
En lugar de codificar un número como 100 en INDIRECTO, puede usar el Función LEN para construir una matriz con el número real de caracteres en la celda de esta manera:
|_+_|LEN devuelve el recuento de caracteres en la celda como un número, que se usa en lugar de 100. Esto permite que la fórmula se amplíe automáticamente a cualquier número de caracteres.
Eliminar espacio extra
Cuando elimine caracteres numéricos, es posible que le queden caracteres de espacio extra. Para eliminar los espacios iniciales y finales y normalizar los espacios entre palabras, puede ajustar la fórmula que se muestra en esta página dentro de la Función TRIM :
¿Dónde está la barra de herramientas de acceso rápido en Excel?|_+_|
Con SECUENCIA
En Excel 365 , el nuevo Función SECUENCIA puede reemplazar el código FILA + INDIRECTO anterior:
|_+_|Aquí, usamos SEQUENCE + LEN para construir una matriz de la longitud correcta en un paso.
Con LET
Podemos simplificar aún más esta fórmula con el Función LET . Debido a que la matriz se crea dos veces arriba con SEQUENCE y LEN, podemos definir la matriz como una variable y crearla solo una vez:
|_+_|Aquí el valor de formación se configura solo una vez, luego se usa dos veces dentro de la función MID.
Autor Dave Bruns