Дата и усилитель; числовые форматы

Форматы даты, времени и чисел позволяют управлять отображением данных в таблице. Google Таблицы предоставляют на выбор несколько распространённых форматов, но вы также можете определить свои собственные.

В пользовательском интерфейсе Таблиц форматы чисел и дат применяются к ячейкам через меню «Формат» > «Число» . В API Таблиц эти форматы задаются с помощью вызова метода spreadsheets.batchUpdate для отправки запроса UpdateCellsRequest или RepeatCellRequest .

На этой странице описывается, как определить новые шаблоны форматов дат и чисел, которые можно включить в запрос API. В примере «Задать пользовательский формат даты и времени или десятичный формат для диапазона» показано, как задать шаблон формата с помощью API. Обратите внимание, что фактическое отображение формата зависит от locale электронной таблицы. В данном руководстве предполагается, что localeen_US . Вы можете определить locale электронной таблицы, прочитав SpreadsheetProperties с помощью запроса spreadsheets.get .

О значениях даты и времени

Таблицы, как и большинство других приложений для работы с электронными таблицами, обрабатывают значения даты и времени как десятичные числа. Это позволяет выполнять с ними арифметические действия в формулах, например, увеличивать дни или недели, складывать или вычитать две даты и времени, а также выполнять другие подобные операции.

В Google Таблицах используется форма записи даты эпохи , которая обычно применяется в электронных таблицах. Целая часть значения (слева от десятичной запятой) определяет количество дней, прошедших с 30 декабря 1899 года. Дробная часть (справа от десятичной запятой) определяет время как часть суток. Например, полдень 1 января 1900 года равен 2.5 : 2 , потому что это через 2 дня после 30 декабря 1899 года, и 0.5 потому что полдень — это половина суток. 1 февраля 1900 года в 15:00 равен 33.625 .

Шитс правильно считает 1900 год обычным, а не високосным.

Шаблоны форматов даты и времени

Шаблон формата даты и времени представляет собой строку подстрок токенов, которые при анализе заменяются соответствующими элементами даты и времени (например, месяцем или часом).

Токены формата даты и времени

В следующей таблице определены подстроки токенов, которые можно использовать в шаблоне формата даты и времени. Символ « + указывает на то, что предыдущий символ может встречаться один или несколько раз и при этом соответствовать шаблону. Символы, не перечисленные в таблице ниже, рассматриваются как литералы и выводятся без изменений.

Токен Описание
h Время суток. Переключается между 12- и 24-часовым форматом в зависимости от наличия в строке индикатора AM или PM.
hh+ То же, что и предыдущее, но с ведущим 0 для чисел от 1 до 9.
m Если предыдущий нелитеральный токен был часами, а последующий — секундами, он представляет минуты в часе (без начального нуля). В противном случае он представляет месяц года в виде числа (без начального нуля).
M Месяц года без начального 0. Используйте этот токен, чтобы явно указать месяц вместо минут в вашем шаблоне.
mm То же, что и m , но с ведущим 0 в обоих случаях.
MM Месяц года с ведущим 0. Используйте этот токен, чтобы явно указать месяц, а не минуту, в вашем шаблоне.
mmm Трехбуквенное сокращение названия месяца (например, «Фев»).
mmmm Полное название месяца. mmmmmm+ также соответствует этому.
mmmmm Первая буква месяца (например, «J» для июня).
s Секунды в минуте без начального 0.
ss Секунды в минуте с ведущим 0.
[h+] Количество прошедших часов в заданном промежутке времени. Количество букв указывает минимальное количество цифр (с добавлением начальных нулей).
[m+] Количество минут, прошедших в заданном промежутке времени. Количество букв указывает минимальное количество цифр (с добавлением начальных нулей).
[s+] Количество секунд, прошедших в заданном промежутке времени. Количество букв указывает минимальное количество цифр (с добавлением начальных нулей).
d День месяца без начального 0 для чисел меньше 10.
dd День месяца, с ведущим 0 для чисел меньше 10.
ddd День недели, трёхбуквенное сокращение (например, «Пн»).
dddd+ День недели, полное название.
y Двузначный год.
yy
yyy 4-значный год.
yyyy+
a/p Отображает «a» для AM и «p» для PM. Также переводит часы в 12-часовой формат. Если токен заглавный, вывод тоже будет заглавным.
am/pm Как указано выше, но вместо этого отображается «AM» или «PM» и всегда с заглавной буквы.
0 Десятые доли секунды. Вы можете увеличить точность до двух цифр с помощью 00 или до трёх цифр (миллисекунд) с помощью 000 .
\ Рассматривает следующий символ как буквальное значение, а не как какое-либо специальное значение, которое он может иметь.
"text" Отображает текст внутри кавычек как литерал.

