Formatos de data e número

Os formatos de data/hora e número permitem controlar como seus dados aparecem em uma página. O Planilhas Google oferece alguns formatos comuns que você pode escolher, mas também é possível definir seus próprios formatos.

Na interface do app Planilhas, você aplica formatos de número e data às células usando o menu Formato > Número. Na API Sheets, você define esses formatos usando uma chamada de método spreadsheets.batchUpdate para enviar um UpdateCellsRequest ou RepeatCellRequest.

Esta página descreve como definir novos padrões de formato de data e número, que podem ser incluídos na solicitação de API. O exemplo Definir um formato personalizado de data/hora ou decimal para um intervalo mostra como definir um padrão de formato usando a API. A renderização do formato depende do locale da planilha. Este guia pressupõe que locale seja en_US. É possível determinar o locale de uma planilha lendo o SpreadsheetProperties com uma solicitação spreadsheets.get.

Sobre os valores de data e hora

O Planilhas, como a maioria dos outros aplicativos de planilhas, trata valores de data e hora como decimais. Com isso, você pode realizar operações aritméticas nesses valores com fórmulas, por exemplo, para somar dias ou semanas, adicionar ou subtrair duas datas e horários e realizar outras operações semelhantes.

O Planilhas usa uma forma de data de época comumente usada em planilhas. A parte numérica inteira do valor (à esquerda do separador de decimal) conta os dias desde 30 de dezembro de 1899. A parte fracionária (à direita do ponto decimal) conta a hora como uma fração de um dia. Por exemplo, 1º de janeiro de 1900 ao meio-dia é 2.5, 2 porque é dois dias após 30 de dezembro de 1899 e 0.5 porque meio-dia é metade de um dia. 1 de fevereiro de 1900 às 15h é 33.625.

O Planilhas Google trata o ano 1900 como um ano normal, não bissexto.

Padrões de formato de data e hora

Um padrão de formato de data e hora é uma string de substrings de token que, quando analisadas, são substituídas pelos elementos de data/hora correspondentes (como o mês ou a hora).

Tokens de formato de data e hora

A tabela a seguir define as substrings de token que podem ser usadas em um padrão de formato de data/hora. Um caractere + indica que o caractere anterior pode aparecer uma ou mais vezes e ainda corresponder ao padrão. Os caracteres não listados na tabela abaixo são tratados literalmente e exibidos sem alterações.

Token Descrição
h Hora do dia. Alterna entre o formato de 12 e 24 horas dependendo se um indicador de AM ou PM está presente na string.
hh+ Igual ao anterior, mas com um 0 antes de 1-9.
m Se o token não literal anterior for horas ou se o seguinte for segundos, ele vai representar os minutos na hora (sem 0 na frente). Caso contrário, ele representa o mês do ano como um número (sem 0 na frente).
M O mês do ano sem o zero à esquerda. Use esse token para declarar explicitamente um mês, em vez de um minuto, no seu padrão.
mm O mesmo que m, mas com um 0 na frente de ambos os casos.
MM O mês do ano com um 0 à esquerda. Use esse token para declarar explicitamente um mês, em vez de um minuto, no seu padrão.
mmm Abreviação de três letras do mês (por exemplo, "Fev").
mmmm Nome completo do mês. mmmmmm+ também corresponde a isso.
mmmmm Primeira letra do mês (por exemplo, "J" para junho).
s Segundos no minuto sem um 0 à esquerda.
ss Segundos no minuto com um 0 à esquerda.
[h+] Número de horas decorridas em um intervalo de tempo. O número de letras indica o número mínimo de dígitos (adiciona 0s na frente).
[m+] Número de minutos decorridos em um intervalo de tempo. O número de letras indica o número mínimo de dígitos (adiciona 0s na frente).
[s+] Número de segundos decorridos em um intervalo de tempo. O número de letras indica o número mínimo de dígitos (adiciona 0s na frente).
d Dia do mês, sem 0 na frente para números inferiores a 10.
dd Dia do mês, com um 0 na frente para números inferiores a 10.
ddd Dia da semana, abreviação de três letras (por exemplo, "Seg").
dddd+ Dia da semana, nome completo.
y Ano com dois dígitos.
yy
yyy Ano com 4 dígitos.
yyyy+
a/p Mostra "a" para AM e "p" para PM. Também muda as horas para o formato de 12 horas. Se a letra do token for maiúscula, o resultado também será.
am/pm Como acima, mas exibe "AM" ou "PM" e sempre aparece em letras maiúsculas.
0 Décimos de segundos. É possível aumentar a precisão para dois dígitos com 00 ou três dígitos (milissegundos) com 000.
\ Trata o próximo caractere como um valor literal ignorando qualquer significado especial que ele possa ter.
"text" Mostra o texto que estiver dentro das aspas de forma literal.

