AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1646546
Accepted
Chris Rogers
Chris Rogers
Asked: 2021-05-05 00:46:56 +0800 CST2021-05-05 00:46:56 +0800 CST 2021-05-05 00:46:56 +0800 CST

Espúrio 0,0000000000001 adicionado ao resultado da fórmula

  • 772

Minha esposa e eu temos uma planilha para acertar nossas finanças no início de cada mês e este mês tem uma figura estranha no celular F9.

A fórmula na célula F9é ="+ £"&-'Sue''s Outgoings'!C13&" Shortfall"que deve gerar + £57.35 Shortfall, mas gera + £57.3500000000001 Shortfall.

Fórmula na célulaF9
imagem da fórmula na célula F9

Para tentar solucionar isso, coloco =-'Sue''s Outgoings'!C13na célula F13que gera exatamente o que está em 'Sue''s Outgoings'!C13que é 57,35. (veja a segunda imagem abaixo)

Fórmula na célulaF13
imagem da fórmula na célula F13

Todas as células na Sue's Outgoingsplanilha são formatadas para Currencyformatar e reformatei temporariamente todas as células Generalpara ver se havia uma figura estranha oculta lá e não havia nada. Todas as figuras na Sue's Outgoingsfolha são figuras diretas e não resultados de fórmulas.

Que outra razão poderia haver para a adição espúria de 0,0000000000001 ao resultado?

microsoft-excel worksheet-function
  • 4 4 respostas
  • 7615 Views

4 respostas

  • Voted
  1. Best Answer
    Máté Juhász
    2021-05-05T00:58:29+08:002021-05-05T00:58:29+08:00

    O Excel usa matemática de ponto flutuante, o que significa que às vezes há esses dígitos ocultos em seus valores. ( https://docs.microsoft.com/en-US/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result )

    Eles geralmente são exibidos corretamente, no entanto, quando você os converte em texto, eles podem causar problemas, uma solução alternativa é usar ROUND em sua fórmula:

    ="+ £"& ROUND(-'Sue''s Outgoings'!C13,2) &" Shortfall"
    
    • 35
  2. Chris Rogers
    2021-05-05T01:38:37+08:002021-05-05T01:38:37+08:00

    Para adicionar uma correção em vez de uma solução alternativa para o problema, siga a página do Microsoft Docs vinculada por @MátéJuhász :

    Se você estiver trabalhando em planilhas que são puramente baseadas em dinheiro, como estou aqui, ou qualquer outra coisa com um número fixo de casas decimais, você pode definir a planilha para "precisão conforme exibido".

    Método 2: Precisão conforme exibido

    Em alguns casos, você pode evitar que erros de arredondamento afetem seu trabalho usando a opção Precisão conforme exibido . Esta opção força o valor de cada número na planilha a ser o valor exibido. Para ativar essa opção, siga estas etapas.

    1. No menu Arquivo , clique em Opções e, em seguida, clique na categoria Avançado .
    2. Na seção Ao calcular esta pasta de trabalho , selecione a pasta de trabalho desejada e marque a caixa de seleção Definir precisão conforme exibido .

    Por exemplo, se você escolher um formato de número que mostre duas casas decimais e, em seguida, ativar a opção Precisão como exibida , toda a precisão além de duas casas decimais será perdida quando você salvar sua pasta de trabalho. Esta opção afeta a pasta de trabalho ativa, incluindo todas as planilhas. Você não pode desfazer esta opção e recuperar os dados perdidos. Recomendamos que você salve sua pasta de trabalho antes de habilitar essa opção.

    Então não há necessidade de se preocupar com erros matemáticos de ponto flutuante que precisam ser resolvidos ROUND().

    • 14
  3. AdamV
    2021-05-05T03:27:35+08:002021-05-05T03:27:35+08:00

    Você está pedindo ao Excel para exibir um número no meio de uma string de texto sem informar qual formato usar ou de qualquer outra forma solicitando que ele perceba que você pode querer descobrir a melhor forma de exibir isso.

    O arredondamento é uma opção aqui, mas geralmente acho que é uma boa prática dizer ao Excel de forma inequívoca como você gostaria que esse número aparecesse no meio deste texto (estou usando um formato simples de duas casas decimais aqui:

    ="+ £"& TEXT(-'Sue''s Outgoings'!C13,"#.00") &" Shortfall"
    

    Como alternativa, você pode fazer tudo apenas puxando o número e usando um formato de número personalizado como este (observe que ele exibe números positivos e negativos como positivos, com rótulos diferentes):

    + £#,###.00 "excess";+ £#,###.00 "shortfall";0.00 "balanced";@
    
    • 9
  4. Samuel Muldoon
    2021-05-06T20:20:54+08:002021-05-06T20:20:54+08:00

    Há muito tempo, os programadores de computador decidiram não armazenar números decimais perfeitamente.

    Teoricamente , a raiz quadrada de dois pode ser armazenada em um computador.
    Isso é pelo mesmo motivo que quando você usa caneta e papel para escrever o símbolo a seguir, NÃO requer uma quantidade infinita de papel e tinta.

    SQUARE_ROOT_OF_TWO

    Na prática, os programadores de computador não usam números decimais precisos. Assim, toda vez que você soma, subtrai, multiplica ou divide, introduz um erro de arredondamento.

    Se você quiser saber mais, você pode pesquisar no Google "Número de ponto flutuante de precisão simples IEEE".

    • 1

relate perguntas

  • Como usar a função LENGTH do Excel para uma coluna inteira?

  • Matriz do Excel (2 variáveis)

  • como abrir um arquivo de escritório do WSL

  • VBA para renomear planilha com base no nome do arquivo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve