Notifications
Clear all

Função SOMARPRODUTO

6 Posts
3 Usuários
0 Reactions
1,281 Visualizações
(@bracinho)
Posts: 69
Trusted Member
Topic starter
 

Pessoal, bom dia!

A função SOMARPRODUTO é de suma importância no meu projeto.

Eu a utilizo há muito tempo, porém trabalho em um projeto que tem cerca de 2000 mil linhas. Observem abaixo como eu a utilizo no meu projeto:

=SOMARPRODUTO(--(bd!$C$2:$C$2000="RETIRADA");--(bd!$I$2:$I$2000="Á REALIZAR");--(ANO(bd!$H$2:$H$2000=$K$1);--(bd!$F$2:$F$2000)/SOMA(13-MÊS(HOJE())))

Observem que a mesma analisa os dados das colunas a partir da linha 2 a 2000.

Afim de melhorar a performance da função referida, eu tentei utiliza-la da seguinte forma:

=SOMARPRODUTO(--(bd!C:C="RETIRADA");--(bd!I:I="Á REALIZAR");--(ANO(bd!H:H=$K$1);--(bd!F:F)/SOMA(13-MÊS(HOJE())))

Infelizmente não deu certo, portanto, pergunto:

Qual a melhor maneira para utilizarmos o SOMARPRODUTO a fim de melhoramos a performance do cálculo que ela realiza?

 
Postado : 28/09/2015 4:52 am
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Olá!

Pelo que entendi, você deseja fazer com que a fórmula interprete automaticamente a quantidade de linhas do seu banco, para que a fórmula não fique restrita às 2000 linhas, certo?

Minha recomendação é você utilizar a função de tabela do Excel, que está disponível na aba "Inserir". Ao converter um intervalo em tabela, você ganha uma série de funcionalidades para desenvolver suas fórmulas, e entre elas é a possibilidade de especificar a coluna e não ter que se preocupar com a altura dela.

Selecione os dados do seu BD incluindo cabeçalho, e clique no botão "Tabela" da guia "Inserir". Confirme os dados na janela que aparecerá e seu BD será convertido em tabela. Note que ao clicar sobre algum dado na tabela, você terá uma nova Opção na sua Faixa de opção, que é "Ferramenta Tabela". Lá você pode configurar diversos parametros da tabela e alterar o nome dela.

Como não conheço seu BD, vou postar uma imagem ilustrativa só para você ver como ficará a fórmula com o recurso de tabela. A fórmula dentro do seu modelo e baseado na imagem ficará:

=SOMARPRODUTO(--(Tab_Exemplo[Tipo]="RETIRADA");--(Tab_Exemplo[Operação]="Á REALIZAR");--(ANO(Tab_Exemplo[Data]=$K$1));--(Tab_Exemplo[Valor])/SOMA(13-MÊS(HOJE())))

É muito prático trabalhar com este recurso, pois você verá que o "Intelisense" do Excel trará a referência das tabelas criadas na pasta de trabalho.

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 28/09/2015 6:13 am
(@bracinho)
Posts: 69
Trusted Member
Topic starter
 

Rafael,

A ação de converter o meu BD em tabela otimizará o meu projeto? Ou seja, o deixará mais rápido?

Att,

Alisson.

 
Postado : 28/09/2015 7:38 am
(@bracinho)
Posts: 69
Trusted Member
Topic starter
 

No meu caso ficou muito, mais muito mais pesada!

 
Postado : 28/09/2015 8:40 am
(@luizhcosta)
Posts: 420
Honorable Member
 

Olá,

Estou anexando um exemplo de um recurso com a função "somarproduto" o qual utilizo bastante para não deixar a planilha pesada. Utilizei a imagem para criar uma base de dados e repliquei até a linha 5.400. Repare nos intervalos nomeados e faça as adpatações necessárias. O cáluclo pode não ser o que você postou, mas pode lhe dar uma luz para a sua solução.

Ainda quanto a questão do peso, você já avaliou os recursos da sua máquina (processador, memória, hd...) ?.

Segue a minha dica.

Boa sorte.

 
Postado : 28/09/2015 4:29 pm
(@bracinho)
Posts: 69
Trusted Member
Topic starter
 

Luiz,

Creio que a configuração do meu computador não é o problema.

Quanto ao seu exemplo, eu o olharei a noite, pois o computador que uso a tarde não tem winzip.

 
Postado : 29/09/2015 5:44 am