Строка формата 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+. |
- + $ ( ) |
Буквенный символ. Чтобы вывести символ, которого нет в списке, укажите перед ним обратную косую черту (\) либо заключите его в двойные кавычки (" "). |
\ |
Следующий символ в строке формата. Чтобы вывести специальный символ в качестве обычного буквенного символа, укажите перед ним обратную косую черту (\). Сама обратная косая черта не отображается. Использование обратной косой черты аналогично заключению выводимого символа в двойные кавычки. Чтобы вывести саму обратную косую черту, укажите две черты подряд (\\). К символам, которые не выводятся в буквенном виде, относятся следующие:
|
"ABC" |
Вывод строки, заключенной в двойные кавычки (" "). Для добавления строки в выражение формата в тексте программы используется функция Chr(34), заключающая текст в кавычки (34 — код символа двойной кавычки). |
Именованные числовые форматы
В следующей таблице указаны стандартные имена числовых форматов:
Имя формата |
Описание |
---|---|
General Number |
Отображает число без разделителя групп разрядов. |
Currency |
Отображает число с разделителем групп разрядов, при необходимости. Отображает две цифры справа от десятичного разделителя. Вывод основан на настройках языка системы. |
Fixed |
Отображает по крайней мере одну цифру слева и две цифры справа от десятичного разделителя. |
Standard |
Отображает число с разделителем групп разрядов, по крайней мере одну цифру слева и две цифра справа от десятичного разделителя. |
Percent |
Отображает число, умноженное на 100 с символов процента (%), добавляемым справа. Всегда отображает две цифры справа от десятичного разделителя. |
Scientific |
Использует стандартное экспоненциальное представление. |
Yes/No |
Отображает «Нет», если это число равно 0; иначе — «Да». |
True/False |
Отображает «False», если это число равно 0; иначе — «True». |
On/Off |
Отображает «Выкл», если это число равно 0; иначе — «Вкл». |
Значения даты
В строке форматирования значений даты и времени могут использоваться следующие символы.
Символ |
Описание |
---|---|
: |
Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени. Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы.
Примечание
В некоторых языковых и региональных стандартах в качестве разделителя времени могут использоваться другие символы.
|
/ |
Разделитель дат, разделяющий день, месяц и год при форматировании значений данных. Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы.
Примечание
В некоторых языковых и региональных стандартах в качестве разделителя дат могут использоваться другие символы.
|
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. |
Именованные форматы даты
В следующей таблице указаны стандартные имена форматов даты и времени:
Имя формата |
Описание |
---|---|
General Date |
Отображает дату и/или время. Для действительных чисел отображает дату и время, например 03.04.1993, 17:34. Если дробной части нет, отображается только дата, например, 03.04.1993. Если нет целой части, отображается только время, например, 17:34. Формат отображения данных определяется настройками системы. |
Long Date |
Отображает данные в соответствии с полным форматом даты системы. |
Medium Date |
Отображает дату с использованием среднего формата даты, приемлемого для языковой версии ведущего приложения. |
Short Date |
Отображает дату с использованием краткого формата даты системы. |
Long Time |
Отображает время с использованием полного формата времени системы; включает часы, минуты и секунды. |
Medium Time |
Отображает время в 12-часовом формате с использованием часов и минут, и указателе AM/PM. |
Short Time |
Отображает время с использованием 24-часового формата, например, 17:45. |
См. также