Примеры формата даты и времени

Учитывая дату и время Tuesday, April 5, 2016, 4:08:53.528 PM , в следующей таблице представлены примеры шаблонов и их соответствующее отображение даты и времени. Во втором разделе таблицы приведены примеры форматов прошедшего времени для прошедшего времени 3 hours, 13 minutes, 41.255 seconds :

Шаблоны даты и времени 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." 16:08
yyyy-mm-dd 2016-04-05
mmmm d \[dddd\] 5 апреля [вторник]
h PM, ddd mmm dd 16:00, Вт, 5 апр.
dddd, m/d/yy at h:mm Вторник, 4/5/16 в 16:08
Модели прошедшего времени 3 hours, 13 minutes, 41.255 seconds
[hh]:[mm]:[ss].000 03:13:41.255
[mmmm]:[ss].000 0193:41.255

Шаблоны числовых форматов

Шаблон числового формата — это строка токенов, которые при анализе заменяются соответствующими представлениями чисел. Шаблон числового формата может состоять из четырёх разделов, разделённых точкой с запятой, которые определяют отдельные форматы, используемые для положительных чисел, отрицательных чисел, нуля и текста (в указанном порядке):

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

Необязательно включать все четыре раздела в формат. Если вы включите только один раздел, он будет использоваться для всех значений. Использование двух разделов приводит к применению первого формата к нулю и положительным числам, а второго — к отрицательным. Использование трёх разделов определяет отдельные форматы для положительных, отрицательных и нулевых чисел. Например:

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

Однако, если имеется два или более разделов, и последний раздел имеет текстовый формат, этот раздел обрабатывается как текстовый формат, а остальные ведут себя так, как будто разделов на один меньше. Таким образом, включая последний текстовый формат, можно определить такие форматы, как:

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

Разбор формата на разделы происходит до другого разбора, поэтому можно включить формат даты или времени в качестве одного из разделов (хотя это имеет ограниченную полезность).

Токены числового формата

В следующей таблице определены подстроки токенов, которые можно использовать в разделе формата, чтобы определить, как представлять значения для этого раздела.

Токен Описание
0 Представляет цифру в числе. Если цифра — незначащий 0, она отображается как 0. Например, числовой формат 00.0 отображает число 3 как « 03.0 ».
# Представляет цифру в числе. Если цифра — незначащий 0, она не отображается. Например, числовой формат ##0 отображает число 12 как « 12 ».
? Представляет цифру в числе. Если цифра — незначащий 0, она отображается как пробел. Это часто используется для выравнивания десятичной точки в столбце при использовании шрифтов с фиксированной шириной. Например, числовой формат ???.??? отображает число 12,4 как: « 12.4 ».
. Первая точка представляет собой десятичную точку в числе. Последующие точки отображаются как литералы. Если в формат включена десятичная точка, она отображается всегда, даже для целых чисел. Например, #0.# отображает число 3 как « 3. ».
% Отображается как литерал, но также приводит к тому, что существующие числа умножаются на 100 перед отображением, чтобы сделать проценты более читабельными. Например, числовой формат #% отображает число 0,25 как « 25% ».
, Если он стоит между двузначными символами ( 0 , # или ? ), он отображает всё число с разделителями групп (группировка по тысячам). Если он следует за цифрами, он масштабирует цифры на тысячу с каждой запятой (например, формат #0.0,, отображает число 12 200 000 как 12.2 ).
E- Отображает число в научном формате, при этом форматирование слева от E используется для неэкспоненциальной части, а форматирование справа от E — для экспоненциальной части. E+ отображает знак + для положительных показателей степени. E- отображает знак «+» только для отрицательных показателей степени. Если используются строчные буквы, то и выводимое значение e также будет строчным. Например, числовой формат ##0.00#E+## отображает число 0.0000001 как « 100.00E-9 ».
E+
e-
e+
/ Если он появляется между двузначными символами ( 0 , # или ? ), он обрабатывает эти группы цифр как дробный формат. Например, числовой формат 0 #/# отображает число 23,25 как 23 1/4 . Знаменатель также может быть целым числом, в этом случае он принудительно использует это целое число в качестве знаменателя. Числовой формат 0 #/8 отображает число 23,25 как 23 2/8 . Дробная часть не отображается, если числитель становится 0. Число 23,1 с числовым форматом 0 #/3 отображается просто как 23 (потому что 0,1 округляется до 0/3). / несовместим с научным форматом или форматом с десятичной точкой.
* Это добавлено для совместимости с числовыми форматами Microsoft Excel. В настоящее время игнорируется.
_ Символ подчеркивания пропускает следующий символ и отображает пробел. Это используется для выравнивания числовых форматов, где отрицательное значение заключено в скобки.
\ Рассматривает следующий символ как буквальное значение, а не как какое-либо специальное значение, которое он может иметь. Например, числовой формат \#0 отображает число 10 как " #10 ".
"text" Отображает текст внутри кавычек как литерал.
@ Если в ячейке есть текстовое поле, вставляется исходный текст. Несовместимо с другими специальными символами и не отображается для числовых значений (которые отображаются в общем формате).
$ - + ( ) : space Таблицы обрабатывают эти символы как литералы и отображают их без изменений.

Мета-инструкции

Кроме того, каждый раздел формата может содержать необязательные метаинструкции, заключённые в символы [] , которые предшествуют формату и содержат дополнительные инструкции. Существует два типа метаинструкций, и данный раздел может использовать оба:

Инструкция Описание
[ condition ] Заменяет положительное, отрицательное или нулевое сравнение раздела по умолчанию другим условным выражением. Например, [<100]”Low”;[>1000]”High”;000 отображает слово "Низкое" для значений меньше 100, "Высокое" для значений больше 1000 и трёхзначное число (с ведущими нулями) для всех значений между ними. Условия можно применять только к первым двум подформатам, и если число соответствует более чем одному подформату, используется первый подходящий. Если есть третий формат, он используется для "всех остальных", в противном случае, если число не соответствует ни одному из форматов, оно отображается как все символы "#", заполняющие всю ширину ячейки. Если он существует, для текста всегда используется четвёртый формат.
[ Color ] or [ Color# ] Отображает любое значение, отображаемое этим подформатом, заданным цветом текста. Допустимые значения для Color «Цвет»: чёрный, синий, голубой, зелёный, пурпурный, красный, белый или жёлтый. Допустимые значения для символа «#» в Color# : от 1 до 56 (эта цветовая палитра содержит список цветов, соответствующих каждому числу). Цвета числового формата переопределяют любые цвета, введённые пользователем в ячейку, но не переопределяют цвета, заданные условным форматированием.

Примеры числовых форматов

В следующей таблице показаны некоторые примеры шаблонов и соответствующее им форматированное отображение чисел:

Число Шаблон Форматированное значение
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 млн
1234500000 0.00e+00 1.23e+09
123114.15115
МойТекст
###0.000;"TEXT: "_(@_) 123114.151
ТЕКСТ: MyText
1234
-1234
0
МойТекст
[Blue]#,##0;[Red]#,##0;[Green]0.0;[Magenta]_(@_) 1,234
1,234
0.0
МойТекст
1005
32
527
[>1000]"HIGH";[Color43][<=200]"LOW";0000 ВЫСОКИЙ
НИЗКИЙ
0527