Notifications
Clear all

Comportamento estranho com fórmula SOMARPRODUTO

5 Posts
2 Usuários
0 Reactions
762 Visualizações
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Olá a todos, bom dia.

Estou com um procedimento inconveniente em uma planilha onde utilizo a função SOMARPRODUTO para totalizar determinadas linha e colunas. A planilha é uma espécie de base de dados, em determinada célula preciso totalizar especificamente um item, então utilizo a fórmula;

=SOMARPRODUTO((Proposta_Ano=$B$11)*(Proposta_Ação="Remanejar")*(Proposta_Fonte=$C11)*(Proposta_Vr_Origem))

O comportamento estranho é que, ao utilizar o autofiltro para visualizar os valores do resultado da fórmula na base de dados, o resultado da fórmula "desaparece" e retorna após voltar a exibir todas as linhas novamente. É como se a fórmula funcionasse apenas com as linhas visíveis.

É um problema de configuração, de versão do excel ou um bug ?. Isso ocorre na versão 2000 e 2010.

Quem tiver alguma informação, por gentileza me informar o modo de contornar alterando alguma configuração ou mesmo através de VBA.

Grato.

 
Postado : 25/01/2016 8:37 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Particularmente nunca vi ou "ouvi" relato de situação similar. Até onde sei a função (matricial por default) "trabalha" com toda a range, visivel ou não, atribuída nas matrizes intermediarias, a unica obrigatoriedade e que todas tenham o mesmo tamanho e que não haja retorno de erro, tipo #ÉNum, em qualquer das células que compõem as ranges.
Talvez alguma particularidade em sua planilha.
As referencias tipo "Proposta_Ano" são ranges nomeadas? Pode dispor o modelo?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/01/2016 9:17 am
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Reinaldo,

Sim. os intervalos são nomeados. veja no exemplo a situação que descrevi. E tem mais um detalhe que observei quando estava preparando para enviar o exemplo.
na planilha, do jeito que está, existem 2 valores.

Na célula X11, 69.615,12
Na célula X35, 42.705,45

Vamos usar o filtro na linha 130.

* Ação = "Anular"
* Fonte = "(00)-(01)Tesouro", nesse momento o valor da célula X11 é alterado para 27.581,80 que é um dos 2 valores que formam 69.615,12.
* Ano (coluna T) = "2012", nesse momento o valor da célula X11 desaparece completamente, enquanto que o valor da célula X35 permanece o mesmo.

Note que a coluna P, embora não tenha sido aplicado o filtro, ela aparece como se estivesse.

Percebi que apenas um dos 2 valores da coluna X11 desaparece, o outro valor não se altera.

Muito estranho, prá mim.

 
Postado : 25/01/2016 1:09 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Aparentemente o "problema" deve-se às ranges nomeadas.
Veja que na configuração das range nomeadas é "pego" o total de linhas da célula c129 que utiliza a função subtotal para determinar o numero de linhas; contudo o código 3 que deveria ignorar linhas ocultas, não o está fazendo; interessante que de acordo com o help dessa função o código 3 deveria considerar linhas ocultas, mas aparentemente não está.
Altere a formula em C129 =CONT.VALORES(C131:C500) e veja se continua o comportamento insperado

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2016 6:44 am
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Reinaldo,

Para resolver o caso, escolhi outra coluna e para cada linha preenchida atribui o número 1. Assim na linha 130 faço uma soma e obtenho o intervalo.

Depois das suas observações, foi o que resolveu o caso.

Obrigado.

 
Postado : 26/01/2016 12:52 pm