Com os formatos de data/hora e número, você controla como seus dados aparecem em uma planilha. As Planilhas Google oferecem alguns formatos comuns para escolher, mas você também pode definir os seus.
Na interface do Planilhas, você aplica formatos de número e data às células usando o menu Formatar > Número. Na API Google Sheets, você define esses formatos usando uma
chamada de método
spreadsheets.batchUpdate
para enviar um
UpdateCellsRequest
ou
RepeatCellRequest
.
Nesta página, descrevemos 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 de data/hora ou decimal personalizado para um intervalo
mostra como definir um padrão de formato usando a API. A renderização real 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 valores de data e hora
O Google Sheets, assim como a maioria dos outros aplicativos de planilhas, trata os valores de data e hora como decimais. Isso permite realizar operações aritméticas com eles em fórmulas, para que você possa incrementar dias ou semanas, adicionar ou subtrair duas datas e horários e realizar outras operações semelhantes.
O app Planilhas usa uma forma de data de época, que é comumente usada em planilhas. A parte inteira do valor (à esquerda do decimal) conta os dias desde 30 de dezembro de 1899. A parte fracionária (à direita do decimal) conta o tempo como uma fração de um dia. Por exemplo, 1º de janeiro de 1900 ao meio-dia é 2.5
, 2
porque é 2 dias depois de 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 Google Sheets trata corretamente o ano de 1900 como um ano comum, 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 e 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 e 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 como literais e são gerados sem alterações.
Token | Descrição |
---|---|
h |
Hora do dia. Alterna entre o formato de 12 e 24 horas, dependendo se um indicador AM ou PM está presente na string. |
hh+ |
Igual ao anterior, mas com um 0 à esquerda para 1 a 9. |
m |
Se o token não literal anterior for "horas" ou o seguinte for "segundos", ele representará minutos na hora (sem um 0 à esquerda). Caso contrário, ele representa o mês do ano como um número (sem um 0 à esquerda). |
M |
O mês do ano sem um 0 à esquerda. Use esse token para declarar expressamente um mês, em vez de um minuto, no seu padrão. |
mm |
Igual a m , mas com um 0 à esquerda nos dois casos. |
MM |
O mês do ano com um 0 à esquerda. Use esse token para declarar expressamente 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 uma duração. O número de letras indica o número mínimo de dígitos (adiciona zeros à esquerda). |
[m+] |
Número de minutos decorridos em um período. O número de letras indica o número mínimo de dígitos (adiciona zeros à esquerda). |
[s+] |
Número de segundos decorridos em uma duração. O número de letras indica o número mínimo de dígitos (adiciona zeros à esquerda). |
d |
Dia do mês, sem um 0 à esquerda para números menores que 10. |
dd |
Dia do mês, com um 0 à esquerda para números menores que 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, a saída também será. |
am/pm |
Como acima, mas mostra "AM" ou "PM" em vez disso e sempre é maiúscula. |
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, e não como um significado especial que ele possa ter. |
"text" |
Mostra o texto entre aspas como um literal. |
Exemplos de formatos de data e hora
Considerando a data e a 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 e hora correspondente. A segunda seção da tabela mostra exemplos de formatos de tempo decorrido para um período de 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." |
16h08 |
yyyy-mm-dd |
2016-04-05 |
mmmm d \[dddd\] |
5 de abril [terça-feira] |
h PM, ddd mmm dd |
16h, ter., 5 de abril |
dddd, m/d/yy at h:mm |
Terça-feira, 05/04/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 numérico pode ter até quatro seções, separadas por ponto-e-vírgula, que definem os formatos usados para números positivos, negativos, zero e texto (nessa ordem):
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]
Não é necessário 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 números zero e positivos, e o segundo 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 final for um formato de texto, essa seção será tratada como o formato de texto, e as outras vão se comportar como se houvesse uma seção a menos. Assim, 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 outras análises. Portanto, é possível incluir um formato de data ou hora como uma das seções, embora isso tenha utilidade limitada.
Tokens de formato de número
A tabela a seguir define as substrings de token que podem ser usadas 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. Isso é usado com frequência para alinhar o ponto 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 ponto decimal no número. Os períodos subsequentes são renderizados como literais. 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 atuais sejam multiplicados por 100 antes de serem renderizados para tornar as porcentagens mais legíveis. Por exemplo, o formato de número #% renderiza o número 0,25 como "25% ". |
, |
Se ele aparecer entre caracteres de dois dígitos (0 ,
# ou ? ), vai renderizar o número inteiro
com separadores de agrupamento (agrupamento por milhares). Se ele seguir os caracteres de dígito, vai dimensionar os dígitos em mil por vírgula. Por exemplo, o formato #0.0,, renderiza o número 12.200.000 como 12.2 . |
E- |
Renderiza o número em formato científico, com a formatação à esquerda do E usado para a parte não exponencial e a formatação à direita do E usado para a parte exponencial. E+ mostra um sinal de + para expoentes positivos. E- mostra um sinal apenas para expoentes negativos. Se
lowercase for usado, 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 caracteres de dois dígitos (0 ,
# ou ? ), esses grupos de dígitos serão tratados 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 como denominador. O formato de número 0 #/8
mostra o número 23,25 como 23 2/8 . A parte da fração não é
renderizada se o numerador for 0. O número 23,1 com o formato 0 #/3 é renderizado como 23 (porque 0,1 é arredondado para 0/3). / não é compatível com o formato científico ou um formato com um ponto decimal. |
* |
Isso está incluído para compatibilidade com 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. Usado para alinhar formatos de número em que o valor negativo está entre parênteses. |
\ |
Trata o próximo caractere como um valor literal, e não como um 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 entre aspas como um literal. |
@ |
Se a célula tiver entrada de texto, ela vai inserir o texto bruto. Não é compatível com nenhum dos outros caracteres especiais e não aparece para valores numéricos (que são mostrados como formato geral). |
$ - + ( ) : space |
O app Planilhas trata esses caracteres como literais e os mostra sem alterações. |
Metainstruções
Além disso, cada uma das seções de formato pode ter metainstruções opcionais,
entre caracteres []
, que precedem o formato e fornecem
instruções adicionais. Há dois tipos de metainstruções, e uma determinada seção pode usar os dois:
Instrução | Descrição |
---|---|
[condition] |
Substitui a comparação padrão positiva, negativa ou zero da seção por outra expressão condicional. Por exemplo, [<100]”Low”;[>1000]”High”;000 renderiza a palavra "Baixo" para valores abaixo de 100, "Alto" para valores acima de 1.000 e um número de três dígitos (com zeros à esquerda) para qualquer valor entre eles. As condições só podem ser aplicadas aos dois primeiros subformatos. Se um número corresponder a mais de um, será usado o primeiro que corresponder. 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 de 1 a 56. Esta paleta de cores mostra uma lista das cores que correspondem a cada número. As cores de formato de número substituem as cores inseridas pelo usuário na célula, mas não as 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 |