Hoy traemos alternativas para obtener los números contenidos en una celda dónde existen otros caracteres alfanuméricos.

Imaginemos que tenemos un conjunto de datos como este. Resulta que nuestros códigos de producto llevan incluido el código de fábrica… que son los dígitos.

Se trata de crear una función que, de una vez, nos devuelva los números de la celda de la columna A.

Paso 1: obtener el largo de cada celda.

Utilizamos la función LARGO

Paso 2: crear una secuencia de números tan larga como la longitud obtenida. Utilizamos función SECUENCIA

Paso 3: obtener el carácter que ocupa cada posición en la celda mediante la función EXTRAE

Paso 4: «despreciar» la parte de texto.

El truco de esta parte es utilizar la función TEXTO dónde, en el argumento formato utilizaremos la capacidad de asignar un formato distinto a los números positivos, negativos, ceros o textos. Concretamente permitiremos mostrar los positivos y los ceros (les asignamos un formato 0) mientras que los negativos y los textos no los mostramos (dejamos el formato en blanco).

Paso 5: concatenar los resultados mediante la función CONCAT


Si convertimos el rango en una tabla, esa seria una solución adecuada ya que la misma fórmula nos vale para todas las filas. Ejemplo:


Si, por el contrario, queremos seguir trabajando con un rango y lo queremos hacer con una sola función y no estar copiando hacia abajo, la técnica tiene un pequeño matiz.

Empezamos obteniendo la longitud máxima de cada valor del rango (LARGO)

Obtenemos el valor máximo de esas longitudes (MAX)

Creamos una secuencia con tantos valores como el máximo (SECUENCIA)

Extraemos cada uno de los caracteres de todos los registros (EXTRAE)

Nos quedamos sólo con los números (TEXTO)

Y, finalmente, mediante la función BYROW, aplicamos un CONCAT a cada una de las filas.


Hay una alternativa con BYROW+CONCAT dónde, en lugar de utilizar la función TEXTO se utiliza una multiplicación y el manejo del error mediante SI.ERROR

Deja un comentario si te gustó

Categorías: Excel

2 comentarios

Oscar · 17 junio 2026 a las 8:12 pm

Excelente artículo, comparto una solución alternativa: =REDUCE(A2:A6,CARACTER(64+SECUENCIA(26)),LAMBDA(i,x,SUSTITUIR(i,x,)))

Oscar · 17 junio 2026 a las 8:13 pm

Excelente artículo, comparto una solución alternativa:
=REDUCE(A2:A6,CARACTER(64+SECUENCIA(26)),LAMBDA(i,x,SUSTITUIR(i,x,)))

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *