Excluindo números antes de uma carta sem espaços

1

Gostaria de remover os números, incluindo os dois pontos, de cada linha.

Exemplo de dados:

22:18:01(165):access-list OUTSIDE_IN extended permit deny IP

Eu tentei usar a fórmula

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

mas não funcionou. Ele excluiu todos os 22:18:01(165):access-list , pois não há espaço após os últimos dois pontos.

    
por user934950 17.08.2018 / 20:23

2 respostas

1

Supondo que todas as suas linhas pareçam com sua linha de exemplo (especificamente, não há dois-pontos na parte do texto que você deseja manter), você pode simplesmente usar Text to Columns para isso, especificando : como delimitador. / p>

Selecione a coluna com seus dados e clique em Text to Columns na guia Data .

Escolha Delimited na primeira tela e, na segunda tela, marque apenas Other e insira os dois pontos :

Conclua o hit e seus dados devem ser divididos em 4 colunas com base em cada dois pontos. Basta apagar as 3 primeiras colunas e você ficará com access-list OUTSIDE_IN extended permit deny IP

Como alternativa, supondo que o número de caracteres antes de access-list seja o mesmo em todas as linhas, você pode usar =RIGHT(A2,LEN(A2)-14)

    
por 17.08.2018 / 21:14
1

A soluo de fmula mais simples que serve para neros de qualquer comprimento aplica-se ao caso de uma contagem fixa de neros delimitados por dois pontos no inio dos dados, e. por três números:

InsiraaseguintefórmulaemB2ectrl-enter/copy-paste/fill-down/preenchimentoautomáticonorestantedacolunadatabela:

=RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),3)))

Explicação:

O quarto argumento opcional para SUBSTITUTE() nos permite substituir uma ocorrência específica do caractere : , neste caso o terceiro, com um caractere especial que não ocorre em outro lugar do texto. CHAR(1) é usado porque é praticamente garantido que nunca ocorra em qualquer string.

Isso resulta em um segundo separador solitário, onde os dados que queremos manter estão à direita. Sua fórmula RIGHT() agora funcionará corretamente.

Observe que essa solução também funcionará mesmo que haja dois pontos no texto que você deseja manter.

Uma solução de fórmula mais geral, que permite uma contagem variável de números de delimitadores : no início dos dados (assim como números de qualquer tamanho), é:

=RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))

Explicação:

O segundo SUBSTITUTE() exclui todos os dois pontos. A diferença entre o comprimento do texto original e o comprimento do texto com os dois pontos excluídos é a contagem dos dois-pontos.

Para os dados da amostra:

  • LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
    3 .
  • Assim =RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
    =RIGHT(A2,LEN(A2)-FIND(CHAR(1),SUBSTITUTE(A2,":",CHAR(1),3))) ou seja, o mesmo que a primeira fórmula (exceto que, para a primeira fórmula, o 3 é o terceiro cólon, enquanto que neste, é o último cólon)

Obviamente, esta fórmula não funcionará corretamente se houver dois pontos no texto que você deseja manter.

    
por 18.08.2018 / 08:48