Como forçar o Excel a recalcular as dependências circulares depois de corrigir um erro?

0

Eu tenho uma planilha financeira complexa que usa referências circulares intencionais. O Excel faz um bom trabalho calculando-os, porque eu habilitei o cálculo iterativo.

Problema: quando eu acidentalmente criar um erro (por exemplo, #NUM ou # DIV / 0) alterando uma fórmula de uma célula usada em uma dependência circular, corrija-o. O Excel não consegue recalcular a planilha.

O problema é fácil de reproduzir com um cenário simples, em que imposto = taxa de imposto * (receita + impostos):

ApóscorrigiroerroemC1,C2ficacomoerrooriginalenãorecalcula.

UsarCalculatenownãoajuda.AúnicamaneiraqueencontreipararecuperarumaplanilhafuncionaléeditarafórmulaC2(F2)epressionarEnter.

Masestasoluçãonãoéaplicávelàminhaplanilhacomplexa:eurecebodezenasdecélulascomerrodeumavezenãoconsigoencontraraqueeudeveria"atualizar" ( F2 então ( Enter ).

Como posso resolver isso? Gostaria apenas de forçar o Excel a realmente recalcular tudo após corrigir o erro.

    
por Sébastien 13.03.2018 / 15:41

1 resposta

1

when I accidentally create an error (e.g. #NUM or #DIV/0) by changing a formula of a cell used in a circular dependency, then fix it, Excel fails to recalculate the sheet.

Isso não é verdade, o Excel recalcula adequadamente (pelo menos no exemplo que você postou):

  • quando você insere uma referência circular, como em seu exemplo:
    =B1*(C1+C2) em C2
  • O Excel interpreta apenas os valores da célula no momento anterior, e o valor anterior em C2 foi um erro, portanto, sua fórmula será: =B1*(C1+#ERR) , o que resulta em erro e em qualquer momento que você recalcule, ainda será um erro, então o comportamento que você descreveu é CORRETO
  • se você pressionar F2, redefina o valor em C2, por isso ele será considerado como 0 , por isso funciona
  • você pode argumentar que deseja redefinir todas as fórmulas com um erro, mas que pode acabar em loops infinitos quando o Excel tentar resolver cálculos impossíveis.

Eu tenho apenas alguns cálculos iterativos, mas eu aconselho veementemente contra eles, além do seu problema atual, pode haver outros também:

  • perda de rastreabilidade: como os resultados do cálculo dependem não apenas de fórmulas e constantes na tela, mas também do estado anterior, pode ser muito difícil (se não impossível) reproduzir situações
  • se você alterar qualquer valor acidentalmente que seja um precedente de uma fórmula de referência circular, ele será alterado imediatamente e nem sempre é fácil desfazê-lo (especialmente quando você perceber isso várias etapas depois).
  • Eu acho que para uma folha financeira, seja de qualquer maneira teórica / científica / não realista você quer manter o controle total da folha.
por 13.03.2018 / 16:11