Duvida em somar duas tabelas de excel.?

Resolvido/Fechado
Kichut - 5 nov 2010 às 20:35
 Fil - 11 nov 2010 às 14:40
Boa noite,

Estou com um enorme problema e preciso da ajuda.

Tenho uma tabela A e tabela B. Sendo que na tabela A constam 4 produtos e na tabela B 4 marcas, o problema esta em encontrar uma função que a cada entrada nova de registro de cliente na tabela A, some automaticamente na tabela B o produto e marca vendido.


Estou enviando a imagen da planilha em um link do google imagens para melhor visualização do problema.
http://picasaweb.google.com/andvioli/Excel#5536207929547842354

Estou utilizando a função CONT.SE, porem ela não consegue interligar as duas tabelas.



Obrigado e aguardo resposta.


2 respostas

Mazzaropi Posts 1980 Data de inscrição segunda 16 de agosto de 2010 Status Contribuinte Última visita 22 de dezembro de 2022 583
5 nov 2010 às 23:28
Caro Kichut, Boa Noite.

Após ler a sua explicação, montei uma planilha modelo para você com o seu exemplo de dados.
Ela está aquí: https://www.4shared.com/document/m-E5YADM/05-11-2010-Kioskea-Somar_duas_.html
Coloquei mais alguns dados para mostrar melhor a eficiência da fórmula.

Toda a funcionalidade da planilha está na pequena coluna AUX 1 A

Nela são contados e apontados os produtos diferentes.
A fórmula em J6 é =SE(B6="";"";SE(CONT.SE($B$6:B6;B6)>1;"";MÁXIMO($J$5:J5)+1))
Depois é só arrastar até a última linha desejada.

Com os produtos contados e marcados onde estão, é só montar a Tabela B, que é Totalmente Automática.

A fórmula em E6 é =SE(OU(ÉERROS(CORRESP(LIN(A1);Plan1!J:J;0));LIN(A1)>MÁXIMO(Plan1!$J:$J));"";ÍNDICE(Plan1!B:B;CORRESP(LIN(A1);Plan1!$J:$J;0)))

A fórmula em F6 é =SE(E6="";"";SOMARPRODUTO(($B$6:$B$20=E6)*($C$6:$C$20=$F$4)))

A fórmula em G6 é =SE(F6="";"";SOMARPRODUTO(($B$6:$B$20=E6)*($C$6:$C$20=$G$4)))

A fórmula em H6 é =SE(G6="";"";SOMARPRODUTO(($B$6:$B$20=E6)*($C$6:$C$20=$H$4)))

Todas estas tres(3) fórmulas são a mesma lógica que apontam para as marcas diferentes que estão na linha 4 (F4:h4)


Era isto que você queria?

Caso tenha alguma dúvida pode falar.


Espero ter ajudado.
-----------------------------------------------------------
Daquí das Bandas das Minas Gerais, Brasil.
Mazzaropi
(Marcílio Lobão)
3
Olá Marcílio

Procurando outra coisa, encontrei por mero acaso esta sua dica para o Kichut que me foi muito útil para um outro trabalho e por isso agradeço por partilhar na net os seus conhecimentos.
Sobre esta mesma dica gostaria que, por curiosidade e para entender, me explicasse porque tem de ser assim e não de outra forma: Porque razão as células "E6" a "E10" fazem referencia às células "A1" a "A5". Experimentei altear a referencia de "A1" para outras tipo: A7, A15, C25 etc e a fómula ficou sem funcionar. Curiosidade mesmo, intriga-me que a formila para dar certo tenha de fazer referencia a células que não são de clientes.
Antecipadamente agradeço a sua explicação e, se não for pedir demais, por favor me explique por mail.
filgante@gmail.com
Abraço
0
Mazzaropi Posts 1980 Data de inscrição segunda 16 de agosto de 2010 Status Contribuinte Última visita 22 de dezembro de 2022 583
10 nov 2010 às 22:38
Caro Fil, Boa Noite.

"...Sobre esta mesma dica gostaria que, por curiosidade e para entender, me explicasse porque tem de ser assim e não de outra forma: Porque razão as células "E6" a "E10" fazem referencia às células "A1" a "A5". Experimentei altear a referencia de "A1" para outras tipo: A7, A15, C25 etc e a fómula ficou sem funcionar. Curiosidade mesmo, intriga-me que a formila para dar certo tenha de fazer referencia a células que não são de clientes..."

Se você prestar a atenção na fórmula, vai perceber que na verdade a referência à A1 é somente para poder ter o número 1.
Você pode fazer referência à qualquer coluna, A, B, F, X, AB, AC desde que use a célula 1 para o início da referência. Ex.: A1, B1, F1, X1, AB1, AC1

A fórmula em E6 é =SE(OU(ÉERROS(CORRESP(LIN(A1);Plan1!J:J;0));LIN(A1)>MÁXIMO(Plan1!$J:$J));"";ÍNDICE(Plan1!B:B;CORRESP(LIN(A1);Plan1!$J:$J;0)))

CORRESP(LIN(A1);Plan1!J:J;0) --> LIN(A1) = 1
Se fosse colocado o número 1 ao invés de uma referência do Excel quando a fórmula fosse arrastada para baixo ela iria repetir o 1 em todas as outras linhas o que geraria um erro, pois precisa-se que a cada linha seja incrementado um passo de 1.

Colocando LIN(A1) ao arrastar ela ficará LIN(A2), LIN(A3), LIN(A4).
Se fosse colocado CORRESP( 1 ;Plan1!J:J;0) ao arrastar todas as linhas teriam o número 1.

Como você pode ver este número é o número da ordem da coluna J onde aparecerão os clientes.


"...Curiosidade mesmo, intriga-me que a formila para dar certo tenha de fazer referencia a células que não são de clientes..."

Não precisa ficar intrigado. É só um recurso de lógica indexada aplicada nas referências das células.

Espero ter respondido à dúvida satisfatoriamente.


Qualquer questão pode perguntar.
--------------------------------------------------------
Daquí das Bandas das Minas Gerais, Brasil.
Mazzaropi
(Marcílio Lobão)
1
Caro Marcílio

A sua respósta foi satisfatória sim. Entendi a razão que lógicamente por ser excel tem toda a lógica de ser assim. Mais uma vez obrigado por partilhar conhecimento e agora também por, generósamente, me esclarecer da, para mim, intrigante curiosidade.
Valeu mesmo, abraço.
0

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade