Eu tenho números na minha célula do Excel que se parecem com o mostrado abaixo
Eu gostaria de usar uma Len
fórmula Left
para os números presentes
Por que a
Len
função retorna 15 como saída para a 1ª linha? Tem que ser21
sem casas decimais e23
com casas decimais?Quando me inscrevo
LEFT
para extrair os primeiros 10 dígitos, por que ele retorna a saída como5.71011899
em vez de5710118995
Como é que a 2ª linha está funcionando bem e não a primeira linha?
O formato das células para ambas as linhas é o mesmo.
Você pode me ajudar com as questões acima, por favor?
A função LEN espera uma string, mas você está fornecendo um número, o que geralmente é bom porque o Excel converterá o número em uma string automaticamente. Isso parece acontecer sem que o Excel examine o formato de número (se houver) aplicado à célula.
O primeiro número é o maior dos dois e parece estar sendo passado para LEN como
5.710118995E+20
(15 caracteres), enquanto o segundo número é uma magnitude menor e parece ser passado para LEN como57101189950000000000
(20 caracteres).Presumivelmente, isso está acontecendo devido à maneira como o Excel representa internamente os números de maneira diferente, dependendo de sua escala e precisão (inteiros versus ponto flutuante).
A maneira mais fácil de evitar as conversões arbitrárias é lidar com elas você mesmo:
ou melhor ainda, para números dessa magnitude, fique com a notação científica: