Note: The other languages of the website are Google-translated. Back to English

Como extrair a primeira / última / enésima palavra de uma string de texto no Excel?

Você já sofreu com o problema de precisar extrair uma determinada palavra da string de texto em uma planilha? Por exemplo, você tem o seguinte intervalo de strings de texto necessárias para obter a primeira / última ou enésima palavra deles. Aqui, posso falar sobre algumas maneiras eficazes de resolvê-lo.


Extraia a primeira palavra ou o sobrenome da string de texto com Fórmulas

Se você precisar extrair a primeira palavra de uma lista de strings de texto, as fórmulas a seguir podem ajudá-lo.

Para extrair a primeira palavra, insira a fórmula abaixo em uma célula em branco e arraste a alça do Preenchimento automático dessa célula para o intervalo conforme necessário.

= SE (ISERR (FIND ("", A2)), "", LEFT (A2, FIND ("", A2) -1))

Para extrair a última palavra de cada célula, aplique esta fórmula:

= SE (ISERR (FIND ("", A2)), "", RIGHT (A2, LEN (A2) -FIND ("*", SUBSTITUTE (A2, "", "*", LEN (A2) -LEN ( SUBSTITUIR (A2, "", ""))))))

E agora você verá que a primeira ou a última palavra é extraída de cada célula.

notas: Nas fórmulas acima, A2 indica a célula da qual você extrairá a primeira ou a última palavra.

É difícil memorizar fórmulas longas e complicadas? Uma ferramenta incrível ajuda a extrair a enésima palavra wom vários cliques apenas!

As fórmulas longas acima só podem extrair a primeira e a última palavra, mas será inútil extrair a enésima palavra especificada, diz a segunda palavra, a sexta palavra, etc. Mesmo você pode descobrir fórmulas para resolver o problema, as fórmulas devem ser muito complexo para memorizar e aplicar. Aqui, o recurso Extrair a enésima palavra na célula do Kutools para Excel é recomendado e o ajudará a extrair a enésima palavra o mais fácil possível!


Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Avaliação gratuita de recursos completos 30-dia, sem necessidade de cartão de crédito! Get It Now

Extraia a enésima palavra da string de texto com a função definida pelo usuário

Se você quiser extrair a segunda, terceira ou qualquer enésima palavra da string de texto, você pode criar uma função definida pelo usuário para lidar com ela.

1. Segure o ALT + F11 chaves para abrir o Janela Microsoft Visual Basic for Applications.

2. Clique inserção > Móduloe cole o seguinte código no Módulo janela.

Function FindWord(Source As String, Position As Integer)
'Update 20131202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. Em seguida, salve o código, neste exemplo, pegarei a terceira palavra da string, então digite esta fórmula = findword (A2,3) em uma célula em branco B2 e, em seguida, arraste a alça de Preenchimento automático dessa célula para o intervalo que você precisa. Veja a imagem:

NOTA Na fórmula acima, A2 é a célula de onde você deseja extrair a palavra, o número 3 indica a terceira palavra na string que você vai extrair e pode alterá-la conforme necessário.


Extraia cada palavra da string de texto e liste-as horizontal ou verticalmente

Este método irá apresentar o Kutools para Excel Dividir células utilitário para extrair cada palavra de células de string de texto e, em seguida, listar as palavras extraídas horizontal ou verticalmente com base em sua necessidade.

Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Avaliação gratuita de recursos completos 30-dia, sem necessidade de cartão de crédito! Teste grátis agora!

1. Selecione as células da string de texto das quais você extrairá suas palavras e clique no botão Kutools > Unir e dividir > Dividir células.

2. Na caixa de diálogo de abertura de Dividir Células, especifique o tipo de divisão no para cada ocasião seção, verifique o Espaço opção no Especifique um separador seção e clique no Ok botão. Veja a imagem:

3. Agora especifique o intervalo de destino no qual você produzirá as palavras extraídas e clique no OK botão

Se você marcou o Dividir em colunas opção na caixa de diálogo Dividir células acima, cada palavra é extraída de cada string de texto e listada verticalmente.

Se você marcou o Dividir em linhas opção na caixa de diálogo Dividir células acima, cada palavra é extraída de cada string de texto e listada horizontalmente.


Extraia a enésima palavra da string de texto no Excel com uma ferramenta incrível

Se você instalou o Kutools para Excel, pode usar o recurso Formula Helper> Extrair a enésima palavra na célula para extrair rapidamente a enésima palavra da célula especificada.

Kutools for Excel - Inclui mais de 300 ferramentas úteis para Excel. Avaliação gratuita de recursos completos 30-dia, sem necessidade de cartão de crédito! Teste grátis agora!

1. Selecione a célula em que você colocará a palavra extraída e clique em Kutools > Fórmula Helper > Fórmula Helper para ativar esse recurso.

2. Na caixa de diálogo Auxiliar de fórmulas, faça o seguinte:
(1) Selecione Texto de Tipo de fórmula lista suspensa;
(2) Clique para destacar Extraia a enésima palavra na célula no Escolha uma fórmula caixa de listagem;
(3) No Célula caixa, especifique a célula da qual você extrairá a palavra;
(4) em O enésimo caixa, especifique o número.

3. Clique no Ok botão. Se necessário, arraste o identificador de preenchimento automático da célula da fórmula e copie a fórmula para outras células.


Demo: extraia cada palavra da string de texto e liste-as horizontal ou verticalmente


Kutools for Excel inclui mais de 300 ferramentas úteis para Excel, grátis para testar sem limitação em 30 dias. Baixe e teste grátis agora!

