Como extrair texto antes / depois do segundo espaço ou vírgula no Excel?
Ao trabalhar com dados de texto no Excel, você pode frequentemente encontrar strings contendo múltiplos espaços, vírgulas ou outros delimitadores. Embora o recurso Texto para Colunas no Excel possa dividir o conteúdo de uma célula em colunas separadas com base em um delimitador escolhido, há momentos em que você precisa de uma solução mais específica — como extrair tudo antes ou depois do segundo espaço ou vírgula em uma célula. Este artigo descreve vários métodos práticos para realizar isso, incluindo fórmulas que visam o texto antes ou depois do segundo espaço/vírgula, soluções robustas usando macros VBA para automação ou grandes conjuntos de dados, e opções versáteis usando o Power Query para pré-processamento avançado de dados.
Extrair texto antes do segundo espaço ou vírgula com fórmula
Extrair texto após o segundo espaço ou vírgula com fórmula
Extrair texto antes ou depois do segundo delimitador (espaço/vírgula) com código VBA
Extrair texto antes do segundo espaço ou vírgula com fórmula
Se você deseja isolar a parte de uma célula que aparece antes do segundo espaço, pode usar uma combinação de funções do Excel.
1. Insira a seguinte fórmula em uma célula em branco onde você deseja exibir o resultado (por exemplo, célula C2):
=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1)))
2. Pressione Enter. Depois, use a alça de preenchimento para arrastar a fórmula para baixo por todas as linhas que deseja processar. O resultado exibirá todo o texto antes do segundo espaço em cada linha correspondente — veja a captura de tela abaixo:
Dica: Se você deseja extrair texto antes da segunda vírgula ou outro delimitador, basta substituir o caractere de espaço (" "
) na fórmula pelo seu delimitador desejado. Por exemplo, para uma vírgula:
=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1)))
Essa abordagem é rápida e eficiente para extrações únicas ou ao trabalhar com conjuntos de dados de tamanho moderado. No entanto, se o texto for altamente irregular ou o número de delimitadores variar muito entre as linhas, ajustes adicionais na fórmula podem ser necessários. Além disso, esteja atento a espaços extras ou células vazias, que podem afetar os resultados. Sempre verifique duas vezes a saída ao aplicar a dados críticos.

Desbloqueie a Magia do Excel com o Kutools AI
- Execução Inteligente: Realize operações de células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- Fórmulas Personalizadas: Gere fórmulas sob medida para otimizar seus fluxos de trabalho.
- Codificação VBA: Escreva e implemente código VBA sem esforço.
- Interpretação de Fórmulas: Compreenda fórmulas complexas com facilidade.
- Tradução de Texto: Supere barreiras linguísticas dentro de suas planilhas.
Extrair texto após o segundo espaço ou vírgula com fórmula
Para extrair o texto que aparece após o segundo delimitador de espaço em uma célula, você pode usar as funções MID
e FIND
juntas.
1. Insira a seguinte fórmula na célula de destino (por exemplo, D2):
=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256)
2. Pressione Enter. Arraste a alça de preenchimento para baixo por todas as linhas que precisam de extração. Isso apresentará tudo após o segundo espaço para cada linha, conforme demonstrado na captura de tela:
Dica: Para extrair texto após a segunda vírgula ou qualquer outro separador, substitua o caractere de espaço dentro da fórmula pelo seu delimitador necessário. Para uma vírgula, a fórmula seria:
=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256)
Extrair texto antes ou depois do segundo delimitador (espaço/vírgula) com código VBA
Para conjuntos de dados maiores, extrações repetidas ou cenários de automação, usar uma macro VBA é uma solução eficaz. O VBA permite que você extraia texto antes ou depois do segundo espaço, vírgula ou qualquer outro delimitador — aumentando a eficiência ao trabalhar com diferentes estruturas de dados ou quando precisa de uma rotina repetível.
1. Selecione Desenvolvedor > Visual Basic. Na janela Microsoft Visual Basic for Applications que apareceu, clique em Inserir > Módulo e insira o seguinte código na janela do 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. Após colar o código, clique no Executar botão, ou pressione F5 para executar. Um diálogo solicitará que você selecione o intervalo de dados, insira o delimitador, especifique se deseja o texto “antes” ou “depois” da segunda ocorrência e, por último, selecione uma célula para exibir o resultado. A macro gerará o resultado extraído na célula especificada.
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface de abas para o Office e facilita muito seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!