terça-feira, 2 de agosto de 2011

Manipulação de texto no Excel - postagem rápida

Estou devendo os arquivos para baixar, mas enquanto isso, aqui vai mais uma dica de como manipular texto no Excel.

Vou os mesmos comandos que usei na primeira postagem. Mas numa situação diferente.

Hoje me deparei com um arquivo onde mesclava números e textos. Explico. Na construção rodoviária, a unidade de medida padrão são as estacas.

01 estaca = 20 m.

Então, para se fazer um fracionário, utilizamos o metro. Exemplo:



Uma estrada com 5.657,23m, na "nossa" linguagem ficaria 282+17,23m. (282 estacas e 17,23 metros = 282*20+17,23=5.657,23).

Mas o que isso tem a ver com manipular texto no Excel? Tudo. Determinados elementos de uma rodovia ocorrem nos pontos entre estacas inteiras, como pontos de início e fim de curva, bueiros, sarjetas, etc.

A planilha que me deparei hoje era mais ou menos assim:

585+15,12
586
587
587+4,59
588
588+2,33
588+14,78
589

Percebam que o Excel não entende a unidade "estaca" como um número. As células que contém o sinal de "+", são interpretados como texto.

Eu preciso então, converter todas essas estacas em metros para poder utilizar em minha planilha.

Vamos às fórmulas.

A primeira é identificar as células que possuem o sinal de "+".
Fica assim:
=PESQUISAR("+";A1)    *considerando que estes valores estejam na coluna A iniciando em A1.

Teremos algo do tipo:
4
 #VALOR!
 #VALOR!
 4
 #VALOR!
 4
 4
 #VALOR!

Onde for número, o comando PESQUISAR retorna um erro #VALOR!. Para contornarmos isto e já iniciarmos o cálculo, vamos incrementar a equação e fazer um teste para erros.

=SE(ÉERRO(PESQUISAR("+";A1));A1*20;0)

Ou seja, se o PESQUISAR retornar um erro, multiplica o valor da célula correspondente por 20. Quer dizer que se for um número inteiro, já multiplica por 20 e fim de papo. Nosso problema é com as células que são texto. (eu deixei um 0 na fórmula apenas para o Excel aceitar a entrada)

O Excel retorna:

0,00
11.720,00
11.740,00
0,00
11.760,00
0,00
0,00
11.780,00

Vamos então pegar a primeira parte do texto, que é o valor em estaca. Vou pegar o texto desde o primeiro caractere até a posição do "+" menos 1.

Essa é a parte que vamos colocar quando não for um erro, ou seja, for um texto. EXT.TEXTO(A1;1;PESQUISAR("+";A1)-1)


=SE(ÉERRO(PESQUISAR("+";A1));A1*20;EXT.TEXTO(A1;1;PESQUISAR("+";A1)-1))

Pronto! A continha complementar agora é multiplicar por 20 a parte do texto que tinha fração.
=SE(ÉERRO(PESQUISAR("+";A1));A1*20;EXT.TEXTO(A1;1;PESQUISAR("+";A1)-1)*20)

E se eu for semi inteligente, coloco apenas o 20 multiplicando uma só vez...
=SE(ÉERRO(PESQUISAR("+";A1));A1;EXT.TEXTO(A1;1;PESQUISAR("+";A1)-1))*20

Voìla!! Fórmula mais que funcional e simples de se digitar. Arquivo: Postagem 16 - Manipulação de texto no Excel - postagem rápida

3 comentários:

  1. Bacana. E ao contrário? tem como fazer? transformar metros em estacas de 20 em 20

    ResponderExcluir
  2. Aliás, estacas de 1000 metros em estacas de 20 metros. por exemplo: 10+253 = 10253 metros. transformar em estacas de 20 em 20 metros. Obrigado.

    ResponderExcluir
    Respostas
    1. Sim, tem como. Vou fazer uma postagem complementar sobre essa sua sugestão. Valeu

      Excluir

"Be cool" quando for escrever seu comentário. Seja construtivo!