Ir ao conteúdo
  • Cadastre-se

Excel Usar função Cont.se a cada 29 linhas e função Somase


Posts recomendados

Bom dia galera do grupo!

 

Pessoal, estou com uma dúvida que para a maioria aqui é muito fácil de resolver, mas estou apanhando um pouco aqui, e resolvi pedir a ajuda do grupo.

Preciso fazer duas fórmulas, sendo uma cont.se e outra somase.

É o seguinte, tenho uma planilha com as seguintes fórmulas: =CONT.SE(B10:B50000;Q1) e =SOMASE(B10:B50000;Q1;E29:E50000). Se eu incluo o nome na célula Q1 ele me traz os resultados perfeitamente, mas o que eu preciso, é que seja feito tipo um loop nesse intervalo (B10:B50000) a cada 29 linhas, e me traga a quantidade de cada nome e os valores.

Tipo assim, um intervalo de 29 linhas ele veja o nome que está escrito, e soma quantas vezes vai aparecer no intervalo de B10:B50000. Ao invés de eu ter que incluir o nome na célula Q1. Isso porque irá aparecer diversos nomes trazido de outra Aba com Procv, e eu não sei quais serão os nomes que virá para eu contar, e não dá para digitar um por um, porque terão mais de 100 nomes.

Não sei se me fiz entender, mas é isso que preciso.

Se puderem me ajudar, ficarei muito grato.

 

Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

Boa noite Patropi!

 

Segue uma prévia da planilha para melhor entendimento.

O que eu quero, é fazer um histórico da quantidade de pedidos, e o valor total gasto desde o primeiro pedido.

Fiz algumas alterações, e até daria certo se eu conseguir fazer um loop, porque atualmente ele está substituindo o anterior.

Isso é uma planilha provisória, até que seja adquirido o sistema.

Programa.rar

Link para o comentário
Compartilhar em outros sites

Você disponibilizou um arquivo com 4 planilhas:

1. em qual delas você quer o resultado ?

2. em qual intervalo de células você quer o resultado ?

3. em qual delas você colocou o resultado esperado e as explicações de como obteve os resultados ?

Link para o comentário
Compartilhar em outros sites

Boa noite Osvaldomp!

 

Então, eu tenho uma Aba com os produtos e outra com o cadastro, onde na Aba Tirar pedido, eu coloco o número do telefone, e já me traz o cadastro completo, assim como quando coloco o código do produto, já me traz o que é e o valor.

Após eu finalizar o pedido e clicar no botão para "imprimir pedido", ele imprimi a comanda, e faz uma cópia do pedido na Aba "Movimento do Dia", e vai somando os valores de cada pedido, para eu saber quanto vendeu no final do dia.

Finalizado o dia, eu faço um backup com as informações daquele dia, e apago todas as informações da Aba. "Movimento do Dia" para iniciar do zero no dia seguinte.

O que eu preciso, é que seja feito um backup na mesma Aba "Movimento do Dia" o nº de telefone do cliente, o valor gasto e quantos pedidos foram feitos, para eu ter um histórico de consumo de cada cliente.

Tendo isso em mãos, eu quero colocar uma fórmula na Aba "Tirar Pedido" que, (tipo Somase), ao digitar o telefone do cliente, me apareça uma mensagem (não será impressa) informando quantos pedidos esse cliente já fez, e qual o valor gasto, para conceder um desconto, ou dar um brinde pela fidelidade.

Não sei se é possível, acredito que sim, mas não estou sabendo fazer isso, se puder me ajudar, fico agradecido.

 

Faça um teste na planilha (Tirar Pedido), simulando alguns pedidos, e veja que na Aba "Movimento do Dia" ele vai fazendo ma cópia do pedido com o valor total, e somando o total do dia.

Após isso, clique no botão FAZER BACKUP, e verá que vai pedir para colocar o nome da nova Aba (a ideia é colocar a data) e, ao voltar para a Aba "Movimento do Dia" vai perceber que na letra "O4" em diante fez uma cópia do valor, pedido, telefone e, ao clicar para Limpar Mov. Dia esse Range não será apagado. 

O problema é que no dia seguinte, (ou em uma nova simulação), ao invés de fazer a cópia abaixo, ele substitui o anterior, e não consigo manter um histórico.

Sei que precisa fazer um tipo de loop, parecido com o que eu tenho na Aba "Movimento do Dia", mas não estou conseguindo fazer. Caso tenha um jeito mais fácil, ou consiga fazer dessa forma, peço a gentileza de me ajudar.

 

Obs.: As Abas Produtos e Cadastro de Clientes está protegida, mas a senha é "12345", caso queira mudar para facilitar as simulações.

 

 

Link para o comentário
Compartilhar em outros sites

Eu não consegui captar no seu post #6 os esclarecimentos para o que você pediu no post #1, então fiz uma síntese do que eu entendi que você está buscando aqui, conforme abaixo.

Em 02/07/2019 às 11:30, Etoruiz disse:

Preciso fazer duas fórmulas, sendo uma cont.se e outra somase.

Na planilha Movimento do Dia, colunas J:K, já existem fórmulas que fazem a contagem e a soma com base nos números de telefone. E me parece que atendem ao que você precisa. Sugiro a simplificação delas, conforme abaixo.

 

de ~~~> =SOMASE($B$9:$B$50000;$ M $ 4: $ M $ 50000;$E$29:$E$50000)

para ~~~> =SOMASE(B$9:B$50000;M4;E$29:E$50000)  e

de ~~~> =CONT.SE($B$9:$B$50000;$ M $ 4: $ M $ 50000)

(inseri espaços nas suas fórmulas pois o site zoa a fórmula original)

para ~~~> =CONT.SE(B$9:B$50000;M4) e arraste ambas para baixo

 

 

2 horas atrás, Etoruiz disse:

 ... eu quero colocar uma fórmula na Aba "Tirar Pedido" que, (tipo Somase), ao digitar o telefone do cliente, me apareça uma mensagem (não será impressa) informando quantos pedidos esse cliente já fez, e qual o valor gasto, para conceder um desconto, ou dar um brinde pela fidelidade.

Não sei se é possível, acredito que sim, mas não estou sabendo fazer isso, ...

A estrutura que você adotou para o seu projeto torna essa operação complexa e trabalhosa, pois o seu Banco de Dados, que você chama de Backup, será formado por múltiplas planilhas, sendo uma para cada dia, com múltiplos pedidos em cada planilha. Em um Banco de Dados convencional cada registro seria o resumo de um pedido, sem linhas vazias e sem fórmulas. Ainda, eu faria uma planilha para os pedidos de cada mês, e não trinta planilhas para os pedidos de cada mês.

Quanto a este item eu não consigo lhe ajudar.

 

O problema é que no dia seguinte, (ou em uma nova simulação), ao invés de fazer a cópia abaixo, ele substitui o anterior, e não consigo manter um histórico.

Para contornar esse problema, no seu código Duplicar_e_Renomear, vinculado ao botão Fazer Backup, substitua as linhas abaixo   


Dim xSheet As Worksheet
    Set xSheet = ActiveSheet
        If xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" Then
            xSheet.Range("J4:M15").Copy
            xSheet.Range("O4:R15").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End If

por estas


 Range("J4:M" & Cells(Rows.Count, 10).End(3).Row).Copy
  Cells(Rows.Count, 15).End(3)(2).PasteSpecial xlValues

 

Ainda, na planilha Movimento do Dia mantenha o cabeçalho em O4:R4 e limpe as linhas abaixo antes de rodar o código pela primeira vez.

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...