Форматы даты, времени и чисел позволяют управлять отображением данных в таблице. Google Таблицы предоставляют на выбор несколько распространённых форматов, но вы также можете определить свои собственные.
В пользовательском интерфейсе Таблиц форматы чисел и дат применяются к ячейкам через меню «Формат» > «Число» . В API Таблиц эти форматы задаются с помощью вызова метода spreadsheets.batchUpdate
для отправки запроса UpdateCellsRequest
или RepeatCellRequest
.
На этой странице описывается, как определить новые шаблоны форматов дат и чисел, которые можно включить в запрос API. В примере «Задать пользовательский формат даты и времени или десятичный формат для диапазона» показано, как задать шаблон формата с помощью API. Обратите внимание, что фактическое отображение формата зависит от locale
электронной таблицы. В данном руководстве предполагается, что locale
— en_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 |