Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

Como extrair texto antes / depois do segundo espaço ou vírgula no Excel? 

Author Xiaoyang Last modified

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.

a screenshot of the original text string and the two segments separated by the second space

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.

a screenshot of kutools for excel ai

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.
Potencialize suas capacidades no Excel com ferramentas alimentadas por IA. Baixe Agora e experimente uma eficiência como nunca antes!

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 Run button 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

🤖 Kutools AI Aide: Revolucione a análise de dados com: Execução Inteligente   |  Gerar Código  |  Criar Fórmulas Personalizadas  |  Analisar Dados e Gerar Gráficos  |  Chamar Funções Aprimoradas
Recursos Populares: Localizar, Destacar ou Marcar Duplicatas   |  Excluir Linhas em Branco   |  Consolidar Colunas ou Células sem Perder Dados   |   Arredondar...
Super PROC: Procura por múltiplos critérios    Procura por múltiplos valores  |   Procura em várias planilhas   |   Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente Lista suspensa  |  Lista suspensa dependente  |  Lista suspensa com múltipla seleção ...
Gerenciador de Colunas: Adicionar número específico de colunas  | Mover Colunas  | Alternar status de visibilidade de Colunas ocultas |  Comparar Intervalos & Colunas...
Recursos em Destaque: Grade de foco   |  Visualização de Design  |  Barra de fórmulas aprimorada    Gerenciador de Pasta de trabalho & Planilha   |  Biblioteca de AutoTexto (Auto Text)   |  Selecionador de Data   |  Mesclar Dados   |  Criptografar/Descriptografar Células    Enviar Email por Lista   |  Super Filtro   |   Filtro Especial (filtrar negrito/itálico/tachado...) ...
Os 15 Principais Conjuntos de Ferramentas: 12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...)  | 50+ Tipos de Gráficos (Gráfico de Gantt, ...)  | 40+ Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...)  | 19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem pelo Caminho, ...)  | 12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...)  | 7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ...e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 idiomas!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para acessar o recurso que você mais precisa...


Office Tab traz interface com abas para o Office e facilita muito seu trabalho

  • Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
  • Aumente sua produtividade em50% e economize centenas de cliques todos os dias!

Todos os complementos Kutools. Um instalador

O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.

Excel Word Outlook Tabs PowerPoint
  • Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Um instalador, uma licença — configuração em minutos (pronto para MSI)
  • Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
  • Avaliação completa por30 dias — sem registro e sem cartão de crédito
  • Melhor custo-benefício — economize comparado à compra individual de add-ins