Planilha do Excel calculando fórmulas lentamente

0

Eu tenho uma planilha (não muito grande atualmente com pouco mais de 6.000 linhas de colunas K) que, por algum motivo, leva um tempo extremamente longo para recalcular e freqüentemente reavaliar e salvar. Às vezes leva de 10 a 15 minutos, e outros podem levar até meio dia, não há muita consistência no tempo de cálculo. As fórmulas não são muito complexas e são bastante limpas do que eu posso dizer. As referências para a maioria das fórmulas são dados em uma planilha de "origem" na mesma planilha que é extraída do SQL e exportada para o Excel usando o Cognos Impromptu. Eu tenho outra planilha que não tem esse problema de cálculo lento, mas seus dados são exportados diretamente do sistema que contém os dados. As fórmulas são as mesmas, e os dados são basicamente os mesmos em estrutura, mas vindos de lugares diferentes. Essa é a única diferença, mas uma é lenta.

Não estou puxando dados do SQL em tempo real, estou recuperando dados do SQL (não usando o Excel) e literalmente colando valores no Excel para cálculos lá. Pelo sistema quero dizer o programa no qual todas as informações são inseridas manualmente (não SQL que atualiza do sistema automaticamente todas as noites) ou seja, dados demográficos da conta, encargos, pagamentos, compromissos, etc. Os dados que eu estou puxando para excel Nome do Provedor, Tipo de Provedor, Pagador Responsável, Encargos, Pagamentos, Ajustes e Data. Ele é extraído e atualizado diariamente, o que é parte do problema, cada vez que eu adiciono os dados de um novo dia que ele precisa reprocessar para incluir as novas linhas.

Aqui estão algumas das fórmulas

=IF(ISERROR(SUM(IF((Source!$A$5:$A$150000='Provider Weekly-WTD'!$A8)*((Source!$K$5:$K$150000>='Provider Weekly-WTD'!B$6)*(Source!$K$5:$K$150000<('Provider Weekly-WTD'!B$6)+7)),Source!$E$5:$E$150000,""))),"-",SUM(IF((Source!$A$5:$A$150000='Provider Weekly-WTD'!$A8)*((Source!$K$5:$K$150000>='Provider Weekly-WTD'!B$6)*(Source!$K$5:$K$150000<('Provider Weekly-WTD'!B$6)+7)),Source!$E$5:$E$150000,"")))

=IF(ISERROR(SUM(IF(($A8=Source!$A$5:$A$150000)*(IF(Source!$K$5:$K$150000=(B$6+6),(B$6+6),MAX(IF((Source!$A$5:$A$150000=$A8)*(Source!$K$5:$K$150000>=B$6)*(Source!$K$5:$K$150000<(B$6+7)),Source!$K$5:$K$150000)))=Source!$K$5:$K$150000),Source!$I$5:$I$150000))),"-",SUM(IF(($A8=Source!$A$5:$A$150000)*(IF(Source!$K$5:$K$150000=(B$6+6),(B$6+6),MAX(IF((Source!$A$5:$A$150000=$A8)*(Source!$K$5:$K$150000>=B$6)*(Source!$K$5:$K$150000<(B$6+7)),Source!$K$5:$K$150000)))=Source!$K$5:$K$150000),Source!$I$5:$I$150000)))

=SUMIFS($I$5:$I$150000,$A$5:$A$150000,$A7111,$C$5:$C$150000,$C7111,$K$5:$K$150000,(MAX(IF(($A7111=$A$5:$A$150000)*($C7111=$C$5:$C$150000)*($K7111>$K$5:$K$150000),$K$5:$K$150000))))

e

=$D7111+$E7111-$F7111+$G7111-$H7111

Como estou um pouco limitado a exibir os dados reais aqui e só posso exibir as fórmulas, acho que estou perguntando se as fórmulas que estou usando estão corretas e / ou estão causando o problema. Se não forem as fórmulas, é possível que os dados ou o formato em que os dados estão causando o problema. Por exemplo, alguém me disse isso porque o formato de data (nas configurações de formato) tem o * na frente dele, que está causando o problema.

    
por ThaddeusTG 16.09.2011 / 19:18

2 respostas

1

Não serão as fórmulas dadas o tamanho de suas linhas e o tempo de cálculo - a menos que a planilha de origem esteja realmente vinculada a outras fontes, ou seja, seu cálculo está tentando vincular a outra pasta de trabalho com sua saída SQL?

Duas sugestões para tentar limpar seu arquivo limpando o espaço redundante e possíveis danos

  1. Faça o download e instale o suplemento ASAP Utilities gratuito. A seleção de todas as planilhas, execute o utilitário 'Planilhas' de ASAP e, em seguida, selecione '25 Remover linhas de término vazias não utilizadas / Colunas'
  2. Em seguida, selecione todas as planilhas, clique com o botão direito na guia da planilha, escolha 'Mover ou Copiar ...' e escolha 'Novo livro'

Se você pudesse encontrar algum lugar para carregar sua pasta de trabalho conturbada (sanitizada se necessário), isso também ajudaria

    
por 18.09.2011 / 03:30
0

Suas fórmulas estão se referindo a um intervalo muito maior do que você está usando:

Source!$A$5:$A$150000

Em seguida, sua fórmula é comparar todas as células desse intervalo com uma única célula de referência:

Source!$A$5:$A$150000 = 'Provider Weekly-WTD'!$A8

Reduza o intervalo de células referenciado por suas fórmulas e você deve encontrar uma melhoria de velocidade.

    
por 18.09.2011 / 04:04