Ir para o conteúdo principal

Como extrair a primeira letra de cada palavra da célula?

Imagine que você tem uma lista de nomes de países em sua planilha e deseja extrair a primeira letra de cada palavra desses nomes. O Excel não oferece um recurso direto para extrair as letras iniciais de cada palavra em uma célula. No entanto, apresentarei alguns métodos práticos para realizar essa tarefa com eficiência, tornando o processo simples e eficaz.


Extraia a primeira letra de cada palavra da célula com fórmula

Para obter a primeira letra de cada palavra em uma célula, a seguinte fórmula de matriz pode ajudá-lo.

1. Copie a seguinte fórmula em uma célula em branco onde deseja obter o resultado e pressione Ctrl + Shift + Enter chaves juntas para obter o primeiro resultado.

=CONCAT(LEFT(FILTERXML("<a><b>"&SUBSTITUTE(A2," ","</b><b>")&"</b></a>","//b"),1))

2. Em seguida, puxe a fórmula para baixo para preencher as outras células. Esta ação extrairá automaticamente a primeira letra de cada palavra em cada célula de uma só vez. Veja a captura de tela:

Explicação desta fórmula:
  • SUBSTITUIR(A2," "," "):Esta função substitui cada espaço no texto na célula A2 por . Isso separa efetivamente cada palavra do texto com essas tags XML. Por exemplo, se A2 contém “Hello World”, esta parte da fórmula o transforma em “Hello World”.
  • " "&...&" ": Esta parte envolve o resultado da função SUBSTITUTE no início e no final. Continuando com o exemplo, a string agora se torna Hello World , formando uma estrutura XML válida onde cada palavra é colocada dentro de tags.
  • FILTERXML(...,"//b"): FILTERXML é usado para analisar a string XML criada nas etapas anteriores. A consulta XPath //b seleciona todos os elementos dentro das tags, ou seja, cada palavra na string original. Usando nosso exemplo, FILTERXML retornaria um array com dois elementos: “Hello” e “World”.
  • ESQUERDA(...,1): A função LEFT é então aplicada a cada elemento do array retornado por FILTERXML, extraindo a primeira letra de cada palavra. No exemplo, isso resultaria em “H” e “W”.
  • CONCAT(...): Finalmente, a função CONCAT concatena todos os elementos do array em uma única string. Para o nosso exemplo "Hello World", concatenaria "H" e "W" para produzir "HW".

Extraia a primeira letra de cada palavra do Cell com o Kutools AI Aide

Extraia rapidamente a primeira letra de cada palavra em uma célula com Assistente de IA do Kutools. Não há necessidade de fórmulas complexas; o assistente de IA automatiza a tarefa para você, tornando o processamento de dados simples e eficiente. Simplifique seu fluxo de trabalho do Excel e torne seu trabalho mais fácil. Tentar Assistente de IA do Kutools e experimente operações inteligentes do Excel!

Note: Para usar isso Assistente de IA do Kutools of Kutools for Excel, Por favor baixe e instale o Kutools para Excel em primeiro lugar.

Depois de instalar o Kutools para Excel, clique em Kutools IA > Assessor de IA para abrir o Assistente de IA do Kutools painel:

  1. Selecione a lista de dados, digite seu requisito na caixa de bate-papo e clique em ENVIAR ou pressione Entrar chave para enviar a pergunta;
  2. Depois de analisar, clique Execute botão para executar. Kutools AI Aide processará sua solicitação usando IA e retornará os resultados diretamente no Excel.


Extraia a primeira letra de cada palavra da célula com função definida pelo usuário

Extrair a primeira letra de cada palavra de uma célula é uma tarefa que pode ser bastante otimizada usando uma Função Definida pelo Usuário (UDF) no Excel. Esta seção explora como criar e usar uma UDF para executar esta tarefa com eficiência.

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 Janela Módulo.

