Cálculo leva mais do que o esperado quando uma fórmula depende de uma função de matriz personalizados no Excel 2003 e no Excel 2002

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 906310
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você calcula uma fórmula que depende de uma função de matriz personalizado em uma planilha do Microsoft Office Excel 2003 ou na planilha do Microsoft Excel 2002, o cálculo leva mais do que o esperado.
Causa
Quando você usar uma função de matriz em uma fórmula, a função de matriz é chamada uma vez para cada célula na matriz. A fórmula calcula uma célula sempre que uma célula na matriz é passada para a função de matriz. O processo de cálculo é repetido até o final da matriz. A fórmula calcula a matriz inteira somente depois que a fórmula atingir o final da matriz. O cálculo pode demorar mais que o esperado quando você tem várias fórmulas relacionadas a grandes matrizes na planilha.
Como Contornar
Nas células que chamar a função personalizada, criar uma função interna que não altera o valor que é retornado pela função personalizada. Por exemplo, crie uma função interna que é semelhante à seguinte:

fórmula original
=CUSTOMFUNCTION(A1:A50)
fórmula atualizadas
=IF(COUNT(A1:A50) < 0,NA(),CUSTOMFUNCTION(A1:A50))
Observação Nessa função, a função COUNT(A1:A150) não é avaliada até que todas as células precedentes na matriz são calculadas. A função personalizada é chamada somente depois que todas as células precedentes no intervalo de matriz da função COUNT(A1:A50) são calculadas. A contar será sempre 0 ou maior. Portanto, a condição se sempre resultará em um valor falso. Quando você recebe um valor falso, sua função personalizada será chamada.
Função de definida pelo usuário UDF matrizes

Propriedades

ID do Artigo: 906310 - Última Revisão: 12/09/2015 03:07:46 - Revisão: 4.2

Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbformat kbformula kbtshoot KB906310 KbMtpt
Comentários