Forum Pplware

Versão Completa: [EXCEL] Função algum texto para dados
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Olá pessoal.

Na coluna A tenho os dados (em forma de texto) de despesas e na coluna B o valor gasto.
Algo do género:

Coluna A Coluna B
1 &&&&&&& FARMACIA &&&&&& -32,04
2 ####### Seguros %%%%%%% -157,78
3 """"""" GASOLINA """""" -45,36
4 !!!!!!! COMPRA !!!!!! -20,00

Os caracteres &,#,%," e ! significam que este texto é variável, ou seja, a despesa da farmácia pode voltar a aparecer na coluna a mas irá aparecer como, por exemplo, !"#$% FARMACIA &/()=

Utilizando a formatação condicional, as células são formatadas automaticamente para caso a célula contenha algum texto específico, seja formatado o preenchimento da célula de determinada cor, ou seja, independentemente dos caracteres, basta aparecer em alguma parte da célula FARMACIA para o preenchimento passar, por exemplo a vermelho. Todas as despesas estão formatadas para adquirir determinado preenchimento.

O que pretendia era, na coluna C inserisse uma fórmula que ele verificasse o conteúdo da célula A1 e caso contivesse a palavra FARMACIA a célula C1 passaria a mostrar, por exemplo, 1, se tivesse COMPRAS, devolvia o valor 2 e por aí fora.

Também não é possível fazer isso com base na formatação do preenchimento da célula, ou seja, se a célula A1 fosse roxa, a C1 devolvia 1 e por aí fora.

Última questão.
Na célula A1, A2 e A3 tenho, respectivamente, os valores 10, -15, 36. Existe alguma maneira de seleccionando estas células e copiando-as, colar a soma, por exemplo na célula B5.
Desde já agradeço,

Kodiak

P.S. - Uso o Excel 2010
Olá Kodiak.

Parece-me que vais ter que usar o Visual Basic do Excel.
Isso é que é mais complicado Smile
a minha opinião é a mesma que o Raphael, vais ter de recorrer ao VB do Excell, tenta procurar sites no google sobre isso, e vais ver que encontras muita ajuda para o que precisas, pode não ser directamente mas relacionada
Boas,

Estou a utilizar o Open office versão 3.2, como tal as indicações quevou deixar aqui não tenho a certeza se existem no Excel 2010.

Seguindo o exemplo inicial das colunas A e B, coloca na célula C1 a seguinte função:
=LOCALIZAR("FARMACIA";A1;1)
Com o teu exemplo da célula A1, esta vai devolver o valor 9, o que quer dizer que a palavra FARMACIA foi encontrada aonono caracter da célula A1. Se por ventura o texto a procurar não existir na, a célula devolve o erro #VALOR!. Para resolver este problema sugiro utilizar na célula D1 a seguinte função:
=É.ERRO(C1).
A partir daqui tens na coluna D o resultado de VERDADEIRO ou FALSO, que te vai auxiliar no teu objectivo.
Para a ultima questão, essa pode ser realizada com recurso ao VBA do excel, mas não sei bem qual é o teu objectivo. Trata-se de fazer esta operação de somar os valores sempre as células A1 a A3 e colar sempre em B5? Ou pode ser variável o intervalo de dados?
Se o intervalo de dados for variável, tem de se fazer a programação no VBA de acordo com isso.

Escreve o maximo de detalhes possível para te poder ajudar mais na criação de uma macro para fazer essa operação.
Se fosse em access ainda te dava uma ajuda, mas em excel sou fraquito... Confused

No entanto tenho aqui uma ajuda pra ti:
http://www.juliobattisti.com.br/cursos/e...indice.asp
Boas.
Obrigado pelas respostas.

(11-08-2010 22:45)kinato Escreveu: [ -> ]Boas,

Estou a utilizar o Open office versão 3.2, como tal as indicações quevou deixar aqui não tenho a certeza se existem no Excel 2010.

Seguindo o exemplo inicial das colunas A e B, coloca na célula C1 a seguinte função:
=LOCALIZAR("FARMACIA";A1;1)
Com o teu exemplo da célula A1, esta vai devolver o valor 9, o que quer dizer que a palavra FARMACIA foi encontrada aonono caracter da célula A1. Se por ventura o texto a procurar não existir na, a célula devolve o erro #VALOR!. Para resolver este problema sugiro utilizar na célula D1 a seguinte função:
=É.ERRO(C1).
A partir daqui tens na coluna D o resultado de VERDADEIRO ou FALSO, que te vai auxiliar no teu objectivo.

Fórmula para conseguir o que queria:
=SE(É.NÚM(PROCURAR("*FARMACIA*";A1;1));1;SE(É.NÚM(PROCURAR("*COMPRAS*";A1;1));2;SE(É.NÚM(PROCURAR("*GASOLINA*";A1;1));3;"")))



(11-08-2010 22:45)kinato Escreveu: [ -> ]Para a ultima questão, essa pode ser realizada com recurso ao VBA do excel, mas não sei bem qual é o teu objectivo. Trata-se de fazer esta operação de somar os valores sempre as células A1 a A3 e colar sempre em B5? Ou pode ser variável o intervalo de dados?
Se o intervalo de dados for variável, tem de se fazer a programação no VBA de acordo com isso.

Escreve o maximo de detalhes possível para te poder ajudar mais na criação de uma macro para fazer essa operação.

Era só utilizando a função copy/paste do Excel. Já estive a procurar mas acho que não dá para o que quero.


Kodiak
URL's de Referência