Por que duas células do Excel que parecem ter os mesmos valores são testadas como não correspondentes?

4

Estou criando uma coluna de validação para uma planilha. Anexei uma imagem do que está acontecendo.

  • A coluna A contém uma função de indexação e funciona corretamente. A fórmula aparece na parte inferior da imagem.
  • A coluna B é codificada com os valores de índice - sem funções - recortada e colada do arquivo externo nº2. Esta coluna será usada como uma coluna de pesquisa para trazer dados adicionais para o documento original.
  • A coluna C compara os valores em A / B e formata condicionalmente a célula. No caso de uma linha estar faltando em um dos dois arquivos, temos uma referência visual rápida de onde as listas ficam fora de sincronia para que possamos corrigir o erro.
  • A coluna D está retornando resultados inesperados, como você pode ver na imagem anexada.

Aqui estão as coisas que eu verifiquei:

  • A planilha tem cerca de 3.000 linhas e 40 colunas. Eu trabalhei com arquivos muito maiores antes, sem incidentes.
  • Cols ABDF são formatados Number>Special>0000.00
  • O Col CC, indicado na fórmula de AB, contém o número 2 ou o número 3. Tentei recalcular depois de alterar o formato de número de general para Number>Special>0000.00
  • O Cols ABDF foi expandido para cerca de 20 casas decimais, e eu não localizei uma solitária .000000000001 em nenhum dos valores.
  • Atualizei meus dados para que tudo seja calculado novamente como atual.
  • Cols D & F foram criados como testes apenas para ver se poderia pegar os valores, compará-los e obter resultados diferentes. Eu não obtive resultados diferentes; meu teste aparece na imagem enviada.
  • E sim, fiz uma reinicialização a frio e iniciei o Excel novamente. :)

Alguma idéia ou sugestão sobre o que está acontecendo ou onde procurar como corrigi-la?

    
por dwwilson66 14.02.2013 / 16:36

1 resposta

5

Você pode comparar os valores como strings de texto:

=IF(TEXT(E364,"0000.00")=TEXT(F364,"0000.00"),"OK","Danger Will Robinson!")

Como alternativa, pode haver um problema de precisão com os dados importados do arquivo externo. Nesse caso, você pode alterar seu teste:

=IF(Abs(E364-F364)<0.00001,"OK","Danger Will Robinson!")

A segunda opção assume que você pode tratar com segurança números que são 0,00001 como "iguais". Se não, apenas reduza as casas decimais nessa equação até um máximo de 15 dígitos.

    
por 14.02.2013 / 17:02