¿Cómo encontrar el primer número o todos los números en una cadena en Excel?
Al trabajar con datos complejos en Excel, es habitual encontrarse con celdas que combinan letras, números y caracteres especiales. Extraer el primer número o todos los números de estas cadenas resulta fundamental para tareas de limpieza, análisis o validación de datos. Por ejemplo, puede necesitar separar números de pieza de nombres de productos, extraer códigos de direcciones o aislar cifras incluidas en informes textuales. Buscar manualmente números dentro de cadenas es ineficiente y propenso a errores, especialmente en conjuntos de datos extensos. Este tutorial presenta métodos prácticos y eficaces para identificar el primer número o todos los números incrustados en una cadena en Excel, adaptándose a diversos escenarios y niveles de experiencia del usuario.
- Encontrar el primer número y su posición en una cadena de texto con fórmula
- Encontrar todos los números en una cadena de texto eliminando todos los caracteres no numéricos
- Encontrar todos los números en una cadena de texto extrayendo únicamente los números
- Extraer el primer número o todos los números con código VBA (bucle de macro)
- Extraer números de una cadena con Relleno rápido
Encontrar el primer número y su posición en una cadena de texto con fórmula
Este método presenta un conjunto de fórmulas que pueden utilizarse no solo para encontrar y extraer el primer número dentro de una cadena de texto, sino también para determinar la posición exacta en la que aparece ese primer carácter numérico en la celda. La aplicación de estas fórmulas resulta especialmente útil para usuarios que necesitan analizar cadenas estandarizadas con posiciones variables de números, como códigos de producto o identificadores combinados con texto descriptivo.
Encontrar y extraer el primer número en una cadena de texto con una fórmula matricial
Seleccione una celda vacía donde desee extraer el primer número de una cadena de texto, introduzca la fórmula =MID(A2,MIN(IF((ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2)))),ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2))))),1)+0 (A2 es la celda que contiene el texto en el que buscará el primer número) y pulse Ctrl+Mayús+Intro simultáneamente. Esta entrada matricial garantiza que la fórmula procese cada carácter de su cadena individualmente.
Tras confirmarla, arrastre el controlador de relleno de la celda hacia abajo para aplicar la fórmula a filas adicionales según sea necesario.
Una vez aplicada, los primeros números de cada cadena de texto se encuentran y extraen tal como se muestra a continuación:
Encontrar la posición del primer número en una cadena de texto con fórmulas
Seleccione una celda vacía donde quiera obtener la posición del primer número e introduzca la siguiente fórmula:=MIN(SI(ESNUMERO(HALLAR({1,2,3,4,5,6,7,8,9,0},A2)),HALLAR({1,2,3,4,5,6,7,8,9,0},A2))) (A2 representa aquí la celda que desea comprobar). Esta fórmula localiza la primera aparición de cualquier dígito (0–9). ¡Arrástrela hacia abajo para rellenar las celdas adyacentes según lo necesite!

Nota: Como alternativa, utilice esta fórmula matricial:=MIN(HALLAR({0,1,2,3,4,5,6,7,8,9},A2&{0,1,2,3,4,5,6,7,8,9})). Recuerde confirmarla con Ctrl + Mayús + Intro. Al copiar fórmulas, actualice siempre las referencias de celda fijas si modifica su estructura. Si la cadena no contiene ningún número, estas fórmulas devolverán un error. Para evitarlo, puede envolver la fórmula con SI.ERROR y mostrar mensajes personalizados en esos casos.
Encontrar todos los números en una cadena de texto eliminando todos los caracteres no numéricos
Si su objetivo es obtener todos los números de una celda eliminando simplemente cualquier carácter no numérico, la utilidad Eliminar caracteres específicos de Kutools para Excel ofrece una solución cómoda. Esta función resulta especialmente adecuada para usuarios que procesan con frecuencia datos importados o necesitan una limpieza rápida por lotes de celdas y prefieren una interfaz sencilla frente a fórmulas complejas.
1. Seleccione el rango que desea procesar para extraer todos los números y vaya al menú: Kutools > Texto > Eliminar caracteres específicos. Consulte la captura de pantalla como guía:
2. En el cuadro de diálogo Eliminar caracteres específicos que aparece, asegúrese de que únicamente esté marcada la casilla No numérico y haga clic en Aceptar para continuar.
Como resultado, la herramienta eliminará todos los caracteres no numéricos de las celdas seleccionadas, dejándole únicamente los componentes numéricos de cada celda.
Antes de ejecutar esta operación, considere hacer una copia de seguridad de su rango por si necesita revertir los cambios. En cadenas de texto que contengan números separados por letras (por ejemplo, "A23B17"), todos los números se concatenarán (“2317”). Si espera una disposición diferente, considere combinar esta función con otras.
Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora
Encontrar todos los números en una cadena de texto extrayendo únicamente los números
Si desea extraer directamente todos los números de una celda de texto (independientemente del formato) como un único valor, la función EXTRACTNUMBERS de Kutools para Excel ofrece un método eficaz y sencillo de usar. Es especialmente útil para usuarios que necesitan procesamiento por lotes pero prefieren un enfoque basado en funciones y fórmulas, que se puede aplicar con flexibilidad en toda la hoja de cálculo.
1. Seleccione una celda vacía donde desee que aparezcan los números extraídos y haga clic en Kutools > Funciones > Texto > EXTRACTNUMBERS. Consulte la ilustración siguiente:
2. En el cuadro de diálogo Argumentos de función, asigna la celda de texto correspondiente al campo Txt e introduce VERDADERO en el campo N (para devolver un valor numérico). A continuación, haz clic en Aceptar para confirmar y extraer los números.
Notas:
(1) Puede introducir VERDADERO, FALSO o dejar en blanco el campo N. Especificar VERDADERO devuelve un valor numérico; FALSO o dejarlo en blanco devolverá los números como texto (útil para conservar ceros iniciales).
(2) Esta función también puede usarse directamente como fórmula en la hoja de cálculo: =EXTRACTNUMBERS(A2;VERDADERO). Introdúzcala en la celda de salida deseada.
(3) Al copiar la fórmula a filas adyacentes, asegúrese de ajustar las referencias de celda cuando sea necesario.
Los números extraídos de cada celda de texto se mostrarán tal como se ilustra a continuación:
Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora
Extraer el primer número o todos los números con código VBA (bucle de macro)
Cuando las fórmulas y funciones integradas no son suficientes —por ejemplo, si necesita extraer únicamente el primer número, la primera secuencia numérica completa o todos los números por separado de una cadena—, el código VBA le ofrece una flexibilidad y automatización superiores. Este enfoque es ideal para usuarios que trabajan habitualmente con requisitos de extracción específicos en grandes volúmenes de datos o que desean automatizar el proceso mediante macros reutilizables. Recuerde que debe habilitar las macros y, antes de ejecutar cualquier código en conjuntos de datos extensos, realice siempre una copia de seguridad de su archivo.
1. En la ventana principal de Excel, haga clic en Herramientas para desarrolladores > Visual Basic para abrir el editor de VBA. En la ventana Microsoft Visual Basic para Aplicaciones, seleccione Insertar > Módulo. Copie y pegue el siguiente código en el nuevo módulo:
Extraer los primeros números: Extrae únicamente la primera secuencia numérica continua que encuentres en cada cadena (por ejemplo, "abc12def45" devuelve 12).
Sub ExtractFirstNumber()
Dim rng As Range
Dim cell As Range
Dim txt As String
Dim i As Integer
Dim sNum As String
Dim FirstNum As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
For Each cell In rng
txt = cell.Value
sNum = ""
FirstNum = ""
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "[0-9]" Then
sNum = sNum & Mid(txt, i, 1)
If i = Len(txt) Or Not (Mid(txt, i + 1, 1) Like "[0-9]") Then
FirstNum = sNum
Exit For
End If
ElseIf sNum <> "" Then
FirstNum = sNum
Exit For
End If
Next i
cell.Offset(0, 1).Value = FirstNum
Next cell
End Sub Extrae todos los números: Extrae todos los números en secuencia, separando cada bloque numérico con espacios (por ejemplo, "abc12def45" devuelve "12 45").
Sub ExtractAllNumbers()
Dim rng As Range
Dim cell As Range
Dim txt As String
Dim i As Integer
Dim arrNums As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range", xTitleId, rng.Address, Type:=8)
For Each cell In rng
txt = cell.Value
arrNums = ""
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like "[0-9]" Then
arrNums = arrNums & Mid(txt, i, 1)
Else
If arrNums <> "" Then
arrNums = arrNums & " "
End If
End If
Next i
arrNums = WorksheetFunction.Trim(arrNums)
cell.Offset(0, 1).Value = arrNums
Next cell
End Sub 2. En el editor de VBA, haga clic en el botón
Ejecutar o pulse la tecla F5 para ejecutar el código. Aparecerá un cuadro de diálogo que le pedirá que seleccione el rango de destino. El código escribirá el(los) número(s) extraído(s) en la columna inmediatamente a la derecha de los datos originales.
Asegúrese de que su hoja de cálculo no utilice ya las columnas inmediatamente a la derecha de sus datos para evitar sobrescrituras. Si el código no parece funcionar, compruebe si las macros están habilitadas en su libro y confirme que sus valores de texto contienen realmente números.
Extraer números de una cadena con Relleno rápido
La función integrada de Excel Relleno Rápido puede extraer automáticamente números de cadenas de texto aprendiendo a partir de patrones de ejemplo. Este método resulta especialmente útil para operaciones manuales rápidas sobre datos bien estructurados o cuando se busca una solución sencilla sin fórmulas que no requiera configurar lógica compleja.
Para utilizar Relleno Rápido y extraer números de una cadena:
- En una Columna en blanco adyacente a sus datos, escriba manualmente el resultado deseado para la primera celda. Por ejemplo, si A2 contiene "OrderA12B3", escriba "123" en B2 para mostrar el resultado de la extracción.
- Vaya a la celda situada bajo su ejemplo (por ejemplo, B3) y comience a escribir el resultado esperado para la siguiente fila. Excel podría mostrar una vista previa del patrón que reconoce. Si la vista previa coincide con lo que busca, simplemente pulse Intro. De lo contrario, siga introduciendo algunos valores más para refinar el patrón esperado.
- Como alternativa, tras introducir el ejemplo en la primera celda, seleccione todo el área del rango de la lista deseado y vaya a Datos > Relleno rápido(o pulse)Ctrl + E). Excel rellenará automáticamente los números extraídos según el patrón aprendido.
Relleno Rápido reconoce relaciones coherentes entre entradas y salidas, así que asegúrese de que sus ejemplos sean claros y precisos. Esta función funciona mejor cuando el formato de los datos es regular; si la estructura de sus datos es más variable o necesita un control preciso, considere utilizar una solución basada en fórmulas o macros.
Si Relleno Rápido no aparece, compruebe que esté activado en Archivo > Opciones > Avanzadas > Opciones de edición: asegúrese de que la casilla Rellenar automáticamente con Relleno Rápido esté marcada.
Demostración: encontrar todos los números en una cadena en Excel
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