Excel - exclui a 4ª palavra em todas as colunas

0

Como posso excluir a quarta palavra em todas as colunas de uma planilha do Excel? Por exemplo, eu tenho "Sr. e Sra. Smith". Eu quero manter o Sr. e a Sra, mas exclua o Smith. Não existe uma maneira de encontrar e excluir a quarta palavra? Muito obrigado por qualquer ajuda ...

    
por Cindy Paul 03.11.2010 / 20:24

3 respostas

2

Isso é uma solução alternativa, mas funcionará se você estiver lidando apenas com um texto normal (não com fórmulas).

Digamos que sua planilha com dados nela seja denominada "Planilha1". Crie uma nova planilha em sua planilha (vamos supor que ela seja chamada de "Planilha2") e, em A1, digite:

=IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)-1),"")

Se você quiser deletar somente a quarta palavra, digite:

=IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1))&RIGHT(Sheet1!A1,LEN(Sheet1!A1)-FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)+1)),IFERROR(LEFT(Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1,FIND(" ",Sheet1!A1)+1)+1)-1),""))

Copie a célula A1 e cole-a nas células da Planilha2 que correspondem às células na Planilha1 com os dados com os quais deseja trabalhar. (Portanto, se você tiver dados na Planilha1 nas células A1 a D5, cole-a na Planilha2 nas células A1 a D5.) Copie todas as células que você colou, alterne para Planilha1 e cole valores nos pontos correspondentes . Agora você pode excluir a Folha2.

    
por 03.11.2010 / 20:54
2

Esta pode ser uma ideia fora da parede, mas tente transformar o arquivo em um arquivo delimitado por espaço e abra-o com o excel. Agora apague a quarta coluna. Isso soa bem no papel ... Além disso, eu não sei.

    
por 03.11.2010 / 20:51
0

Aqui está uma maneira mais elegante / eficiente de fazer isso, se você pode colar em uma macro do Visual Basic:

Digamos que sua planilha com dados nela seja denominada "Planilha1".

  1. Na guia Desenvolvedor , clique em Macros . (Se não houver nenhuma guia Developer , clique no botão do Microsoft Office na parte superior esquerda da janela, clique em Opções do Excel e clique em Popular e, em seguida, clique na caixa de seleção Mostrar guia Desenvolvedor na faixa de opções .
  2. Uma caixa de diálogo será exibida. Na caixa de texto Nome da macro: , nomeie sua macro; algo como DeleteFourthWord funcionará.
  3. Clique no botão Criar . (Se o botão Criar ainda estiver desativado, retire espaços e pontuação do nome da macro.)
  4. Cole o seguinte na janela que aparece, no espaço entre "Sub DeleteFourthWord ()" e "End Sub":

     For Each c In ActiveCell.CurrentRegion.Cells
            If c.HasFormula = False Then
                Original_Cell_Text = c.Value
                Text_To_Parse = Original_Cell_Text
                Word1 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word1) = 0 Then
                    Word1 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word1))
                End If
                Word2 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word2) = 0 Then
                    Word2 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word2))
                End If
                Word3 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word3) = 0 Then
                    Word3 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word3))
                End If
                Word4 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
                If Len(Word4) = 0 Then
                    Word4 = Text_To_Parse
                    Text_To_Parse = ""
                Else
                    Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word4))
                End If
                Remaining_Text = Text_To_Parse
                If (Len(Word1) > 0 And Len(Word2) > 0 And Len(Word3) > 0 And Len(Word4) > 0) Then
                    If Len(Remaining_Text) > 0 Then
                        c.Value = Word1 + Word2 + Word3 + Remaining_Text
                    Else
                        c.Value = Word1 + Word2 + Word3
                    End If
                End If
            End If
        Next
    
  5. Feche a janela do Microsoft Visual Basic e clique em Macros na guia Desenvolvedor .

  6. Selecione a macro que você acabou de criar e clique no botão Opções ... .
  7. Em Tecla de atalho , escolha uma tecla de atalho para usar nessa função (vou usar a tecla "t" neste exemplo) e digite-a lá.
  8. Pressione o botão OK e feche a caixa de diálogo Macro .
  9. Selecione as células das quais você deseja remover a quarta palavra e pressione a tecla de atalho (como Ctrl + t). Você pode repetir este passo quantas vezes quiser.

Observação: Se você quiser excluir tudo depois da terceira palavra, cole isso:

For Each c In ActiveCell.CurrentRegion.Cells
    If c.HasFormula = False Then
        Original_Cell_Text = c.Value
        Text_To_Parse = Original_Cell_Text
        Word1 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
        If Len(Word1) = 0 Then
            Word1 = Text_To_Parse
            Text_To_Parse = ""
        Else
            Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word1))
        End If
        Word2 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
        If Len(Word2) = 0 Then
            Word2 = Text_To_Parse
            Text_To_Parse = ""
        Else
            Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word2))
        End If
        Word3 = Left(Text_To_Parse, InStr(1, Text_To_Parse, " ", vbTextCompare))
        If Len(Word3) = 0 Then
            Word3 = Text_To_Parse
            Text_To_Parse = ""
        Else
            Text_To_Parse = Right(Text_To_Parse, Len(Text_To_Parse) - Len(Word3))
        End If
        Remaining_Text = Text_To_Parse
        If (Len(Word1) > 0 And Len(Word2) > 0 And Len(Word3) > 0) Then
            c.Value = Word1 + Word2 + Word3
        End If
    End If
Next

(Nota de origem: modifiquei as instruções sobre como obter a guia Desenvolvedor do arquivo da Ajuda do Excel.)

    
por 03.11.2010 / 22:58