Exemplos de formato de data e hora

Considerando a data e hora Tuesday, April 5, 2016, 4:08:53.528 PM, a tabela a seguir mostra alguns exemplos de padrões e a renderização de data/hora correspondente. A segunda seção da tabela mostra exemplos de formatos de tempo decorrido considerando 3 hours, 13 minutes, 41.255 seconds:

Padrões de data e hora Tuesday, April 5, 2016, 4:08:53.528 PM
h:mm:ss.00 a/p 4:08:53.53 p
hh:mm A/P".M." 04:08
yyyy-mm-dd 2016-04-05
mmmm d \[dddd\] 5 de abril [terça-feira]
h PM, ddd mmm dd 16h, terça-feira, 5 de abril
dddd, m/d/yy at h:mm Terça-feira, 4/5/16 às 16h08
Padrões de tempo decorrido 3 hours, 13 minutes, 41.255 seconds
[hh]:[mm]:[ss].000 03:13:41.255
[mmmm]:[ss].000 0193:41.255

Padrões de formato de número

Um padrão de formato de número é uma string de substrings de token que, quando analisadas, são substituídas pelas representações numéricas correspondentes. Um padrão de formato de número pode consistir em até quatro seções, separadas por ponto-e-vírgula, que definem os formatos separados usados para números positivos, negativos, zero e texto (nessa ordem):

[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]

Não é preciso incluir todas as quatro seções em um formato. Se você incluir apenas uma seção, esse formato será usado para todos os valores. Usar duas seções faz com que o primeiro formato seja aplicado a zero e números positivos, e o segundo formato a números negativos. Usar três seções define formatos separados para números positivos, negativos e zero. Exemplo:

[NUMBER FORMAT]
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT]
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]

No entanto, se houver duas ou mais seções e a última for um formato de texto, essa seção será tratada como o formato de texto e as outras se comportarão como se tivesse uma seção a menos. Dessa forma, ao incluir um formato de texto final, é possível definir formatos como:

[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT];[TEXT FORMAT]
[NUMBER FORMAT];[TEXT FORMAT]

A análise de um formato em seções ocorre antes de qualquer outro tipo de análise, portanto, é possível ter um formato de data ou hora incluído como uma das seções (apesar de isso ter utilidade limitada).

Tokens de formato de número

A tabela a seguir define as substrings de token que você pode usar em uma seção de formato para definir como representar os valores dessa seção.

Token Descrição
0 Representa um dígito no número. Se o dígito for um 0 insignificante, ele será renderizado como 0. Por exemplo, o formato de número 00.0 renderiza o número 3 como "03.0".
# Representa um dígito no número. Se o dígito for um 0 insignificante, ele não será renderizado. Por exemplo, o formato de número ##0 renderiza o número 12 como "12".
? Representa um dígito no número. Se o dígito for um 0 insignificante, ele será renderizado como um espaço. Esse token é frequentemente usado para alinhar o separador decimal em uma coluna ao usar fontes de largura fixa. Por exemplo, o formato de número ???.??? renderiza o número 12,4 como: " 12.4 ".
. O primeiro ponto representa o separador decimal do número. Pontos subsequentes são renderizados literalmente. Se você incluir um ponto decimal no formato, ele sempre será renderizado, mesmo para números inteiros. Por exemplo, #0.# renderiza o número 3 como "3.".
% Aparece como um literal, mas também faz com que os números existentes sejam multiplicados por 100 antes de serem renderizados para facilitar a leitura dos percentuais. Por exemplo, o formato de número #% renderiza o número 0,25 como "25%".
, Se aparecer entre caracteres de dois dígitos (0, # ou ?), renderiza o número inteiro com separadores de agrupamento (agrupamento de milhares). Se o token seguir os caracteres de dígito, ele dimensiona os dígitos em 1000 por vírgula (por exemplo, o formato #0.0,, renderiza o número 12.200.000 como 12.2).
E- Renderiza o número no formato científico, com a formatação à esquerda do E usado para a parte não expoente e a formatação à direita do E usado para a parte expoente. E+ mostra um sinal + para expoentes positivos. E- mostra apenas um sinal para expoentes negativos. Se letras minúsculas forem usadas, a saída e também será em letras minúsculas. Por exemplo, o formato de número ##0.00#E+## renderiza o número 0,0000001 como "100.00E-9".
E+
e-
e+
/ Se ele aparecer entre dois caracteres de dígito (0, # ou ?), ele vai tratar esses grupos de dígitos como um formato fracionário. Por exemplo, o formato de número 0 #/# renderiza o número 23,25 como 23 1/4. O denominador também pode ser um número inteiro literal. Nesse caso, ele impõe esse número inteiro como denominador. O formato de número 0 #/8 mostra o número 23,25 como 23 2/8. A parte fracionária não é renderizada se o numerador se tornar 0. O número 23.1 com o formato de número 0 #/3 é renderizado como 23 (porque 0,1 é arredondado para 0/3). / não é compatível com o formato científico ou com um formato que tenha um ponto decimal nele.
* Isso é incluído para compatibilidade com os formatos de número do Microsoft Excel. No momento, ele é ignorado.
_ O token de sublinhado pula o próximo caractere e renderiza um espaço. Esse token é usado para alinhar formatos de número nos quais o valor negativo é inserido entre parênteses.
\ Trata o próximo caractere como um valor literal ignorando qualquer significado especial que ele possa ter. Por exemplo, o formato de número \#0 renderiza o número 10 como "#10".
"text" Mostra o texto que estiver dentro das aspas de forma literal.
@ Se a célula tiver entrada de texto, o texto bruto dela será inserido. Não é compatível com nenhum outro caractere especial e não é exibido para valores numéricos (que são exibidos como um formato geral).
$ - + ( ) : space O Planilhas trata esses caracteres como literais e os exibe sem alterações.

Instruções meta

Além disso, cada uma das seções de formato pode ter instruções meta opcionais, inseridas entre caracteres [], que precedem o formato e fornecem instruções adicionais. Há dois tipos de instrução meta, e uma seção pode usar ambos:

Instrução Descrição
[condition] Substitui a comparação positiva, negativa ou de zero padrão da seção por outra expressão condicional. Por exemplo, [<100]”Low”;[>1000]”High”;000 renderiza a palavra "Low" para valores abaixo de 100, "High" para valores acima de 1000 e um número de três dígitos (com 0s na frente) para valores intermediários. As condições só podem ser aplicadas aos dois primeiros subformatos e, se um número corresponder a mais de um, ele usará a primeira correspondência. Se houver um terceiro formato, ele será usado para "todo o resto". Caso contrário, se um número não corresponder a nenhum dos formatos, ele será renderizado como todos os "#" preenchendo a largura da célula. Se ele existir, o quarto formato será sempre usado para texto.
[Color] or [Color#] Faz com que qualquer valor renderizado por esse subformato apareça com a cor de texto especificada. Os valores válidos para Color são preto, azul, ciano, verde, magenta, vermelho, branco ou amarelo. Os valores válidos para "#" em Color# são 1 a 56. Esta paleta de cores mostra uma lista das cores que correspondem a cada número. Cores de formatos de número substituem qualquer cor inserida pelo usuário na célula, mas não as cores definidas pela formatação condicional.

Exemplos de formato de número

A tabela a seguir mostra alguns exemplos de padrões e a renderização de número formatado correspondente:

Número Padrão Valor formatado
12345.125 ####.# 12345.1
12,34 000.0000 012.3400
12 #.0# 12.0
5,125 # ???/??? 5 1/8
12000 #,### 12.000
1230000 0.0,,"M" 1,2 milhão
1234500000 0.00e+00 1,23e+09
123114.15115
MyText
###0.000;"TEXT: "_(@_) 123114.151
TEXT: MyText
1234
-1234
0
MyText
[Blue]#,##0;[Red]#,##0;[Green]0.0;[Magenta]_(@_) 1.234
1.234
0.0
MyText
1005
32
527
[>1000]"HIGH";[Color43][<=200]"LOW";0000 HIGH
LOW
0527