Function GetFirstLetters(rng As Range) As String
'Updateby Extendoffice
    Dim arr
    Dim I As Long
    arr = VBA.Split(rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
        Next I
    Else
        GetFirstLetters = Left(arr, 1)
    End If
End Function

3. Em seguida, salve e feche este código, volte na planilha e insira esta fórmula = GetFirstLetters (A2) em uma célula em branco. Em seguida, arraste a alça de preenchimento até as células nas quais deseja aplicar esta fórmula. E todas as primeiras letras foram extraídas da série de palavras, veja a captura de tela:


Artigos relacionados:

  • Extraia as primeiras ou últimas duas ou n palavras da string de texto
  • Se você tiver uma lista de strings de texto separadas por espaço, e agora, deseja extrair as primeiras ou as últimas três ou n palavras do valor da célula para obter o seguinte resultado da captura de tela. Neste artigo, vou apresentar algumas fórmulas para extrair as primeiras ou as últimas duas ou n palavras de uma string de texto no Excel.
  • Extraia texto antes/depois de espaço ou vírgula apenas
  • Quando você deseja extrair o texto antes ou depois do espaço da lista como mostrado abaixo, você tem uma boa maneira de fazer isso? Deixe-me explicar alguns truques para extrair texto antes ou depois do espaço apenas no Excel.
  • Extraia o endereço de e-mail da string de texto
  • Quando você importa alguns endereços de e-mail do site para a planilha do Excel, sempre contém texto irrelevante, mas agora você deseja apenas extrair os endereços de e-mail puros da sequência de texto (veja as capturas de tela a seguir). Como você poderia obter rapidamente apenas os endereços de e-mail do texto da célula?
  • Extraia string entre dois caracteres diferentes
  • Se você tem uma lista de string no Excel da qual precisa extrair parte da string entre dois caracteres da imagem abaixo mostrada, como lidar com isso o mais rápido possível? Aqui, apresento alguns métodos para resolver esse trabalho.

Melhores ferramentas de produtividade de escritório

🤖 Assistente de IA do Kutools: Revolucionar a análise de dados com base em: Execução Inteligente   |  Gerar Código  |  Crie fórmulas personalizadas  |  Analise dados e gere gráficos  |  Invocar funções do Kutools...
Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

Descrição


Office Tab 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!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello, If the the nth Word is enclosed in a (), it is returning the ( since it comes before the First Letter.

Example:
Word Word (Word)

How to return WWW instead of WW( ?
This comment was minimized by the moderator on the site
Hello, Sharmane
Maybe the following code can help you:
Function GetFirstLetters(rng As Range) As String
    Dim arr() As String
    Dim i As Long
    
    arr = VBA.Split(rng.Value, " ")
    
    For i = LBound(arr) To UBound(arr)
        If Left(arr(i), 1) <> "(" And Right(arr(i), 1) <> ")" Then
            GetFirstLetters = GetFirstLetters & Left(arr(i), 1)
        ElseIf Left(arr(i), 1) = "(" And Right(arr(i), 1) = ")" Then
            GetFirstLetters = GetFirstLetters & Mid(arr(i), 2, 1)
        End If
    Next i
End Function


Please have a try, thank you!
This comment was minimized by the moderator on the site
Another suggestion if using Microsoft 365: =TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)) where the source string is in B9.
Wrap in UPPER function to enforce uppercase: =UPPER(TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)))
@Pradeep Gyawali -> add space: =UPPER(TEXTJOIN(" ",,LEFT(TEXTSPLIT(D9," "),1)))
This comment was minimized by the moderator on the site
Wondering how to add this into the existing formula I have that works to bring the value over from a cell in another sheet? I only want to bring over the first character in each cell. Here's the formula

=IF(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D))=ROW(OriginalSubmission!D4),"",INDIRECT("OriginalSubmission!D5:"&"D"&(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D)))))
This comment was minimized by the moderator on the site
Hello, SARAH
Do you mean extracting each first character in cells from another worksheet? If so, you just need to copy and paste the code in this article, and then apply this formula into another sheet.
=GetFirstLetters(OriginalSubmission!D4)


Note: OriginalSubmission is the sheet name that you want to extract charatcers from.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
How to create space between the letters?

South Korea= S K
This comment was minimized by the moderator on the site
Hi, Gyawali
If you want to add space for each character, please apply the following VBA code:
Function GetFirstLetters(Rng As Range) As String
'Updateby Extendoffice
    Dim xStr
    Dim arr
    Dim I As Long
    xStr = " "
    arr = VBA.Split(Rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1) & xStr
        Next I
    Else
        GetFirstLetters = Left(arr, 1) & xStr
    End If
End Function


After insert the code, and then apply this formula: =GetFirstLetters(A2) to get the result you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Why is this giving me the first 2 letters in each word?
This comment was minimized by the moderator on the site
This is awesome. Such a time saver
This comment was minimized by the moderator on the site
This code is good for upto five words, where D20 is the cell with data.



=IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",
$D$20)+1)+1)+1)+1,1)),IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)),
IF(ISERR(LEFT($D$20,1)),"",LEFT($D$20,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)),LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)
+1)+1)+1,1))
This comment was minimized by the moderator on the site
Подскажите пожалуйста, можно ли модифицировать код чтобы забиралась не первые а Заглавные буквы?
This comment was minimized by the moderator on the site
i think it has one bug, it's automatically removed from module when sheet is closed, need to again every time when open sheet same process to be required, please advice how to save this formula in excel permanently.
This comment was minimized by the moderator on the site
Pls save excel as Excel Macro-Enablel work book.
This comment was minimized by the moderator on the site
Please include this part: If you create a function called DISCOUNT in a workbook called Personal.xlsb and you call that function from another workbook, you must type =personal.xlsb!discount(), not simply =discount(). https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations