Conteúdo
Índice 🔎︎

# Converter texto em números

As definições padrão do Calc convertem o texto das células para os seus valores numéricos se for possível uma conversão não ambígua. Se a conversão não for possível, o Calc devolve o erro #VALOR!.

Apenas os números inteiros, incluindo expoentes, serão convertidos, bem como as datas e horas ISO 8601 nos seus formatos estendidos com separadores. Qualquer outra coisa como, por exemplo, números fracionários com separadores decimais ou datas em outro formato que não ISO 8601 não serão convertida porque a cadeia de caracteres de texto depende da configuração regional. Os espaços em branco à frente e atrás do texto serão ignorados.

Os seguintes formatos ISO 8601 são convertidos:

- SSAA-MM-DD

- SSAA-MM-DDThh:mm

- SSAA-MM-DDThh:mm:ss

- SSAA-MM-DDThh:mm:ss,s

- SSAA-MM-DDThh:mm:ss.s

- hh:mm

- hh:mm:ss

- hh:mm:ss,s

- hh:mm:ss.s

O código do século SS não pode ser omitido. Em vez do separador de data e hora T, terá de ser utilizado exatamente um carácter de espaço.

Se for indicada uma data, terá de ser uma data válida do calendário gregoriano. Neste caso, a hora opcional terá de estar compreendida no intervalo 00:00 a 23:59:59.99999...

Se for indicada apenas uma cadeia de hora, esta poderá incluir um valor de horas superior a 24, enquanto que os minutos e os segundos podem ter um valor máximo de 59.

A conversão é feita para valores escalares e não para intervalos.

A conversão será feita para argumentos escalares singulares, como em =A1+A2 ou ="1E2"+1. Os argumentos de intervalos de células não serão afetados. nNeste sentido, SOMA(A1:A2) será diferente de A1+A2, se pelo menos uma das duas células contiver uma cadeia de caracteres convertível.

As cadeias dentro de fórmulas também são convertidas, tal como em ="1999-11-22"+42, que devolve a data 42 dias depois de 22 de novembro de 1999. Os cálculos que envolvem datas localizadas como cadeias dentro da fórmula devolvem um erro. Por exemplo, não é possível utilizar a cadeia de data localizada "11/22/1999" ou "22.11.1999" para a conversão automática.

Ao usar funções onde um ou mais argumentos são textos que representem uma expressão regular, a primeira tentativa é de converter o texto do critério em número. Por exemplo, ".0" se converterá em 0.0 e assim por diante. Se tiver sucesso, a verificação não será por expressão regular, mas por conversão numérica. Contudo, se mudar de configuração regional e o separador decimal não for o ponto, a expressão regular será utilizada. Para forçar a avaliação da expressão regular em vez de uma expressão numérica, utilize uma expressão que não possa ser confundida com um número como, por exemplo, .[0]" ou ".\0" or mesmo "(?i).0".

## Exemplo

Em A1, introduza o texto '1e2 (que será convertido para o número 100 internamente).

Em A2, introduza =A1+1 (que resulta corretamente em 101).

A fórmula =SOMA(A1:A2), devolve 101 em vez de 201 porque a conversão não ocorre num intervalo, somente para valores escalares singulares. Aqui, '1e2 é tratado como texto e ignorado na função SOMA.

=SOMA("1E2";1) devolve #VALOR! porque SOMA() e outras funções que agem sobre sequências de números verificam explicitamente o tipo dos argumentos.

## Alterar definições para conversão de texto em números

A conversão de texto para número pode ser personalizada na opção Detailed Calculation Settings

Tópicos relacionados

Detailed Calculation Settings

Formatar números como texto

Introduzir números com zeros à esquerda

Formatar - Células - Números

Formatar números com casas decimais