¿Cómo extraer únicamente los números de una cadena de texto en Excel?
Al trabajar con Excel, es habitual encontrarse con celdas en las que números y texto aparecen mezclados, como «Pedido 1234» o «La puntuación es 95,6». Extraer únicamente los valores numéricos de estas cadenas suele ser esencial para realizar análisis posteriores, cálculos o generar informes. Dependiendo de si el número se encuentra al principio, al final o en una posición intermedia del texto —o si lo que busca son exclusivamente los decimales—, Excel ofrece diversos enfoques prácticos para lograrlo.
En esta guía exploraremos diversos métodos para extraer números de cadenas de texto en Excel, abarcando distintos escenarios: extracción de números independientemente de su posición, manejo de números decimales y recuperación de aquellos ubicados específicamente al principio o al final de una cadena. Cada método incluirá una explicación clara de su funcionamiento, su facilidad de uso y consejos prácticos para aplicarlo con eficacia.
Extraer número de cualquier posición de una cadena de texto
Extraer solo números decimales de una cadena de texto
Extraer número del final de la cadena de texto
Extraer número del principio de la cadena de texto
Extraer número de cualquier posición de una cadena de texto
Extraer números ubicados en cualquier parte de una cadena de texto es una necesidad habitual, especialmente al limpiar datos importados de diversas fuentes o al combinar información procedente de varias hojas. Para este escenario existen varias soluciones prácticas y eficientes, cada una con su caso de uso ideal según la versión de Excel que utilice y su nivel de familiaridad con fórmulas o complementos.
♦ Extraer número de cualquier posición de una cadena de texto con Relleno Flash
Relleno Flash es una función rápida y útil disponible en Excel 2013 y versiones posteriores que le permite extraer números de una cadena de texto siguiendo un patrón que usted indica. Esta solución no requiere fórmulas ni macros, lo que la hace ideal para escenarios sencillos.
1. En una celda adyacente a su cadena de texto, escriba manualmente el número tal como desea extraerlo (por ejemplo, si A2 contiene «Pedido123A», escriba «123» en B2).
2. Con la celda activa justo debajo de su entrada manual, pulse Ctrl + E(o use la pestaña)Datos > Relleno Flash). Excel rellenará automáticamente hacia abajo, extrayendo números de celdas similares según su ejemplo inicial.
Este método es ideal para conjuntos de datos pequeños o medianos que se procesan de forma puntual y cuya estructura es coherente. Ten en cuenta que Relleno Flash se basa en el reconocimiento de patrones: si tus datos son muy inconsistentes o combinan números y texto de forma desordenada, es posible que no obtengas el resultado esperado. Si Relleno Flash no se activa automáticamente, asegúrate de que esté habilitado en Archivo>Opciones>Avanzadas>Relleno Flash automático.
♦ Extraer número de cualquier posición de una cadena de texto con fórmulas
El uso de fórmulas es una forma versátil de extraer números de cadenas de texto. Este método emplea funciones integradas o de matriz dinámica y resulta especialmente útil si necesita una solución que se actualice automáticamente cuando cambien los datos de origen.
Seleccione una celda en blanco donde desee mostrar el número extraído. A continuación, introduzca una de las fórmulas siguientes según su versión de Excel. Una vez introducida la fórmula, arrastre el controlador de relleno hacia abajo para aplicarla a otras celdas según sea necesario. Consulte la ilustración siguiente como referencia:
● Todas las versiones de Excel:
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"") Esta fórmula es compatible con todas las versiones modernas de Excel y resulta una opción fiable si no utiliza Excel 365 ni Excel 2021. Tenga en cuenta que las fórmulas que combinan varias funciones pueden afectar al rendimiento con conjuntos de datos grandes. Asimismo, asegúrese de que las cadenas de texto incluyan al menos un carácter numérico; de lo contrario, la fórmula podría devolver una celda en blanco o un error.
● Excel 365 o Excel 2021 y versiones posteriores:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, "")) Esta fórmula aprovecha las nuevas funciones de matriz dinámica, simplificando notablemente el proceso de extracción para usuarios de Office 365, Excel 2021 y versiones posteriores. Maneja con eficacia combinaciones alfanuméricas tanto sencillas como más complejas. Asegúrese de utilizar la versión adecuada; de lo contrario, es posible que la fórmula no funcione como se espera.

Consejo: Al usar fórmulas con números mixtos o negativos, o con números que incluyan símbolos especiales, revise los resultados extraídos para garantizar su precisión. Además, es posible que las fórmulas no reconozcan los puntos decimales de forma predeterminada; por ello, si necesita extraer números decimales, consulte la sección específica dedicada a este tema más abajo. Si obtiene un resultado inesperado o un error, verifique nuevamente las referencias de celda y la sintaxis de la fórmula.
♦ Extraer número de cualquier posición de una cadena de texto con Kutools para Excel
Kutools para Excel ofrece un método sencillo para extraer números de cualquier posición dentro de una cadena de texto. Especialmente indicado para usuarios que prefieren una interfaz interactiva en lugar de fórmulas o que necesitan procesar un rango amplio sin esfuerzo manual, este método ahorra tiempo y agiliza las tareas al eliminar la necesidad de memorizar o depurar fórmulas.
- Haga clic en Kutools > Texto > Extraer texto, tal como se muestra a continuación.

- En el cuadro de diálogo Extraer texto:
(1.) Seleccione la lista de celdas que contienen sus cadenas de texto;
(2.) Elija la opción Extraer números, que garantiza que solo se capturen las partes numéricas;
(3.) Si desea que los números extraídos se actualicen automáticamente al modificar los datos de origen, active la casilla Insertar como fórmula (de lo contrario, los resultados serán texto estático);
(4.) Haga clic en Aceptar.
- Cuando se le solicite, seleccione una celda para la salida. Asegúrese de elegir un área en blanco con suficiente espacio para los resultados y así evitar sobrescribir datos existentes.

- Haga clic en Aceptar. ¡Los números de cada celda seleccionada se extraerán al instante!

Este enfoque es intuitivo y reduce el riesgo de errores en fórmulas o referencias de celda incorrectas. No obstante, tenga en cuenta que Kutools es un complemento y no forma parte de la instalación estándar de Excel. Es ideal para operaciones masivas y para usuarios que prefieren evitar la sintaxis compleja de funciones o VBA.
Si los números no se extraen como esperaba, compruebe si hay formato mixto (como caracteres ocultos o cifras no estándar) en sus datos de Texto Original. Asimismo, realice siempre una copia de seguridad de su hoja de cálculo antes de realizar cambios masivos.
♦ Extraer número de cualquier posición de una cadena de texto con código VBA
Para usuarios avanzados o en escenarios específicos donde las fórmulas y complementos no bastan, VBA ofrece un enfoque flexible para extraer números de cadenas de texto en Excel. Altamente personalizable, este método resulta ideal para automatizar tareas repetitivas o procesar conjuntos de datos no estándar.
- Abra el editor de VBA pulsando Alt + F11. En la ventana Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo. En la nueva ventana del módulo, pegue el siguiente código:
- Código VBA: Extraer solo números de una cadena de texto:
Sub ExtrNumbersFromRange() Dim xRg As Range Dim xDRg As Range Dim xRRg As Range Dim nCellLength As Integer Dim xNumber As Integer Dim strNumber As String Dim xTitleId As String Dim xI As Integer xTitleId = "KutoolsforExcel" Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8) If TypeName(xDRg) = "Nothing" Then Exit Sub Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8) If TypeName(xRRg) = "Nothing" Then Exit Sub xI = 0 strNumber = "" For Each xRg In xDRg xI = xI + 1 nCellLength = Len(xRg) For xNumber = 1 To nCellLength If IsNumeric(Mid(xRg, xNumber, 1)) Then strNumber = strNumber & Mid(xRg, xNumber, 1) End If Next xNumber xRRg.Item(xI) = strNumber strNumber = "" Next xRg End Sub - Después de insertar el código, pulse F5 o haga clic en el botón Ejecutar. Aparecerá un cuadro de diálogo solicitándole que seleccione el rango de cadenas de texto que desea procesar.

- Una vez que haya seleccionado su rango, haga clic en Aceptar. A continuación, aparecerá un segundo cuadro de diálogo para que especifique la celda inicial de la salida.

