En este documento, se describe cómo definir nuevos patrones de formato de fecha y número, que puedes incluir en tu solicitud a la API.
Los formatos de fecha, hora y número te permiten controlar cómo aparecen tus datos en una hoja. Si bien Hojas de cálculo de Google proporciona algunos formatos comunes para elegir, también puedes definir tus propios formatos.
En la IU de Hojas de cálculo, puedes aplicar formatos de número y fecha a las celdas
con el menú Formato > Número. En la API de Google Sheets, estableces estos
formatos con una llamada de método
spreadsheets.batchUpdate
para enviar un
UpdateCellsRequest
o
RepeatCellRequest.
En la solicitud, configura el objeto NumberFormat especificando un NumberFormatType (como NUMBER, CURRENCY, PERCENT, DATE o TIME) y una cadena pattern opcional. Si omites pattern, Hojas de cálculo usa el patrón de formato predeterminado para el type especificado según la locale de la hoja de cálculo (por ejemplo, $1,000.12 para CURRENCY en en_US).
En el ejemplo Establece un formato personalizado de fecha y hora o decimal para un rango, se muestra cómo establecer un patrón de formato con la API de Sheets. Ten en cuenta que la renderización real
del formato depende de la
locale de la hoja de cálculo.
En este documento, se supone que el locale es en_US. Puedes determinar el locale de
una hoja de cálculo leyendo el objeto
SpreadsheetProperties
con el método
spreadsheets.get
en el recurso
spreadsheets.
Para ver más ejemplos, consulta Formato básico y Formato condicional.
Acerca de los valores de fecha y hora
Hojas de cálculo, como la mayoría de las otras aplicaciones de hojas de cálculo, trata los valores de fecha y hora como valores decimales. Esto te permite realizar operaciones aritméticas con ellos en fórmulas, de modo que puedas incrementar días o semanas, sumar o restar dos fechas y horas, y realizar otras operaciones similares.
Hojas de cálculo usa un formato de fecha
epoch que se usa de uso frecuente en
las hojas de cálculo. La parte del número entero del valor (a la izquierda del decimal) cuenta
los días desde el 30 de diciembre de 1899. La parte fraccionaria (a la derecha del decimal)
cuenta el tiempo como una fracción de un día. Por ejemplo, el 1 de enero de 1900 al mediodía
es 2.5, 2 porque es 2 días después del 30 de diciembre de 1899, y 0.5 porque
el mediodía es medio día. El 1 de febrero de 1900 a las 3 p.m. es 33.625.
Hojas de cálculo trata correctamente el año 1900 como un año común, no como un año bisiesto. Los números de serie de fecha y hora no almacenan un desplazamiento de zona horaria. En cambio,
se basan en el
timeZone
de la hoja de cálculo,
que puedes leer desde el objeto
SpreadsheetProperties
con el método
spreadsheets.get.
Patrones de formato de fecha y hora
Un patrón de formato de fecha y hora es una cadena de subcadenas de tokens que Hojas de cálculo reemplaza por los elementos de fecha y hora correspondientes (como el mes o la hora) cuando se analiza.
Tokens de formato de fecha y hora
En la siguiente tabla, se definen las subcadenas de token que puedes usar en un patrón de formato de fecha y hora. Un carácter + indica que el carácter anterior puede aparecer
una o más veces y, aun así, coincidir con el patrón. Hojas de cálculo trata
los caracteres que no se indican en esta tabla como literales y los muestra sin
cambios.
| Token | Descripción |
|---|---|
h |
Hora del día Cambia entre el formato de 12 y 24 horas según si hay un indicador de a.m. o p.m. en la cadena. |
hh+ |
Igual que el anterior, pero con un 0 inicial para los números del 1 al 9. |
m |
Si el token no literal anterior era horas o el siguiente es segundos, representa los minutos de la hora (sin un 0 inicial). De lo contrario, representa el mes del año como un número (sin un 0 inicial). |
M |
El mes del año sin un 0 inicial. Usa este token para indicar de forma explícita un mes, en lugar de un minuto, en tu patrón. |
mm |
Igual que m, pero con un 0 inicial en ambos casos. |
MM |
Es el mes del año con un 0 inicial. Usa este token para indicar de forma explícita un mes, en lugar de un minuto, en tu patrón. |
mmm |
Abreviatura de tres letras del mes (por ejemplo, "Feb"). |
mmmm |
Nombre completo del mes. mmmmmm+ también coincide con esto. |
mmmmm |
Es la primera letra del mes (por ejemplo, "J" para junio). |
s |
Segundos en el minuto sin un 0 inicial. |
ss |
Segundos en el minuto con un 0 inicial. |
[h+] |
Es la cantidad de horas transcurridas en un período. La cantidad de letras indica la cantidad mínima de dígitos (agrega ceros a la izquierda). |
[m+] |
Es la cantidad de minutos transcurridos en un período. La cantidad de letras indica la cantidad mínima de dígitos (agrega ceros a la izquierda). |
[s+] |
Es la cantidad de segundos transcurridos en una duración. La cantidad de letras indica la cantidad mínima de dígitos (agrega ceros a la izquierda). |
d |
Día del mes, sin un 0 a la izquierda para los números menores que 10. |
dd |
Día del mes, con un 0 a la izquierda para los números menores que 10. |
ddd |
Día de la semana, abreviatura de tres letras (por ejemplo, "lun"). |
dddd+ |
Día de la semana, nombre completo. |
y |
Año (2 dígitos). |
yy |
|
yyy |
Año (4 dígitos). |
yyyy+ |
|
a/p |
Muestra "a" para a.m. y "p" para p.m. También cambia las horas al formato de 12 horas. Si la letra del token está en mayúscula, el resultado también lo estará. |
am/pm |
Igual que el anterior, pero muestra "AM" o "PM" y siempre está en mayúsculas. |
0 |
Décimas de segundo. Puedes aumentar la precisión a dos dígitos con
00 o tres dígitos (milisegundos) con 000. |
\ |
Trata el siguiente carácter como un valor literal y no como cualquier significado especial que pueda tener. |
"text" |
Muestra el texto que está entre comillas como un literal. |
Ejemplos de formatos de fecha y hora
Dadas la fecha y la hora Tuesday, April 5, 2016, 4:08:53.528 PM, en la siguiente tabla, se muestran algunos patrones de ejemplo y su renderización de fecha y hora correspondiente. En la segunda sección de la tabla, se muestran ejemplos de formatos de tiempo transcurrido
para un tiempo transcurrido de 3 hours, 13 minutes, 41.255 seconds:
| Patrones de fecha y hora | Tuesday, April 5, 2016, 4:08:53.528 PM |
|---|---|
h:mm:ss.00 a/p |
4:08:53.53 p.m. |
hh:mm A/P".M." |
4:08 p.m. |
yyyy-mm-dd |
2016-04-05 |
mmmm d \[dddd\] |
5 de abril [martes] |
h PM, ddd mmm dd |
4 p.m., mar 5 de abr |
dddd, m/d/yy at h:mm |
Martes, 5/4/16 a las 16:08 |
| Patrones de tiempo transcurrido | 3 hours, 13 minutes, 41.255 seconds |
[hh] |
03 |
[mmmm] |
0193 |
[ss] |
11621 |
Patrones de formato de números
Un patrón de formato de número es una cadena de subcadenas de tokens que Hojas de cálculo reemplaza por las representaciones numéricas correspondientes cuando se analiza. Un patrón de formato de número puede constar de hasta cuatro secciones, separadas por punto y coma, que definen los formatos independientes que se usan para los números positivos, los números negativos, el cero y el texto (en ese orden):
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]
No es necesario que incluyas las cuatro secciones en un formato. Si solo incluyes una sección, Hojas de cálculo usará ese formato para todos los valores. Si usas dos secciones, se aplica el primer formato a los números cero y positivos, y el segundo formato a los números negativos. Si usas tres secciones, se definen formatos independientes para los números positivos, negativos y cero. Por ejemplo:
[NUMBER FORMAT] [POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT] [POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]
Sin embargo, si hay dos o más secciones y la última es un formato de texto, Hojas de cálculo trata esa sección como el formato de texto y las demás se comportan como si hubiera una sección menos. Por lo tanto, si incluyes un formato de texto final, es posible definir formatos como los siguientes:
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT];[TEXT FORMAT] [NUMBER FORMAT];[TEXT FORMAT]
El análisis de un formato en secciones se produce antes de otros análisis, por lo que es posible tener un formato de fecha o de hora incluido como una de las secciones (aunque esto tiene una utilidad limitada).
Tokens de formato de número
En la siguiente tabla, se definen las subcadenas de token que puedes usar en una sección de formato para definir cómo representar los valores de esa sección.
| Token | Descripción |
|---|---|
0 |
Representa un dígito en el número. Si el dígito es un 0 insignificante,
se renderiza como 0. Por ejemplo, el formato de número
00.0 renderiza el número 3 como "03.0". |
# |
Representa un dígito en el número. Si el dígito es un 0 insignificante,
no se renderiza. Por ejemplo, el formato de número ##0 renderiza el número 12 como "12". |
? |
Representa un dígito en el número. Si el dígito es un 0 insignificante, se renderiza como un espacio. Esto suele usarse para alinear el punto decimal en una columna cuando se usan fuentes de ancho fijo. Por ejemplo, el formato de número
???.??? renderiza el número 12.4 como
" 12.4 ". |
. |
El primer punto representa el punto decimal del número. Los períodos posteriores se renderizan como literales. Si incluyes un punto decimal en el
formato, siempre se renderiza, incluso para números enteros. Por ejemplo,
#0.# renderiza el número 3 como "3.". |
% |
Aparece como un literal, pero también hace que los números existentes se multipliquen por 100 antes de renderizarse para que los porcentajes sean más legibles. Por ejemplo, el formato de número #%
renderiza el número 0.25 como "25%". |
, |
Si aparece entre caracteres de dos dígitos (0,
# o ?), renderiza todo el número
con separadores de agrupación (agrupación por miles). Si sigue los caracteres de dígitos, escala los dígitos en mil por coma (por ejemplo, el formato #0.0,, renderiza el número 12,200,000 como 12.2). |
E- |
Renderiza el número en formato científico, con el formato a la izquierda de E que se usa para la parte que no es exponente y el formato a la derecha de la E que se usa para la parte del exponente. E+ muestra un signo + para los exponentes positivos. E- solo muestra un signo para los exponentes negativos. Si
se usan minúsculas, el resultado e también estará en minúsculas.
Por ejemplo, el formato de número ##0.00#E+##
renderiza el número 0.0000001 como "100.00E-9". |
E+ |
|
e- |
|
e+ |
|
/ |
Si aparece entre dos caracteres de dígitos (0, # o ?), trata esos grupos de dígitos como un formato fraccionario. Por ejemplo, el formato de número 0 #/# renderiza
el número 23.25 como 23 1/4. El denominador también puede ser un número entero literal, en cuyo caso se aplica ese número entero como denominador. El formato de número 0 #/8
muestra el número 23.25 como 23 2/8. La parte de la fracción no se renderiza si el numerador se convierte en 0. El número
23.1 con el formato de número 0 #/3 se renderiza como
23 (porque el 0.1 se redondea a 0/3). / no es
compatible con el formato científico ni con un formato que tenga un punto
decimal. |
* |
Se incluye para garantizar la compatibilidad con los formatos de números de Microsoft Excel. Hojas de cálculo ignora este token. |
_ |
Omite el siguiente carácter y renderiza un espacio. Usa este token para alinear los formatos de números en los que los paréntesis rodean el valor negativo. |
\ |
Trata el siguiente carácter como un valor literal y no como cualquier significado especial que pueda tener. Por ejemplo, el formato de número \#0
renderiza el número 10 como "#10". |
"text" |
Muestra el texto que está entre comillas como un literal. |
@ |
Si la celda tiene entrada de texto, se inserta el texto sin procesar para la celda. No es compatible con ninguno de los otros caracteres especiales y no se muestra para los valores numéricos (que se muestran como formato general). |
$ - + ( ) : space |
Hojas de cálculo trata estos caracteres y los símbolos de moneda comunes (como $, €, £ y ¥) como literales y los muestra sin cambios. |
Instrucciones de metadatos
Además, cada una de las secciones de formato puede tener metainstrucciones opcionales,
encerradas entre caracteres [], que preceden al formato y proporcionan instrucciones
adicionales:
| Instrucción | Descripción |
|---|---|
[condition] |
Reemplaza la comparación predeterminada positiva, negativa o cero de la
sección por otra expresión condicional. Por ejemplo,
[<100]"Low";[>1000]"High";000 renderiza la palabra
"Bajo" para valores inferiores a 100, "Alto" para valores superiores a 1000 y un número de tres dígitos (con ceros a la izquierda) para cualquier valor intermedio. Solo puedes aplicar
condiciones a los primeros dos subformatos y, si un número coincide con más de
uno, Hojas de cálculo usa la primera coincidencia. Si hay un tercer formato, Hojas de cálculo lo usa para "todo lo demás"; de lo contrario, si un número no coincide con ninguno de los formatos, Hojas de cálculo renderiza todos los caracteres "#" en todo el ancho de la celda. Si existe, el
cuarto formato siempre se usa para el texto. |
[Color] or [Color#] |
Hace que cualquier valor que renderice este subformato aparezca con el color de texto especificado. Los valores válidos para Color son Black,
Blue, Cyan, Green, Magenta, Red, White o Yellow.
Los valores válidos para el "#" en Color# van del 1 al 56. Los colores del formato de número anulan los colores que ingresa el usuario en la celda, pero no los colores que se establecen con el formato condicional. Esta
paleta de colores
muestra una lista de colores que corresponden a cada número. Se basan en la propiedad ColorIndex de Microsoft Excel. |
[$currency] |
Muestra el símbolo o código de moneda especificado como un literal (por ejemplo, [$€]#,##0.00 o [$CAD]#,##0.00). Si incluyes un código de configuración regional opcional después de un guion (como [$CAD-1009]), Hojas de cálculo ignora el código de configuración regional. |
Ejemplos de formatos de números
En la siguiente tabla, se muestran algunos ejemplos de patrones y su correspondiente renderización de números con formato:
| Número | Patrón | Valor con formato |
|---|---|---|
| 12345.125 | ####.# |
12345.1 |
| 12.34 | 000.0000 |
012.3400 |
| 12 | #.0# |
12.0 |
| 5.125 | # ???/??? |
5 1/8 |
| 12000 | #,### |
12,000 |
| 1234.56 -1234.56 |
$#,##0.00;($#,##0.00) |
$1,234.56 ($1,234.56) |
| 1230000 | 0.0,,"M" |
1.2 M |
| 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 |
ALTO BAJO 0527 |