Primeiro que, função matricial come mesmo muito processamento, não deve ser usada quando a tabela é gigante ou quando vc tem milhares delas... mas como meu lema desde a época do Orkut é, "existem mil maneiras", eu aceitei seu desafio, mas resolvi melhorar sua fórmula, usando um somase() simples, sem matricial e sem macro.
Então eu pensei: soma matricial precisa cair fora. Somase ou somases()?
Pensei SOMASES(), claro. Tem vários critérios. Mas montar os intervalos matricialmente no somases é difícil e inviável, principalmente por causa da forma que vc tratou as datas. Então resolvi por usar o SOMASE() mesmo.
Decidi criar uma coluna de chave na sua base. Concatenar as colunas da base, na própria base, usando o mesmo critério que vc colocou dentro da soma matricial (vide coluna A do arquivo anexo). Uma vez que a chave está fora da função, reduzir-se-ia o impacto dentro do modelo de decisão (http://www.decisionmodels.com/calcsecretsc.htm) que o Excel usa para definir o que precisa ser calculado...
Uma vez calculada a coluna da chave, o Excel só precisaria usar o somase(), que são poucos, e é infinitamente mais rápido que qualquer soma matricial.
Como não tenho aqui a "gigantesa" do seu arquivo, não consigo testar a melhoria (ou não) no desempenho do recálculo.
Portanto, estou postando de volta seu modelo já com a solução que eu propus e você aplica no seu arquivo e compartilha o resultado.
Abs,
FF
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 24/09/2014 8:29 pm