KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

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

AutorXiaoyang Data de Modificação

Ao trabalhar com dados de texto no Excel, encontrará frequentemente cadeias que contêm múltiplos espaços, vírgulas ou outros delimitadores. Embora a funcionalidade Texto em Colunas do Excel permita dividir o conteúdo de uma célula em colunas separadas com base num delimitador escolhido, há situações em que precisa de uma solução mais específica — como extrair tudo o que está antes ou depois do segundo espaço ou vírgula numa célula. Este artigo apresenta vários métodos práticos para o conseguir, incluindo fórmulas para obter o texto antes ou depois do segundo espaço/vírgula, soluções robustas com macros VBA para automatizar tarefas ou lidar com conjuntos de dados maiores, e opções versáteis com Power Query para pré-processamento avançado de dados.

uma captura de ecrã da cadeia de texto original e dos dois segmentos separados pelo segundo espaço

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 pretender 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. Introduza a seguinte fórmula numa célula vazia onde quiser apresentar o resultado (por exemplo, na célula)C2):

=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1)))

2. Prima Enter. Em seguida, utilize a alça de preenchimento para arrastar a fórmula até todas as linhas que pretende processar. O resultado apresentará todo o texto antes do segundo espaço em cada linha correspondente — veja a imagem abaixo:

Dica:Se pretender extrair texto antes da segunda vírgula ou de outro delimitador, basta substituir o caractere de espaço ()" ") na fórmula pelo seu delimitador pretendido. Por exemplo, para uma vírgula:

=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1)))

Esta abordagem é rápida e eficiente para extrações pontuais ou quando se trabalha com conjuntos de dados de dimensão moderada. Contudo, se o texto for muito irregular ou o número de delimitadores variar significativamente entre linhas, poderão ser necessários ajustes adicionais na fórmula. Além disso, esteja atento a espaços extra ou a Células vazias, que podem afetar os resultados. Verifique sempre cuidadosamente a saída ao aplicar a dados críticos.

uma captura de ecrã de kutools for excel ia

Desbloqueie a Magia do Excel com KUTOOLS AI

  • Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
  • fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
  • Programação VBA: Escreva e implemente código VBA com facilidade.
  • Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
  • Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Potencie as capacidades do seu Excel com ferramentas alimentadas por IA.Descarregue Agorae 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 numa célula, pode utilizar as funções MID e PROCURAR em conjunto.

1. Introduza a seguinte fórmula na célula de destino (por exemplo, D2):

=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256)

2. Prima Enter. Arraste a alça de preenchimento para baixo por todas as linhas que necessitam de extração. Isto irá mostrar tudo o que está após o segundo espaço em cada linha, conforme demonstrado na imagem:

Dica: Para extrair texto após a segunda vírgula ou qualquer outro separador, substitua o caractere de espaço na fórmula pelo delimitador pretendido. No caso de 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 automatização, utilizar uma macro VBA é uma solução eficaz. O VBA permite-lhe extrair 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 sempre que precisar de uma rotina reutilizável.

1. Selecione Programador > Visual Basic. Na janela que surge, Microsoft Visual Basic para Aplicações, clique em Inserir > Módulo e introduza 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 botão Botão Executar Executar ou prima F5 para executar. Será apresentada uma caixa de diálogo a solicitar que selecione o seu intervalo de dados, introduza o delimitador, especifique se pretende o texto “antes” ou “depois” da segunda ocorrência e, por fim, indique uma célula onde colocar o resultado. A macro apresentará o resultado extraído na célula especificada.


As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos