Saltar al contenido principal

Cómo extraer un número de una cadena en Excel: Encontrar el enfoque adecuado

Descubre cómo extraer números de cadenas de Excel utilizando fórmulas. Domina funciones como RIGHT(), LEFT() y TEXTJOIN() para apuntar datos numéricos antes, después o en cualquier parte de tu texto.
Actualizado 12 feb 2025  · 8 min de lectura

Cuando trabajas en Excel para limpiar datos, puedes encontrarte con la tarea de extraer números de cadenas alfanuméricas. Este problema es habitual si tienes datos en los que los números están incrustados en cadenas, como códigos de producto o respuestas a encuestas.

En este artículo, te mostraré los diferentes métodos para extraer números de cadenas utilizando fórmulas como RIGHT(), LEN(), y FIND() para diferentes casos de uso. Si no estás familiarizado con algunos de los aspectos básicos, te recomiendo que sigas nuestro curso Introducción a Excel para construir una base sólida en Excel. También deberías consultar nuestra Preparación de datos en Excel para saber más sobre la transformación de datos brutos.

Fórmulas de Excel para extraer números de una cadena

Excel proporciona distintos métodos basados en fórmulas para extraer números de cadenas. Cada método es adecuado para diferentes necesidades en función de dónde se encuentre el número en la cadena. Si tienes poco tiempo, no dudes en saltar a la sección que resuelva tu necesidad más inmediata.

Extraer números del principio de una cadena en Excel

A veces, puedes encontrarte con situaciones en las que los números están al principio de la cadena. En estos casos, utilizarás LEFT() y FIND() para extraer los números de la cadena. Cuando combinas las funciones en una fórmula, los números se extraen utilizando la siguiente lógica:

  • FIND(): Busca la posición de la primera letra en la cadena.

  • LEFT(): Extrae los caracteres desde el principio de la cadena hasta la posición de la primera letra menos uno.

La primera parte de la fórmula siguiente busca la primera letra de la cadena. Después, la segunda parte extrae todo lo que hay antes de esa letra, dejando sólo los números iniciales. Si no existen letras, devuelve la cadena completa.

=LEFT(A2, FIND(MID(A2, MIN(FIND({"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}, A2&"ABCDEFGHIJKLMNOPQRSTUVWXYZ")), 1), A2) - 1)

Extraer números del principio de una cadena en Excel.

Extraer números del principio de una cadena en Excel. Imagen del autor.

Este método es adecuado cuando se trabaja con conjuntos de datos que suelen utilizar prefijos numéricos, como números de pedido, ID de miembro y números de lote.

Extraer números del final de una cadena en Excel

Si quieres extraer números del final de una cadena en Excel, tendrás que utilizar las funciones RIGHT(), LEN() y FIND(). Supón que tienes los siguientes datos en la hoja Excel. Combinarás las funciones para extraer el número donde:

  • FIND(): Busca la posición del primer dígito de la cadena.

  • LEN(): Calcula el número de caracteres desde el primer dígito hasta el final de la cadena.

  • RIGHT(): Extrae los caracteres desde el primer dígito hasta el final de la cadena.

La fórmula siguiente elimina todo el texto inicial y devuelve el primer número junto con todo lo que le sigue en la cadena.

=RIGHT(A2, LEN(A2) - MIN(FIND({0,1,2,3,4,5,6,7,8,9}, A2&"0123456789")) + 1)

Extraer números del final de una cadena en Excel.

Extraer números del final de una cadena en Excel. Imagen del autor.

Este método es más útil en conjuntos de datos con caracteres alfanuméricos coherentes, como SKU de productos, ID de pedidos y números de serie.

Extraer números de cualquier posición de una cadena en Excel

Si tienes un conjunto de datos en el que los números aparecen en cualquier parte de la cadena, necesitarás fórmulas avanzadas utilizando TEXTJOIN(), MID(), y ROW() para extraer los números.

Combinando estas funciones en una fórmula extraerás un número de una cadena utilizando la siguiente lógica: 

  • ROW() y MID(): Recorre cada carácter de la cadena para determinar si es numérico.

  • IFERROR(): Prueba lógica para aislar los números identificados de otros caracteres.

  • TEXTJOIN(): Combina todos los caracteres numéricos extraídos en una sola cadena numérica.

=TEXTJOIN("", TRUE, IF(ISNUMBER(--MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1)), MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1), ""))

Extrae el número de cualquier posición de una cadena.

Extrae el número de cualquier posición de una cadena. Imagen del autor.

Este método es el más adecuado cuando tu conjunto de datos tiene caracteres alfanuméricos con números que aparecen en cualquier parte de la cadena. Como nota, no todas estas funciones están disponibles en versiones antiguas de Excel. Consulta nuestro curso de Fundamentos de Excel para aprender más sobre las funciones y fórmulas disponibles en las últimas versiones de Excel.

Extraer números filtrando los caracteres no deseados

A veces, tus datos están desordenados. Por suerte, puedes combinar las funciones SUBSTITUTE() y TEXTJOIN(). Sólo tienes que seguir estos pasos:

  • SUBSTITUTE(): La función SUBSTITUTE() puede utilizarse para sustituir todos los caracteres no numéricos de una cadena por un delimitador, como un espacio o una cadena vacía. Por ejemplo, puedes sustituir letras y caracteres especiales por espacios.

  • TEXTJOIN(): A continuación, puedes utilizar la función TEXTJOIN() para concatenar los caracteres restantes (que ahora sólo deben ser números) en una sola cadena.

=TEXTJOIN("", TRUE, IF(ISNUMBER(--MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1)), MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1), ""))

Extraer el número de una cadena filtrando los caracteres no deseados.

Extraer el número de una cadena filtrando los caracteres. Imagen del autor.

Cuándo puedes necesitar extraer números de una cadena en Excel

Veamos ahora dos pequeños casos prácticos para practicar un poco la extracción de números de cadenas.

Ejemplo 1: Extraer números de los códigos de producto

Supón que gestionas un inventario de productos en el que un código de producto único identifica cada artículo. Estos códigos de producto son cadenas alfanuméricas como "PROD1234", "ITEM5678" o "SKU91011".

Así, para extraer el ID de producto numérico de los códigos de producto alfanuméricos, utilizamos funciones basadas en la posición del número. Recuerda, si los números están al final, aplica RIGHT(), LEN(), y FIND(). Si aparecen al principio, utiliza LEFT() y FIND().

El ejemplo siguiente extrae la parte numérica de los códigos de producto de la parte derecha del código.

=RIGHT(A1, LEN(A1) - FIND("-", SUBSTITUTE(A1, MID(A1, MIN(FIND({"0","1","2","3","4","5","6","7","8","9"}, A1&"0123456789")), 1), "-")))

Extraer números de códigos de producto en Excel.

Extraer números de códigos de producto en Excel. Imagen del autor.

Ejemplo 2: Datos de encuestas con números incrustados

Los datos de las encuestas a veces contienen texto y números como "Valorado 5 sobre 10", "Puntuación": 8" o "3 estrellas". Tendremos que trabajar un poco antes de poder calcular medias o identificar tendencias.

Como los números pueden aparecer en cualquier parte del texto, se necesita una fórmula dinámica que utilice TEXTJOIN(), MID() y ROW().

=TEXTJOIN("", TRUE, IFERROR(MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1) * (ISNUMBER(--MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1))), ""))

Extraer números de cualquier posición en Excel utilizando TEXTJOIN(), MID() y ROW().

Extraer números de cualquier posición en Excel. Imagen del autor.

Ejemplos de copiar y pegar código para casos especiales

Para la sección final, quería darte varias fórmulas adicionales que manejan escenarios diferentes y específicos. Siéntete libre de copiar y pegar, y espero que resuelva cualquier problema específico que puedas tener. 

Extrae el primer bloque contiguo de números

Si tu cadena contiene varias secuencias numéricas pero sólo necesitas el primer grupo, prueba esta solución utilizando las funciones LET() y SEQUENCE():

=LET(
txt, A2,
pos, MATCH(TRUE, ISNUMBER(--MID(txt, SEQUENCE(LEN(txt)), 1)), 0),
len, MATCH(FALSE, ISNUMBER(--MID(txt, SEQUENCE(LEN(txt)-pos+1)+pos-1, 1)), 0) - 1,
VALUE(MID(txt, pos, len))
)

Extraer el primer bloque contiguo de una cadena en Excel.

Extraer el primer bloque contiguo de una cadena en Excel. Imagen del autor.

Números de extracto entre paréntesis

Para los casos en que los números aparezcan dentro de paréntesis, utiliza

=MID(A2, FIND("(", A2)+1, FIND(")", A2)-FIND("(", A2)-1)

Extrae los números entre paréntesis en Excel.

Extrae los números entre paréntesis en Excel. Imagen del autor.

Extraer números después de un carácter específico

Cuando tus datos utilizan dos puntos como delimitador (por ejemplo, "Puntuación: 8"), captura los números con:

=TRIM(MID(A2, FIND(":", A2)+1, LEN(A2)))

Extraer el número después de un carácter especial de una cadena en Excel.

Extraer el número después de un carácter especial en Excel. Imagen del autor.

Esto arrastra todo lo que hay después de los dos puntos. Envuelve el resultado con VALUE() si necesitas un valor numérico. Sustituye los dos puntos si tienes un delimitador diferente.

Extrae todos los números y combínalos en un único valor

Para eliminar todos los caracteres no numéricos y combinar todos los caracteres numéricos de una cadena, utiliza esto:

=TEXTJOIN("", TRUE, IFERROR(MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1)*1, ""))

Extrae todos los números y combínalos en un único valor en Excel.

Extraer todos los números y combinarlos en un único valor en Excel. Imagen del autor.

Consejo: En versiones antiguas de Excel, introdúcelo como una fórmula de matriz (Ctrl+Mayús+Intro).

Extraer números con decimales incluidos

Para cadenas numéricas que pueden incluir un decimal (por ejemplo, "Precio: 45,99"), utiliza esta fórmula para conservar tanto los dígitos como el punto decimal:

=TEXTJOIN("", TRUE, IFERROR(
  IF(MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1)=".", ".",
     IF(ISNUMBER(--MID(A2, ROW(INDIRECT("1:" & LEN(A2))), 1)),
        MID(A2, ROW(INDIRECT("1:" & LEN(A1))), 1),
        "")
  ),""))

Extraer números, incluidos los decimales, en Excel.

Extraer números con decimales en Excel. Imagen del autor.

Nota: Esta fórmula supone que sólo hay un punto decimal.

Conclusión

Extraer números de cadenas es una técnica importante para la limpieza de datos. Como analista de datos, te animo a que aprendas a aplicar las distintas fórmulas tratadas en este artículo.

Si quieres avanzar en tus conocimientos de Excel, te recomiendo que sigas nuestros cursos Análisis de datos en Excel y Visualización de datos en Excel para dominar el análisis y la presentación de datos. Prueba también nuestro curso de Modelización Financiera en Excel, que puede abrirte muchas puertas.

Avanza en tu carrera con Excel

Adquiere los conocimientos necesarios para sacar el máximo partido a Excel, sin necesidad de experiencia.

Empieza hoy gratis

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Creo artículos que simplifican la ciencia de los datos y la analítica, haciéndolos fáciles de entender y accesibles.

Preguntas frecuentes

¿Cómo puedo extraer números del principio de una cadena en Excel?

Puedes extraer números del principio de una cadena utilizando una combinación de las funciones LEFT() y FIND().

¿Cómo puedo extraer números del final de una cadena en Excel?

Puedes extraer números del final de una cadena utilizando las funciones RIGHT(), LEN(), y FIND().

¿Qué debo hacer si mis números extraídos aparecen como texto en Excel?

Si los números extraídos tienen formato de texto, puedes convertirlos en valores numéricos utilizando funciones como VALUE() o multiplicando el texto por 1.

¿Qué versiones de Excel admiten TEXTJOIN?

La función TEXTJOIN() es compatible con Excel 365 y Excel 2019+.

¿Puedo automatizar el proceso de extracción en Excel?

Sí, puedes automatizar la extracción de números a partir de cadenas utilizando macros VBA o Power Query, lo que resulta útil cuando se trata de grandes conjuntos de datos o tareas repetitivas.

Temas

Aprende Excel con DataCamp

curso

Advanced Excel Functions

2 hr
5.1K
Boost your Excel skills with advanced referencing, lookup, and database functions using practical exercises.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

tutorial

Cómo hacer un VLOOKUP() con múltiples criterios

Domina el arte de utilizar VLOOKUP() con criterios múltiples en Excel. Explora técnicas avanzadas como las columnas de ayuda y la función ELEGIR().
Laiba Siddiqui's photo

Laiba Siddiqui

10 min

tutorial

Las 15 fórmulas básicas de Excel que todo el mundo debe conocer

Aprende a añadir fórmulas aritméticas, de cadena, de series temporales y complejas en Microsoft Excel.
Abid Ali Awan's photo

Abid Ali Awan

15 min

tutorial

Tipos de datos en Excel y sus usos: Guía completa

Aprende a identificar y dar formato a todos los tipos de datos en Excel, y luego explora valiosos consejos sobre la conversión entre tipos de datos para que tu hoja de cálculo sea más funcional.
Laiba Siddiqui's photo

Laiba Siddiqui

9 min

tutorial

XLOOKUP() frente a VLOOKUP(): una comparación para usuarios de Excel

XLOOKUP() busca en cualquier dirección, usa de forma predeterminada coincidencias exactas y tiene gestión de errores integrada, mientras que VLOOKUP() solo busca a la derecha y necesita una indexación manual de las columnas.
Laiba Siddiqui's photo

Laiba Siddiqui

11 min

tutorial

Cómo combinar VLOOKUP() con IF() en Excel

Combina VLOOKUP() con IF() para un análisis eficaz de los datos, incluyendo búsquedas condicionales, gestión de errores e indexación dinámica de columnas.
Laiba Siddiqui's photo

Laiba Siddiqui

10 min

tutorial

Formato condicional en Excel: Guía para principiantes

Explora el formato condicional en Excel con ejemplos de sencillos a avanzados y sus mejores prácticas.
Joleen Bothma's photo

Joleen Bothma

7 min

Ver másVer más