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
Bacana. E ao contrário? tem como fazer? transformar metros em estacas de 20 em 20
ResponderExcluirAliá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.
ResponderExcluirSim, tem como. Vou fazer uma postagem complementar sobre essa sua sugestão. Valeu
Excluir