Строка формата FORMAT_STRING (многомерные выражения)
Свойство ячейки FORMAT_STRING используется для форматирования свойства ячейки VALUE, в результате образуется значение свойства ячейки FORMATTED_VALUE. В свойстве ячейки FORMAT_STRING допускаются как строковые, так и числовые исходные значения. Выражение формата применяется к значению, образуя отформатированное значение свойства ячейки FORMATTED_VALUE. В следующих таблицах подробно описан синтаксис и символы форматирования, используемые для обработки строковых и числовых значений.
Строковые значения
Выражение форматирования строк может состоять из одного или двух разделов, отделенных точкой с запятой (;).
Количество разделов | Результат |
---|---|
Один раздел |
Формат распространяется на все строковые значения. |
Два раздела |
Первый раздел распространяется на строковые данные, а второй — на значения NULL и строки нулевой длины (""). |
В строке форматирования текстовых строк могут использоваться следующие символы.
Символ | Описание |
---|---|
@ |
Текстовый заполнитель: любой символ или пробел. Если в строке в той же позиции, что и знак (@) в строке формата, находится символ, в отформатированной строке будет отображаться этот символ. В противном случае в отформатированной строке на этом месте будет пробел. Заполнители заполняются справа налево, если в строке формата нет восклицательного знака (!). |
& |
Текстовый заполнитель: любой символ или пустое место. Если в строке в той же позиции, что и знак амперсанда (&) в строке формата, находится символ, в отформатированной строке будет отображаться этот символ. В противном случае в отформатированной строке на этом месте не будет ничего. Заполнители заполняются справа налево, если в строке формата нет восклицательного знака (!). |
< |
Принудительный перевод в нижний регистр. В отформатированной строке все символы будут в нижнем регистре. |
> |
Принудительный перевод в верхний регистр. В отформатированной строке все символы будут в верхнем регистре. |
! |
Принудительное заполнение заполнителей слева направо (по умолчанию — справа налево). |
Числовые значения
Пользовательское выражение форматирования чисел может включать в себя от одного до четырех разделов, разделенных точками с запятой. Если аргумент формата содержит один из именованных числовых форматов, допускается использование только одного раздела.
Количество разделов | Результат |
---|---|
Один раздел |
Формат распространяется на все значения. |
Два раздела |
Первый раздел распространяется на неотрицательные значения, а второй — на отрицательные. |
Три раздела |
Первый раздел распространяется на положительные значения, второй — на отрицательные, третий — на нулевые. |
Четыре раздела |
Первый раздел распространяется на положительные значения, второй — на отрицательные, третий — на нулевые, четвертый — на значения NULL. |
В следующем примере имеется два раздела. В первом разделе определяется формат неотрицательных значений, во втором — отрицательных.
"$#,##0;($#,##0)"
Если в выражении формата встречаются точки с запятыми, между которыми ничего нет, пропущенный раздел выводится в формате положительного значения. Например, в следующем выражении формата положительные и отрицательные значения форматируются в первом разделе, а для нулевых значений выводится «Ноль».
"$#,##0;;\Z\e\r\o"
В строке форматирования числовых значений могут использоваться следующие символы.
Символ
Описание
Нет
Вывод числа без форматирования.
0
Цифровой заполнитель: цифра или ноль (0).
Если в числе в той же позиции, что и ноль в строке формата, находится цифра, в отформатированной строке будет отображаться эта цифра. В противном случае в отформатированном числе на этом месте будет ноль.
Если число имеет меньше разрядов, чем нулей в строке формата (с обеих сторон от десятичного разделителя), отформатированное число выводится с начальными либо конечными нулями.
Если число имеет больше разрядов справа от десятичного разделителя, чем нулей справа от десятичного разделителя в строке формата, отформатированное значение округляется до стольких знаков после запятой, сколько нулей в строке формата.
Если число имеет больше цифр слева от десятичного разделителя, чем нулей слева от десятичного разделителя в строке формата, в отформатированном значении дополнительные разряды выводятся без изменений.
#
Цифровой заполнитель: цифра или пустое место.
Если в числе в той же позиции, что и «решетка» (#) в строке формата, находится цифра, в отформатированной строке будет отображаться эта цифра. В противном случае в отформатированном числе на этом месте не будет ничего.
Заполнитель «решетка» (#) аналогичен цифровому заполнителю «ноль» (0) с той разницей, что начальные и конечные нули не отображаются в случае, если число содержит столько же или меньше разрядов, чем «решеток» # с обеих сторон от десятичного разделителя в строке формата.
.
Десятичный заполнитель, определяющий, сколько разрядов отображается слева и справа от десятичного разделителя.
Если выражение формата содержит «решетки» (#) только слева от точки (.), числа меньше 1 начинаются с десятичного разделителя. Чтобы в этом случае в дробных числах отображался начальный ноль, в качестве первого цифрового заполнителя слева от десятичного разделителя укажите ноль (0) в строке формата.
Фактический символ, используемый в качестве десятичного заполнителя в отформатированном значении, зависит от числового формата, распознаваемого системой.
Примечание.
В некоторых языковых и региональных стандартах в качестве десятичного разделителя используется запятая.
%
Процентный заполнитель. Выражение умножается на 100. Символ процента (%) вставляется там, где в отформатированной строке будет выводиться процентное значение.
,
Разделитель групп разрядов, отделяющий тысячи от сотен в числе с четырьмя или более разрядами слева от десятичного разделителя.
При стандартном использовании разделителя групп разрядов он заключается в цифровые заполнители (0 или #).
Два идущих подряд разделителя групп разрядов или разделитель непосредственно слева от десятичного разделителя (задан он или нет) означают масштабирование числа путем деления его на 1 000 и округления при необходимости. Например, строка формата «**##0**,,» используется для представления 100 миллионов как 100. Числа меньше миллиона отображаются как 0. Два идущих подряд разделителя групп разрядов в любой позиции, кроме позиции непосредственно слева от десятичного разделителя, интерпретируются просто как разделители групп разрядов.
Фактический символ, используемый в качестве разделителя групп разрядов в отформатированном значении, зависит от числового формата, распознаваемого системой.
Примечание.
В некоторых языковых и региональных стандартах в качестве разделителя групп разрядов используется точка.
:
Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени.
Примечание.
В некоторых языковых и региональных стандартах в качестве разделителя времени могут использоваться другие символы.
Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы.
/
Разделитель дат, разделяющий день, месяц и год при форматировании значений данных.
Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы.
Примечание.
В некоторых языковых и региональных стандартах в качестве разделителя дат могут использоваться другие символы.
E- E+ e- e+
Экспоненциальный формат.
Если выражение формата содержит минимум один цифровой заполнитель (0 или #) справа от символов E-, E+, e- или e+, отформатированное значение отображается в экспоненциальном формате, а между числом и его показателем степени вставляется символ «E» или «e». Количество цифровых заполнителей справа определяет количество разрядов в показатели степени. Для вывода отрицательных показателей степени со знаком «минус» используются заполнители E- и e-. Для вывода отрицательных показателей степени со знаком «минус» и положительных со знаком «плюс» используются заполнители E+ и e+.
- + $ ( )
Буквенный символ.
Чтобы вывести символ, которого нет в списке, укажите перед ним обратную косую черту (\) либо заключите его в двойные кавычки (" ").
\
Следующий символ в строке формата.
Чтобы вывести специальный символ в качестве обычного буквенного символа, укажите перед ним обратную косую черту (\). Сама обратная косая черта не отображается. Использование обратной косой черты аналогично заключению выводимого символа в двойные кавычки. Чтобы вывести саму обратную косую черту, укажите две черты подряд (\\). К символам, которые не выводятся в буквенном виде, относятся следующие.
- Символы форматирования дат и времени: a, c, d, h, m, n, p, q, s, t, w, y, /, :
- Символы форматирования чисел: #, 0, %, E, e, запятая и точка
- Символы форматирования строк: @, &, <, >, !
"ABC"
Вывод строки, заключенной в двойные кавычки (" ").
Для добавления строки в выражение формата в тексте программы используется функция Chr(34), заключающая текст в кавычки (34 — код символа двойной кавычки).
Значения даты
В строке форматирования значений даты и времени могут использоваться следующие символы.
Символ
Описание
:
Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени.
Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы.
Примечание.
В некоторых языковых и региональных стандартах в качестве разделителя времени могут использоваться другие символы.
/
Разделитель дат, разделяющий день, месяц и год при форматировании значений данных.
Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы.
Примечание.
В некоторых языковых и региональных стандартах в качестве разделителя дат могут использоваться другие символы.
C
Вывод даты в формате ддддд и времени в формате ввввв именно в этом порядке.
Если в числе даты нет дробной части, выводятся только сведения о дате. Если в числе даты нет целой части, выводятся только сведения о времени.
d
Вывод числа месяца без начального нуля (1–31).
dd
Вывод числа месяца с начальным нулем (01–31).
ddd
Вывод сокращенного названия дня недели (Пон — Вос).
dddd
Вывод дня недели полностью (Понедельник — Воскресенье).
ddddd
Вывод полной даты (включая день, месяц и год), отформатированной в соответствии с системным сокращенным форматом даты.
В Microsoft Windows по умолчанию используется следующий сокращенный формат даты: д/м/гг.
dddddd
Вывод числа даты в виде полной даты (включая день, месяц и год), отформатированной в соответствии с системным форматом полной даты.
В Microsoft Windows по умолчанию используется следующий формат полной даты: дд мммм, гггг.
w
Вывод номера дня недели (от 1 — понедельник, до 7 — воскресенье).
ww
Вывод номера недели года (1 — 54).
m
Вывод номера месяца без начального нуля (1-12).
Если m следует сразу за h или hh, выводятся минуты, а не месяц.
mm
Вывод номера месяца с начальным нулем (01–12).
Если m следует сразу за h или hh, выводятся минуты, а не месяц.
mmm
Вывод сокращенного названия месяца (Янв — Дек).
mmmm
Вывод полного названия месяца (Январь — Декабрь).
q
Вывод номера квартала в году (1-4).
y
Вывод номера дня в году (1-366).
yy
Вывод двух последних цифр в номере года (00-99).
yyyy
Вывод всех цифр года (100-9999).
h
Вывод часа без начального нуля (0-23).
hh
Вывод часа с начальным нулем (00-23).
n
Вывод минуты без начального нуля (0-59).
nn
Вывод минуты с начальным нулем (00-59).
s
Вывод секунды без начального нуля (0-59).
ss
Вывод секунды с начальным нулем (00-59).
t t t t t
Вывод полного времени (включая час, минуту и секунду), отформатированного с помощью разделителя времени, который определен системным форматом времени.
Если выбран соответствующий параметр, отображаются начальные нули при выводе времени до 10:00 как до полудня, так и после (например, 09:59).
В Microsoft Windows по умолчанию используется следующий формат времени: ч:мм:сс.
AM/PM
Вывод заглавных букв AM при выводе времени с полуночи до полудня и PM при выводе времени с полудня до полуночи.
Примечание.
В этом случае используется 12-часовой формат времени.
am/pm
Вывод строчных букв am при выводе времени с полуночи до полудня и pm при выводе времени с полудня до полуночи.
Примечание.
В этом случае используется 12-часовой формат времени.
A/P
Вывод заглавных букв A при выводе времени с полуночи до полудня и P при выводе времени с полудня до полуночи.
Примечание.
В этом случае используется 12-часовой формат времени.
a/p
Вывод строчных букв a при выводе времени с полуночи до полудня и p при выводе времени с полудня до полуночи.
Примечание.
В этом случае используется 12-часовой формат времени.
AMPM
Вывод строкового литерала, определенного в системе для вывода времени до полудня, при выводе времени с полуночи до полудня, и строкового литерала, определенного в системе для вывода времени после полудня, при выводе времени с полудня до полуночи.
Примечание.
В этом случае используется 12-часовой формат времени.
Литералы времени AMPM могут указываться как в верхнем, так и в нижнем регистре, однако регистр при выводе строки выбирается в соответствии с системными настройками компьютера.
В Microsoft Windows по умолчанию используется формат AM/PM.
См. также
Основные понятия
Свойства ячеек (многомерные выражения)