Extrair um conteúdo específico em textos inteiros

Muitas pessoas tem dúvidas de como é possível pegar informações específicas dentro de textos completos e fora dos padrões que atenderão suas necessidades naquele momento. Alguns exemplos disso são códigos de tabelas de produtos ou serviços, nomes de funcionários agrupados com suas matrículas em uma mesma célula, etc.
Exemplo 1
Exemplo 1
Exemplo 2
Exemplo 2
Pegando os dados do exemplo 1, podemos fazer assim:

Exemplo 1

 
Suponha que as informações contidas em cada código representem:

  • nos dois primeiros algarismos, o número da loja;
  • no algarismo do meio, o tipo da movimentação financeira (Receita ou Despesa); e
  • nos três últimos, o identificador de grupo.

Caso queira descobrir a que loja pertence o movimento financeiro, se ele é receita ou despesa, ou a que grupo pertence, faça da seguinte maneira.
 
Na célula C1, digite “Cód Loja”;
Na célula D1, digite “Tipo de Movimentação”;
Na célula E1, digite “Grupo”;
 
Estes foram os títulos das colunas. Agora, para extrair os conteúdos desejados, digite:
 
Na célula C2: “=ESQUERDA(A2;2)” (SEM ASPAS, é claro!);
Na célula D2: “=EXT.TEXTO(A2;4;1)”;
E na célula E2: “=DIREITA(A2;3)”.
 
Com base no conteúdo presente na coluna A, na linha correspondente, extraímos na coluna C, o Código da Loja (12), já na coluna D teremos o Tipo de Movimentação, e na coluna E, a Descrição do Grupo. Copie as fórmulas nas demais células da lista e pronto. Já desmembramos todo o código em células distintas.
 

Exemplo 2

 
Vamos, agora, resolver o exemplo 2.
Pelo que já vimos anteriormente, fica fácil aplicarmos com os dados neste exemplo. Temos, neste caso, a matrícula e o nome, tudo junto numa mesma célula. O procedimento utiliza um conceito similar ao utilizado para escrever um número por extenso, só que bem mais simples, e apenas para identificar as partes. Geralmente, isso ocorre quando importamos dados de algum programa externo.
Enfim, queremos separar o nome do funcionário da matrícula do mesmo. Como fazer, então?
Primeiro, separamos a matrícula que, neste caso, compreendem 6 dígitos fixos.
 
Na célula B1, digite: “=ESQUERDA(A1;6)”
 
Já separamos a matrícula. Agora, vamos extrair o nome.
 
Na célula C1, digite: “=EXT.TEXTO(A1;8;NÚM.CARACT(A1)-7)”
 
Pronto. Faça o mesmo nas demais células da lista e está resolvido.
 
No final do artigo disponibilizei  o arquivo para download, ok.
Um abraço a todos.
 

Termos aprendidos neste artigo:

ESQUERDA Retorna o primeiro caractere ou caracteres em uma seqüência de caracteres de texto baseado no número de caracteres especificado por você.SintaxeESQUERDA(texto;núm_caract)Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair.
Núm_caract especifica o número de caracteres que você deseja que ESQUERDA extraia.
DIREITA Retorna o último caractere ou caracteres em uma seqüência de caracteres de texto baseado no número de caracteres especificado por você.SintaxeDIREITA(texto;núm_caract)Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair.
Núm_caract especifica o número de caracteres que você deseja que DIREITA extraia.
EXT.TEXTO Retorna um número específico de caracteres da seqüência de caracteres texto, começando na posição especificada, com base no número de caracteres especificado.SintaxeEXT.TEXTO(texto;núm_inicial;núm_caract)Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja extrair.
Núm_inicial é a posição do primeiro caractere que você deseja extrair como texto. O primeiro caractere em texto possui núm_inicial1, e assim por diante.
Núm_caract especifica o número de caracteres que você deseja que EXT.TEXTO retorne do texto.
NÚM.CARACT Retorna o número de caracteres em uma seqüência de caracteres de texto.SintaxeNÚM.CARACT(texto)Texto  é o texto cujo tamanho se deseja determinar. Os espaços contam como caracteres.

 

7 comentários em “Extrair um conteúdo específico em textos inteiros”

  1. Olá, gostei da elaboração do exemplo.
    Mas se o texto que se quer uma parte for um endereço do tipo: AL RIBEIRAO PRETO, 556, BELA VISTA, CEP 01331000 e quer se apenas o endereço até a segunda vírgula em uma listagem de 6000 clientes, como elaborar a função?

    Responder

Deixe um comentário