- Haga clic nuevamente en Aceptar. Todos los números incluidos en la selección original se extraerán y colocarán en el área de salida que haya especificado.
Las ventajas del método VBA incluyen un procesamiento eficiente de grandes volúmenes de datos y la posibilidad de personalizar su comportamiento —por ejemplo, extraer únicamente el primer número, gestionar decimales o excluir ciertos símbolos— siempre que cuente con conocimientos básicos de VBA. Precaución: las macros VBA no se pueden deshacer y podrían sobrescribir datos si el rango de salida seleccionado (Área de ubicación de la lista) se superpone con sus datos originales, por lo que siempre debe probarlas primero en una copia de seguridad del archivo. Asegúrese también de que las macros estén habilitadas en Excel.
Extraer únicamente el número decimal de una cadena de texto
A veces, sus cadenas de texto pueden incluir números con decimales (por ejemplo, «peso:15,25kg»). Si necesita extraer precisamente esos números decimales —incluido el punto decimal—, es posible que las fórmulas estándar no los identifiquen correctamente. Las soluciones que se presentan a continuación están diseñadas específicamente para manejar este tipo de casos:
Las siguientes fórmulas le permiten extraer números decimales de cadenas de texto de forma eficiente. Introduzca la fórmula adecuada en una celda vacía junto a sus datos y, a continuación, arrastre el controlador de relleno para aplicarla a las filas adicionales que necesite.
● Todas las versiones de Excel:
=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999")))) Esta fórmula es compatible con la mayoría de las versiones de Excel y está diseñada para identificar los puntos decimales como parte de un número durante la extracción. Compruebe cuidadosamente sus datos para asegurarse de que no contienen puntos innecesarios. Si los decimales no se extraen como se espera, revise la cadena original en busca de caracteres no estándar o problemas de formato.
● Excel 365:
=REGEXEXTRACT(A2,"[\d.]+") Con Excel 365, las matrices dinámicas procesan e identifican de forma más inteligente los números decimales extraídos de cadenas de texto complejas. Introduzca la fórmula en la celda de destino y pulse Intro, y luego extiéndala hacia abajo si es necesario.

Consejo: si obtiene repetidamente ceros o errores en lugar de números, asegúrese de que sus datos contienen números decimales válidos y de que las referencias de celda son correctas. Si sus números incluyen valores negativos o decimales, es posible que deba ajustar las fórmulas.
Extraer número del final de la cadena de texto
Cuando los números siempre aparecen al final de sus cadenas de texto (por ejemplo, «221_ProductID_446» o «923Ticket#2021»), es posible que desee extraer únicamente el número final («446» o «2021»). La fórmula que se ofrece aquí está diseñada específicamente para este caso, asegurando que solo se recuperen las secuencias numéricas ubicadas al final del texto.
Copie y pegue la siguiente fórmula en una celda vacía. En versiones antiguas de Excel, confirme la fórmula con Ctrl + Mayús + Intro para crear una fórmula matricial. En versiones más recientes de Excel con matrices dinámicas, basta con pulsar Intro:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))) Arrastre el controlador de relleno hacia abajo para aplicar esta fórmula al resto de filas. Este método es ideal para formatos consistentes en los que solo se necesita el último número de cada cadena, ignorando los que aparecen al principio o en medio del texto.

Nota: si sus datos combinan espacios, símbolos especiales o variaciones en la posición, ajuste la fórmula o utilice un método más general como el descrito anteriormente. Compruebe siempre que el resultado obtenido sea el esperado, especialmente si su texto termina con caracteres no numéricos que se asemejan a números.
Extraer número del principio de la cadena de texto
Si necesita extraer únicamente los números que aparecen al principio de sus cadenas de texto, una fórmula específica le permitirá aislar exclusivamente esa parte.
Coloque la fórmula en una celda de destino vacía y, en versiones antiguas de Excel, utilice Ctrl + Mayús + Intropara crear una fórmula matricial (en Excel 365/2021, simplemente pulse)Intro):
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1) A continuación, arrastre la fórmula hacia abajo para aplicarla a todas las filas que requieran extracción. Este enfoque devuelve exclusivamente los números ubicados al inicio de la cadena; incluso si hay más números en otras posiciones, solo se captura la parte numérica inicial.

Consejo: si el primer carácter de su cadena no es numérico, esta fórmula podría devolver una celda vacía o un error. Revise y limpie sus datos originales según sea necesario para obtener los mejores resultados.
Extraer números de cadenas de texto es una tarea habitual y, a menudo, esencial en la preparación de datos en Excel. El método más adecuado depende de la estructura de sus datos, de la versión de Excel que utilice y de su nivel de comodidad con fórmulas o complementos. Si su caso no encaja en las soluciones anteriores, considere combinar varios métodos o explorar complementos especializados para necesidades avanzadas. Revisar los resultados extraídos en busca de inconsistencias, conservar copias de seguridad y empezar con muestras pequeñas de datos le ayudará a evitar problemas habituales.
Artículos relacionados:
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos





