Descarga el libro de trabajo de ejemplo
Este tutorial le mostrará cómo eliminar caracteres no numéricos de las celdas en Excel y Google Sheet.
Eliminar caracteres no numéricos
Nota: Las funciones mencionadas en este artículo se introdujeron en Excel 2016. Si tiene una versión anterior de Excel, consulte este artículo: Buscar y extraer número de cadena.
Con las funciones TEXTJOIN, SEQUENCE, MID e IFERROR puede eliminar todos los caracteres no numéricos:
1 | = TEXTJOIN ("", TRUE, IFERROR (MID (B3, SEQUENCE (LEN (B3)), 1) +0, "")) |
Veamos cómo funciona esta fórmula.
Las funciones SEQUENCE y LEN devuelven una matriz de números desde 1 hasta la longitud de nuestra cadena alfanumérica. En nuestro caso será {1,2,3,4,5,6,7,8,9,10,11,12,13}.
1 | = TEXTJOIN ("", TRUE, IFERROR (MID (B3, {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13}, 1) +0, "") ) |
La función MID devuelve los caracteres correspondientes a las posiciones de nuestra matriz numérica anterior:
1 | = TEXTJOIN ("", TRUE, IFERROR ({"1"; "3"; "M"; "o"; "n"; "d"; "a"; "y"; "0"; "1" ; "D"; "a"; "y"} + 0, "")) |
Agregar 0 a cada elemento de la matriz provocará un error si el valor es texto. Luego, la función IFERROR reemplazará el error con una cadena en blanco, dejando solo los valores numéricos:
1 | = TEXTJOIN ("", VERDADERO, {1; 3; ""; ""; ""; ""; ""; ""; 0; 1; ""; ""; ""}) |
Por último, la función TEXTJOIN devuelve solo los caracteres numéricos.
En lugar de utilizar la función SEQUENCE, puede lograr el mismo objetivo combinando la función TEXTJOIN con las funciones LEN, INDIRECT, ROW, MID e IFERROR.
1 | = TEXTJOIN ("", TRUE, IFERROR ((MID (B3, ROW (INDIRECT ("1:" & LEN (B3))), 1) * 1), "")) |
Cómo eliminar caracteres no numéricos en Google Sheets
Todos los ejemplos explicados anteriormente funcionan igual en las hojas de Google que en Excel.