Artigos relacionados:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (38)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Esse código vba é fantástico, muito obrigado.
Este comentário foi feito pelo moderador no site
Esta função definida pelo usuário é incrível! Muito obrigado por compartilhá-lo.
Este comentário foi feito pelo moderador no site
Muito obrigado! Funcionou bem! :-)
Este comentário foi feito pelo moderador no site
Isso foi SUPER útil, eu queria saber se alguém sabia de um download, ou uma lista de copiar e colar de funções úteis feitas à mão, como o "FindWord" que eu seria capaz de usar.
Este comentário foi feito pelo moderador no site
Oi, eu estava imaginando o que mais eu poderia inserir na fórmula do Visual Basic que poderia extrair e vírgulas ou traços imediatamente após os dados .. por exemplo, Fortin-
Este comentário foi feito pelo moderador no site
Olá, isso é excelente. Funcionou muito bem e reduz nossa tensão economiza muito tempo nesta operação. Obrigado a todos que trabalharam nisso e compartilharam...
Este comentário foi feito pelo moderador no site
Um bom. Isso funcionou muito bem
Este comentário foi feito pelo moderador no site
Oi, Isso realmente economiza muito tempo. Obrigado por compartilhar Alguém também pode sugerir como podemos extrair as palavras com vba de maneira inversa, por exemplo, a última palavra é 1, a segunda da direita para a esquerda é 2 e assim por diante. Isso será muito apreciado.
Este comentário foi feito pelo moderador no site
Isso não funciona corretamente em uma string de origem composta de não palavras (como nomes de fornecedores seguidos de números de peça)
Este comentário foi feito pelo moderador no site
como podemos alterar as fontes para a enésima palavra em uma célula
Este comentário foi feito pelo moderador no site
Muito apreciado. Isto me ajudou bastante.
Este comentário foi feito pelo moderador no site
Olá, obrigado pelo seu pedaço de código. Isso me inspirou a expandir um pouco. Nas próximas linhas, você pode selecionar: última palavra (0), penúltima (-1), penúltima (-2) etc. Independentemente do número de palavras. Função FindWord(Source As String, Position As Integer) 'Update 20150504 Dim arr() As String arr = VBA.Split(Source, " ") xCount = UBound(arr) Select Case Position Case -xCount To 0 FindWord = arr(xCount + Posição) Case 1 Para (xCount + 1) FindWord = arr(Position - 1) Case Else FindWord = "" End Select End Function
Este comentário foi feito pelo moderador no site
Oi, apenas uma adição ao código de ontem. Isso adiciona uma linha extra para ajustar espaços redundantes na string de origem: arr = VBA.Split(WorksheetFunction.Trim(Source), " ") cumprimentos, Allart
Este comentário foi feito pelo moderador no site
Obrigado, Alan, isso é ótimo, obrigado! :)
Este comentário foi feito pelo moderador no site
Muito obrigado!!
Este comentário foi feito pelo moderador no site
Oi .. Obrigado pelo seu código, eu tenho frases de lista, e uma delas apenas 1 palavra, e seu código não funciona se tiver apenas 1 palavra ..
Este comentário foi feito pelo moderador no site
Não consigo fazer com que o código da primeira palavra funcione se parte da minha lista tiver apenas uma palavra na célula. por exemplo, primeira palavra ---> primeiro segundo ---> [null] última palavra ---> último
Este comentário foi feito pelo moderador no site
Tente isto (veja minha resposta acima): Function FindWord(Source As String, Position As Integer) ' obtém 1st, 2nd, last(0), penúltimo(-2) etc, word from a string ' Update 20150505 Dim arr( ) As String arr = VBA.Split(WorksheetFunction.Trim(Source), " ") xCount = UBound(arr) Selecione Case Position Case -xCount To 0 FindWord = arr(Position + xCount) Case 1 To xCount + 1 FindWord = arr (Posição - 1) Case Else FindWord = "" End Select
Este comentário foi feito pelo moderador no site
Oi geeks, tenho uma célula assim: 1 ABCD; 2 DEDF; 1 DED#3d; 4 FDWDS; 1 ED E gostaria de extrair o caractere depois de 1. Assim desejava ter um resultado como abaixo: ABCD;DED#3d;ED
Este comentário foi feito pelo moderador no site
Eu tenho o Excel 64 de 2013 bits e estou perdendo o suplemento Morefunc. Com base no código acima, criei essa substituição para a função WMID do Morefunc. Eu ficaria grato se alguém mais experiente do que eu pudesse realizar qualquer arrumação dele. Função WMid1(Source As String, Opcional Position As Integer, Opcional WordCount As Integer, Opcional Separator As String) Dim arr() As String Dim xCount As Integer Dim wCount As Integer Dim wFirst As Integer Dim wLast As Integer If Position = 0 Then Position = 1 Se WordCount = 0 Then WordCount = 1 Se Separator = "" Then Separator = " " arr = VBA.Split(Trim(Source), Separator) xCount = UBound(arr) + 1 Se Position < 1 Then wFirst = Application. Max(xCount + Position - WordCount + 1, 0) wLast = xCount + Position Else wFirst = Position - 1 wLast = Application.Min(xCount - 1, Position + WordCount - 2) End If If xCount < 2 Ou Abs(Position) > xCount Then WMid1 = "" Else WMid1 = arr(wFirst) Para wCount = wFirst + 1 To wLast WMid1 = WMid1 & Separator & arr(wCount) Next End If WMid1 = Trim(WMid1) End Function
Não há comentários postados aqui ainda
carregar mais
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL