Extrae solo los números de una celda en Excel

Última actualización el 01/09/2025
Tiempo de leer: 3 minutos

Este artículo le explicará cómo extraer los números de una celda que contiene números y letras.

Comprender la lógica aplicada.

Para extraer los números de una misma celda con números y letras, debemos seguir la siguiente lógica

  1. Extraiga cada carácter, número y letra en una sola celda

    Esta tarea ahora es posible con la nueva función SECUENCIA y la función MID

  2. Crea un caso de prueba para cada personaje.

    En esta situación, probaremos si el carácter es numérico o no.

  3. Mantenga solo el resultado VERDADERO

    La función FILTRO nos ayudará a mantener solo el caso de prueba cuando el resultado sea VERDADERO

  4. Agrupa todos los números en una sola celda.

    Finalmente, la función TEXTJOIN recopilará cada número encontrado.

Paso 1: extrae cada carácter de la celda

La función SECUENCIA genera una serie de números entre 2 valores. Por ejemplo, para crear una serie de números entre 1 y 5 en columnas, escribirás

Principio de la función SECUENCIA

El truco aquí es usar la función SECUENCIA para dividir cada carácter de las celdas usando esta fórmula, que utiliza la función MEDIO. Además, Función LEN devuelve el número exacto de caracteres en cada celda.

=MEDIO(A2,SECUENCIA(,LARGO(A2)),1)

Extraer cada carácter es una celda.

Paso 2: prueba si cada carácter es un número o no

Luego necesitamos realizar una prueba en cada uno de estos caracteres para determinar si es un número o no.

Por lo tanto, usar la función ESNUMERO aquí parece lógico. Sin embargo, en esta etapa, cada celda contiene texto.

=ESNÚMERO(MEDIO(A2,SECUENCIA(,LEN(A2)),1))

En este paso todos los caracteres son TEXTO.

Podemos corregir esto fácilmente usando la función VALOR. VALOR convertirá automáticamente un carácter en un número si es necesario.

=ESNÚMERO(VALOR(MEDIO(A2,SECUENCIA(LARGO(A2)),1)))

Con VALOR podemos probar cuando un carácter es un número

Para resaltar las celdas cuando el resultado es verdadero, he usado lo siguiente regla de formato condicional

=B2=VERDADERO

Paso 3: aísla los números

Ahora, usamos la función FILTRO para agrupar solo los números (cuando la prueba es VERDADERA).

  • El primer argumento de la función FILTRO es la primera fórmula que hemos construido en el paso 1.
  • El segundo argumento es la prueba construida en el paso 2

=FILTER(MID(A2,SEQUENCE(,LEN(A2)),1),ISNUMBER(VALUE(MID(A2,SEQUENCE(,LEN(A2)),1))))

Mantenga solo los números con FILTRO

Paso 4: agrupa los números

Este es el paso final 😀. Necesitamos combinar el resultado anterior con el TEXTJOIN función.

=TEXTJOIN("",,FILTER(VALUE(MID(A2,SEQUENCE(LEN(A2)),1)),ISNUMBER(VALUE(MID(A2,SEQUENCE(LEN(A2)),1)))))

Todos los números regresan en una celda.

Otra solucion

Rick Rothsein, otro MVP de Microsoft Excel, tiene un enfoque alternativo para resolver este problema. La fórmula que propone es la siguiente:

=CONCAT(SIERROR(0+MEDIO(A1,SECUENCIA(LARGO(A1)),1),""))

Reutilizó la técnica para combinar MID, SECUENCIA y LEN, pero en lugar de utilizar la función FILTRO, simplemente hizo un cálculo con 0.

  • Entonces, cuando es letra + 0, es un error.
  • Cuando es 0 + número, la fórmula devuelve un número.
  • Por eso lo utilizó IFERROR mantener solo los números (inteligente 😉)

Muchas gracias Rick por compartir tu fórmula 👏👏👏

Artículos Relacionados

6 Comentarios

  1. mohammad alí
    20/04/2023 a las 09:53

    Muy bueno

    Responder

  2. DeepDive
    18/08/2022 a las 13:07

    Tengo una celda que contiene **9, ¿cómo obtener solo el número en otra celda? me refiero a 9 en otra celda

    Responder

    • Frédéric LE GUEN
      19/08/2022 a las 10:56

      El símbolo * es siempre una pesadilla porque también significa "todos los caracteres". En esta situación no sé si hay solución.

      Responder

  3. Rick Rothstein
    13/11/2021 a las 07:35

    Creo que esta fórmula también funcionará...

    =CONCAT(SIERROR(0+MEDIO(A1,SECUENCIA(LARGO(A1)),1),""))

    Responder

    • Frédéric LE GUEN
      18/11/2021 a las 17:22

      ¡BRILLANTE! Felicidades por esta fórmula Rick 😉

      Responder

      • Rick Rothstein
        18/11/2021 a las 18:57

        Gracias... me alegro que te haya gustado.

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Extrae solo los números de una celda en Excel

Tiempo de leer: 3 minutos
Última actualización el 01/09/2025

Este artículo le explicará cómo extraer los números de una celda que contiene números y letras.

Comprender la lógica aplicada.

Para extraer los números de una misma celda con números y letras, debemos seguir la siguiente lógica

  1. Extraiga cada carácter, número y letra en una sola celda

    Esta tarea ahora es posible con la nueva función SECUENCIA y la función MID

  2. Crea un caso de prueba para cada personaje.

    En esta situación, probaremos si el carácter es numérico o no.

  3. Mantenga solo el resultado VERDADERO

    La función FILTRO nos ayudará a mantener solo el caso de prueba cuando el resultado sea VERDADERO

  4. Agrupa todos los números en una sola celda.

    Finalmente, la función TEXTJOIN recopilará cada número encontrado.

Paso 1: extrae cada carácter de la celda

La función SECUENCIA genera una serie de números entre 2 valores. Por ejemplo, para crear una serie de números entre 1 y 5 en columnas, escribirás

Principio de la función SECUENCIA

El truco aquí es usar la función SECUENCIA para dividir cada carácter de las celdas usando esta fórmula, que utiliza la función MEDIO. Además, Función LEN devuelve el número exacto de caracteres en cada celda.

=MEDIO(A2,SECUENCIA(,LARGO(A2)),1)

Extraer cada carácter es una celda.

Paso 2: prueba si cada carácter es un número o no

Luego necesitamos realizar una prueba en cada uno de estos caracteres para determinar si es un número o no.

Por lo tanto, usar la función ESNUMERO aquí parece lógico. Sin embargo, en esta etapa, cada celda contiene texto.

=ESNÚMERO(MEDIO(A2,SECUENCIA(,LEN(A2)),1))

En este paso todos los caracteres son TEXTO.

Podemos corregir esto fácilmente usando la función VALOR. VALOR convertirá automáticamente un carácter en un número si es necesario.

=ESNÚMERO(VALOR(MEDIO(A2,SECUENCIA(LARGO(A2)),1)))

Con VALOR podemos probar cuando un carácter es un número

Para resaltar las celdas cuando el resultado es verdadero, he usado lo siguiente regla de formato condicional

=B2=VERDADERO

Paso 3: aísla los números

Ahora, usamos la función FILTRO para agrupar solo los números (cuando la prueba es VERDADERA).

  • El primer argumento de la función FILTRO es la primera fórmula que hemos construido en el paso 1.
  • El segundo argumento es la prueba construida en el paso 2

=FILTER(MID(A2,SEQUENCE(,LEN(A2)),1),ISNUMBER(VALUE(MID(A2,SEQUENCE(,LEN(A2)),1))))

Mantenga solo los números con FILTRO

Paso 4: agrupa los números

Este es el paso final 😀. Necesitamos combinar el resultado anterior con el TEXTJOIN función.

=TEXTJOIN("",,FILTER(VALUE(MID(A2,SEQUENCE(LEN(A2)),1)),ISNUMBER(VALUE(MID(A2,SEQUENCE(LEN(A2)),1)))))

Todos los números regresan en una celda.

Otra solucion

Rick Rothsein, otro MVP de Microsoft Excel, tiene un enfoque alternativo para resolver este problema. La fórmula que propone es la siguiente:

=CONCAT(SIERROR(0+MEDIO(A1,SECUENCIA(LARGO(A1)),1),""))

Reutilizó la técnica para combinar MID, SECUENCIA y LEN, pero en lugar de utilizar la función FILTRO, simplemente hizo un cálculo con 0.

  • Entonces, cuando es letra + 0, es un error.
  • Cuando es 0 + número, la fórmula devuelve un número.
  • Por eso lo utilizó IFERROR mantener solo los números (inteligente 😉)

Muchas gracias Rick por compartir tu fórmula 👏👏👏

Artículos Relacionados

6 Comentarios

  1. mohammad alí
    20/04/2023 a las 09:53

    Muy bueno

    Responder

  2. DeepDive
    18/08/2022 a las 13:07

    Tengo una celda que contiene **9, ¿cómo obtener solo el número en otra celda? me refiero a 9 en otra celda

    Responder

    • Frédéric LE GUEN
      19/08/2022 a las 10:56

      El símbolo * es siempre una pesadilla porque también significa "todos los caracteres". En esta situación no sé si hay solución.

      Responder

  3. Rick Rothstein
    13/11/2021 a las 07:35

    Creo que esta fórmula también funcionará...

    =CONCAT(SIERROR(0+MEDIO(A1,SECUENCIA(LARGO(A1)),1),""))

    Responder

    • Frédéric LE GUEN
      18/11/2021 a las 17:22

      ¡BRILLANTE! Felicidades por esta fórmula Rick 😉

      Responder

      • Rick Rothstein
        18/11/2021 a las 18:57

        Gracias... me alegro que te haya gustado.

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *