=VALUE(A2) converte um número armazenado como texto em A2 em um número de verdade. No Excel em português a função se chama VALOR (VALUE em inglês), e você também pode digitar as fórmulas em português na tabela, com ponto e vírgula: =VALOR(A2). Números em texto parecem normais, mas SOMA, MÉDIA e CONT.NÚM pulam esses valores, e é por isso que um total pode dar 0:
| A | B | C | |
|---|---|---|---|
| 1 | Imported | VALUE | |
| 2 | 120 | 120 | |
| 3 | 85 | 85 | |
| 4 | 240 | 240 | |
| 5 | 15 | 15 | |
| 6 | 0 | 460 |
=VALOR(A2)A6 soma 0 porque as quatro células da coluna A são texto (digitadas com um apóstrofo, como costumam vir dados importados de um CSV ou de uma página da web). A coluna C converte cada uma, e C6 dá o total real, 460.
Como saber se um número está armazenado como texto
No Excel, um número armazenado como texto:
- fica à esquerda da célula, enquanto os números ficam à direita (a menos que o alinhamento tenha sido mudado);
- mostra um triangulozinho verde no canto superior esquerdo da célula, e um ícone de aviso quando você seleciona a célula, dizendo "Número Armazenado como Texto";
- é contado pela CONT.VALORES, mas não pela CONT.NÚM.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Value | ISNUMBER | ISTEXT | Text numbers | |
| 2 | 120 | TRUE | FALSE | 2 | |
| 3 | 85 | FALSE | TRUE | ||
| 4 | 240 | TRUE | FALSE | ||
| 5 | 15 | FALSE | TRUE |
=ÉNÚM(A2)E2 conta quantas células do intervalo estão preenchidas mas não são números: aqui, as duas digitadas com apóstrofo. Em uma coluna limpa de números, ela retorna 0.
Quatro fórmulas que convertem
| A | B | C | |
|---|---|---|---|
| 1 | Text | Result | How |
| 2 | 1250 | 1250 | VALUE |
| 3 | 1250 | double minus | |
| 4 | 1250 | multiply by 1 | |
| 5 | 1250 | add 0 |
=VALOR(A2)Qualquer conta obriga o Excel a ler o texto como número, e a VALOR é a versão explícita. O -- (dois sinais de menos: menos, e menos de novo) é a escolha comum dentro de outras fórmulas, porque é curto: =SOMARPRODUTO(--A2:A5) soma uma coluna de números em texto sem coluna auxiliar. A VALOR também lê texto com símbolo de moeda, separador de milhar ou sinal de porcentagem: VALUE("$1,250") é 1250 e VALUE("12%") é 0.12 (forma em inglês: a VALOR segue os separadores e a moeda da sua configuração regional).
| A | B | |
|---|---|---|
| 1 | Quantity (text) | Quantity |
| 2 | 125 |
Sua vez: A quantidade em A2 foi importada como texto. Em B2, converta-a em número.
Texto com unidades ou outros separadores
A VALOR retorna #VALOR! (#VALUE! em inglês; a tabela mostra os nomes de erro em inglês) quando o texto tem algo que ela não consegue ler como número. Dois casos comuns:
| A | B | C | |
|---|---|---|---|
| 1 | Text | Fixed | Without the fix |
| 2 | 120 kg | 120 | #VALUE! |
| 3 | 1.234,5 | 1234.5 | #VALUE! |
=VALOR(SUBSTITUIR(A2;" kg";""))- Uma unidade ou uma palavra: remova antes com a SUBSTITUIR, como em B2.
- Uma vírgula como separador decimal, como em
1.234,5vindo de um sistema alemão ou brasileiro: a VALORNUMÉRICO (NUMBERVALUE em inglês, Excel 2013 e posteriores) recebe o separador decimal e o separador de milhar como segundo e terceiro argumentos. A VALOR só conhece os separadores do seu próprio Excel, então C3 falha (a tabela usa a configuração em inglês).
Espaços antes ou depois dos dígitos não atrapalham a VALOR, mas os espaços não separáveis de páginas da web podem atrapalhar; SUBSTITUIR(A2;CARACT(160);"") remove esses espaços antes. Para as causas gerais desse erro, veja #VALOR!.
| A | B | |
|---|---|---|
| 1 | Amount | Total |
| 2 | 120 | |
| 3 | 45 | |
| 4 | 80 |
Sua vez: Os valores em A2:A4 são números armazenados como texto. Em B2, retorne o total deles com uma fórmula só.
Converter no lugar, sem fórmula
As fórmulas colocam os números em uma coluna nova. Para corrigir as próprias células:
- Converter em Número. Selecione as células (a primeira célula selecionada precisa ser uma com o triângulo verde), clique no ícone de aviso ao lado da seleção e escolha Converter em Número. É a correção mais rápida.
- Texto para Colunas. Selecione a coluna, Dados > Texto para Colunas, e clique em Concluir direto. O Excel digita de novo cada célula e transforma os números em texto em números.
- Colar Especial, Multiplicação. Digite 1 em uma célula vazia e copie. Selecione os números em texto, Página Inicial > Colar > Colar Especial, escolha Multiplicação e clique em OK.
Se as células estão formatadas como Texto (Página Inicial > Formato de Número mostra "Texto"), mude para Geral antes; senão, tudo o que você digitar nelas é armazenado como texto de novo.
Erro comum: buscas entre texto e números
Um valor procurado 101 não bate com o texto 101: PROCV, PROCX e CORRESP retornam #N/D (#N/A), e =A2=101 é FALSO, mesmo com as duas células parecendo iguais. Converta um dos lados para os dois serem do mesmo tipo. Quando a coluna de busca é a de texto, converta o valor que você procura:
=VLOOKUP(TEXT(E2,"0"), A2:C6, 3, FALSE) E2 is a number, column A holds text numbers
=VLOOKUP(--E2, A2:C6, 3, FALSE) E2 holds a text number, column A holds numbers
No Excel em português, a segunda é =PROCV(--E2;A2:C6;3;FALSO), e a primeira fica =PROCV(TEXTO(E2;"0");A2:C6;3;FALSO). A página de ÉNÚM e ÉTEXTO mostra como conferir cada lado.
Perguntas frequentes
Como converter texto em número no Excel?
Com uma fórmula, =VALOR(A2) ou =--A2. Sem fórmula, selecione as células, clique no ícone de aviso que aparece ao lado delas e escolha Converter em Número.
Por que a SOMA retorna 0 no Excel?
Os números estão armazenados como texto, e a SOMA pula texto. Eles costumam ficar alinhados à esquerda e mostrar um triangulozinho verde. Converta com =VALOR(A2), ou some direto com =SOMARPRODUTO(--A2:A10).
Por que Converter em Número não funciona ou não aparece?
O Excel só oferece essa opção para texto que ele consegue ler como número. Um espaço não separável de uma página da web, uma unidade como kg ou um separador decimal que o seu Excel não usa escondem o triângulo verde. Limpe o texto antes: =VALOR(SUBSTITUIR(A2;CARACT(160);"")) ou =VALORNUMÉRICO(A2;",";".").
Como converter números com vírgula como separador decimal?
Use a VALORNUMÉRICO e informe os separadores: =VALORNUMÉRICO(A2;",";".") transforma 1.234,5 em 1234,5. A VALOR só entende os separadores da configuração do seu próprio Excel.