¿Cómo extraer texto antes/después del segundo espacio o coma en Excel?
Al trabajar con datos de texto en Excel, es posible que a menudo te encuentres con cadenas que contienen múltiples espacios, comas u otros delimitadores. Aunque la función Texto en Columnas en Excel puede dividir el contenido de una celda en columnas separadas basándose en un delimitador elegido, hay momentos en los que necesitas una solución más específica, como extraer todo lo que está antes o después del segundo espacio o coma en una celda. Este artículo describe varios métodos prácticos para lograr esto, incluidas fórmulas que apuntan al texto antes o después del segundo espacio/coma, soluciones robustas utilizando macros VBA para automatización o conjuntos de datos más grandes y opciones versátiles usando Power Query para 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 deseas aislar la parte de una celda que aparece antes del segundo espacio, puedes usar una combinación de funciones de Excel.
1. Introduce la siguiente fórmula en una celda en blanco donde deseas mostrar el resultado (por ejemplo, la celda C2):
=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1)))
2. Pulsa Enter. Luego usa el controlador de relleno para arrastrar la fórmula hacia abajo para todas las filas que deseas procesar. El resultado mostrará todo el texto antes del segundo espacio en cada fila correspondiente—ver captura de pantalla a continuación:
Consejo: Si quieres extraer texto antes de la segunda coma u otro delimitador, simplemente reemplaza el carácter de espacio (" "
) en la fórmula con tu delimitador deseado. 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 eficiente para extracciones únicas o cuando trabajas con conjuntos de datos de tamaño moderado. Sin embargo, si el texto es altamente irregular o la cantidad de delimitadores varía mucho entre filas, pueden ser necesarios ajustes adicionales en las fórmulas. Además, ten cuidado con los espacios adicionales o las celdas vacías, ya que pueden afectar los resultados. Siempre verifica dos veces la salida al aplicarlo a datos críticos.

Descubre la Magia de Excel con Kutools AI
- Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
- Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
- Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
- Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
- Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Extraer texto después del segundo espacio o coma con fórmula
Para extraer texto que aparece después del segundo delimitador de espacio en una celda, puedes usar las funciones MID
y FIND
juntas.
1. Introduce la siguiente fórmula en la celda objetivo (por ejemplo, D2):
=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256)
2. Pulsa Enter. Arrastra el controlador de relleno hacia abajo a través de todas las filas que necesitan extracción. Esto presentará todo lo que está después del segundo espacio para cada fila, como se demuestra en la captura de pantalla:
Consejo: Para extraer texto después de la segunda coma u otro separador, reemplaza el carácter de espacio dentro de la fórmula con tu delimitador requerido. Para 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 más grandes, extracciones repetidas o escenarios de automatización, usar una macro VBA es una solución efectiva. VBA te permite extraer texto antes o después del segundo espacio, coma u otro delimitador—mejorando la eficiencia al trabajar con diferentes estructuras de datos o necesitar una rutina repetible.
1. Selecciona Desarrollador > Visual Basic. En la ventana emergente Microsoft Visual Basic para Aplicaciones, haz clic en Insertar > Módulo, e introduce 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. Después de pegar el código, haz clic en el Ejecutar botón, o presiona F5 para ejecutarlo. Un cuadro de diálogo te pedirá que selecciones tu rango de datos, luego ingresa el delimitador, especifica si deseas el texto “antes” o “después” de la segunda ocurrencia, y por último, selecciona una celda para mostrar el resultado. La macro generará el resultado extraído en la celda especificada.
Las mejores herramientas de productividad para Office
Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...
Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
- ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!