¿Cómo extraer el texto antes o después del segundo espacio o coma en Excel?
Al trabajar con datos de texto en Excel, es muy probable que te encuentres a menudo con cadenas que contienen varios espacios, comas u otros delimitadores. Aunque la función Texto en columnas de Excel permite dividir el contenido de una celda en columnas distintas según un delimitador elegido, hay ocasiones en las que necesitas una solución más específica, como extraer todo lo que aparece antes o después del segundo espacio o coma en una celda. Este artículo presenta varios métodos prácticos para lograrlo: fórmulas orientadas a texto para obtener lo que hay antes o después del segundo espacio o coma, soluciones robustas mediante macros VBA ideales para automatización o conjuntos de datos grandes, y opciones versátiles con Power Query para un preprocesamiento avanzado de datos.

Extraer texto antes del segundo espacio o coma con fórmula
Extraer texto después del segundo espacio o coma con fórmula
Extraer texto antes o después del segundo delimitador (espacio/coma) con código VBA
Extraer texto antes del segundo espacio o coma con fórmula
Si desea extraer la parte de una celda que aparece antes del segundo espacio, puede usar una combinación de funciones de Excel.
1. Introduzca la siguiente fórmula en una celda vacía donde quiera mostrar el resultado (por ejemplo, en la celda)C2):
=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1))) 2. Pulse Intro. A continuación, use el controlador de relleno para arrastrar la fórmula hacia abajo por todas las filas que desee procesar. El resultado mostrará todo el texto anterior al segundo espacio en cada fila correspondiente; consulte la siguiente captura de pantalla:

Consejo:Si desea extraer el texto antes de la segunda coma u otro delimitador, basta con reemplazar el carácter de espacio ()" ") en la fórmula por el delimitador que desee. Por ejemplo, para una coma:
=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1))) Este enfoque es rápido y eficaz para extracciones puntuales o cuando se trabaja con conjuntos de datos de tamaño moderado. No obstante, si el texto es muy irregular o el número de delimitadores varía considerablemente entre filas, puede ser necesario ajustar la fórmula adicionalmente. Además, tenga en cuenta los espacios adicionales o las celdas vacías, ya que podrían afectar los resultados. Revise siempre con atención la salida al aplicar esta solución a datos críticos.

Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Extraer texto después del segundo espacio o coma con fórmula
Para extraer el texto que aparece después del segundo delimitador de espacio en una celda, puede combinar las funciones EXTRAE y ENCONTRAR.
1. Introduzca la siguiente fórmula en la celda de destino (por ejemplo, D2):
=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256) 2. Pulse Intro. Arrastre el controlador de relleno hacia abajo por todas las filas que requieran extracción. Así se mostrará todo lo que aparece después del segundo espacio en cada fila, tal como se muestra en la captura de pantalla:

Consejo: Para extraer texto después de la segunda coma o cualquier otro separador, sustituya el carácter de espacio en la fórmula por el delimitador que necesite. En el caso de una coma, la fórmula sería:
=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256) Extraer texto antes o después del segundo delimitador (espacio/coma) con código VBA
Para conjuntos de datos grandes, extracciones repetidas o escenarios de automatización, utilizar una macro de VBA constituye una solución eficaz. VBA le permite extraer texto antes o después del segundo espacio, coma u otro delimitador, lo que mejora la eficiencia al trabajar con distintas estructuras de datos o cuando necesita una rutina repetible.
1. Seleccione Programador > Visual Basic. En la ventana emergente Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo e introduzca el siguiente código en la ventana del módulo:
Sub ExtractTextSecondDelimiter()
Dim rng As Range
Dim cell As Range
Dim sep As String
Dim direction As String
Dim arr As Variant
Dim result As String
Dim pos1 As Long
Dim pos2 As Long
Dim xTitleId As String
Dim outputCell As Range
Dim i As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select text range to extract from", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
sep = Application.InputBox("Enter delimiter (e.g. space or comma)", xTitleId, " ", Type:=2)
If sep = "" Then Exit Sub
direction = Application.InputBox("Type 'before' for text before, 'after' for text after the 2nd delimiter", xTitleId, "before", Type:=2)
If direction = "" Then Exit Sub
Set outputCell = Application.InputBox("Select the first cell to output the result", xTitleId, Type:=8)
If outputCell Is Nothing Then Exit Sub
Application.ScreenUpdating = False
i = 0
For Each cell In rng
If Not IsEmpty(cell.Value) Then
pos1 = InStr(1, cell.Value, sep)
If pos1 > 0 Then
pos2 = InStr(pos1 + 1, cell.Value, sep)
If pos2 > 0 Then
If LCase(direction) = "before" Then
result = Left(cell.Value, pos2 - 1)
ElseIf LCase(direction) = "after" Then
result = Mid(cell.Value, pos2 + Len(sep))
Else
result = cell.Value
End If
Else
result = cell.Value
End If
Else
result = cell.Value
End If
outputCell.Offset(i, 0).Value = result
End If
i = i + 1
Next
Application.ScreenUpdating = True
MsgBox "Extraction completed.", vbInformation, xTitleId
End Sub
2. Tras pegar el código, haga clic en el botón
Ejecutar o pulse F5 para ejecutarlo. Aparecerá un cuadro de diálogo en el que deberá seleccionar su rango de datos, introducir el delimitador, indicar si desea el texto «antes» o «después» de la segunda aparición y, por último, elegir una celda donde mostrar el resultado. La macro mostrará el resultado extraído en la celda especificada.
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