Функция ТЕКСТ: различия между версиями
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
(не показаны 24 промежуточные версии 3 участников) | |||
Строка 5: | Строка 5: | ||
|description=Функция ТЕКСТ | |description=Функция ТЕКСТ | ||
}} | }} | ||
С помощью функции ТЕКСТ() можно изменить представление числа, применив | С помощью функции ТЕКСТ() можно изменить представление числа или даты, применив форматирование. | ||
== '''Форматирование чисел''' == | |||
== Форматирование чисел == | |||
Функция ТЕКСТ() форматирует число в соответствии с заданным форматом. Например, если в столбце A находится число 23,7825 и его необходимо отформатировать до трех знаков после запятой: | Функция ТЕКСТ() форматирует число в соответствии с заданным форматом. Например, если в столбце A находится число 23,7825 и его необходимо отформатировать до трех знаков после запятой: | ||
ТЕКСТ(A;".3f") | ТЕКСТ(A;".3f") | ||
В результате получается строка "23, | В результате получается строка "23,783". | ||
Строка 25: | Строка 24: | ||
'''Строка формата:''' | '''Строка формата:''' | ||
Строка формата | Строка формата имеет вид [flags][width][.precision]conversion | ||
* [flags] — специальные символы для форматирования. Например, флаг "+" означает, что числовое значение должно включать знак +, флаг "-" означает выравнивание результата по левому краю, флаг «,» устанавливает разделитель тысяч у целых чисел. Не является обязательной частью инструкции. | * [flags] — специальные символы для форматирования. Например, флаг "+" означает, что числовое значение должно включать знак +, флаг "-" означает выравнивание результата по левому краю, флаг «,» устанавливает разделитель тысяч у целых чисел. Не является обязательной частью инструкции. | ||
* [width] — положительное целое десятичное число, которое определяет минимальное количество символов, которые будут выведены. Не является обязательной частью инструкции. | * [width] — положительное целое десятичное число, которое определяет минимальное количество символов, которые будут выведены. Не является обязательной частью инструкции. | ||
* [.precision] — | * [.precision] — неотрицательное целое десятичное число с точкой перед ним. Обычно используется для ограничения количества символов. Не является обязательной частью инструкции. | ||
* conversion — это символ, указывающий, как число должно быть | * conversion — это символ, указывающий, как число должно быть отформатировано. Допускается d для целых чисел, f для чисел с плавающей точкой. Является обязательной частью инструкции. | ||
Например, в поле типа '''Число''' записано число 12.34: | Например, в поле типа '''Число''' записано число 12.34: | ||
*ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;"d") - результат 12 | *ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;"d") - результат 12 | ||
*ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;"05d") - результат 00012 | *ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;"05d") - результат 00012 | ||
*ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;" | *ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;"08.3f") - результат 0012.340 | ||
*ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;".4f") - результат 12.3400 | *ТЕКСТ(<nowiki>{{Задача.Поле типа число}}</nowiki>;".4f") - результат 12.3400 | ||
Строка 47: | Строка 46: | ||
== Форматирование дат == | == '''Форматирование дат''' == | ||
Таблица с формулами для форматирования дат. Рассмотрен пример форматирования даты: 12.10.2016. | |||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
Строка 73: | Строка 74: | ||
|ТЕКСТ(A;"MMM") | |ТЕКСТ(A;"MMM") | ||
|окт | |окт | ||
|- | |||
|Месяцы | |||
|Январь-Декабрь | |||
|"MMМM" | |||
|ТЕКСТ(A;"MMMМ") | |||
|Октябрь | |||
|- | |||
|Месяцы | |||
|Я-Д | |||
|"MMМMM" | |||
|ТЕКСТ(A;"MMMМM") | |||
|О | |||
|- | |||
|Дни | |||
|1-31 | |||
|"D" | |||
|ТЕКСТ(A;"D") | |||
|12 | |||
|- | |||
|Дни | |||
|01-31 | |||
|"DD" | |||
|ТЕКСТ(A;"DD") | |||
|12 | |||
|- | |||
|Дни | |||
|Пн-Вс | |||
|"DDD" | |||
|ТЕКСТ(A;"DDD") | |||
|Ср | |||
|- | |||
|Дни | |||
|понедельник-воскресенье | |||
|"DDDD" | |||
|ТЕКСТ(A;"DDDD") | |||
|среда | |||
|- | |||
|Годы | |||
|00-99 | |||
|"YY" | |||
|ТЕКСТ(A;"YY") | |||
|16 | |||
|- | |||
|Годы | |||
|1900-9999 | |||
|"YYYY" | |||
|ТЕКСТ(A;"YYYY") | |||
|2016 | |||
|} | |||
Для того, чтобы функция просклоняла месяц в родительном падеже, используйте следующий синтаксис: | |||
ТЕКСТ(Число; "[$-FCxx]Формат даты") | |||
где: | |||
xx — это язык: | |||
:*19 — русский | |||
:*22 — украинский | |||
Пример: | |||
<nowiki>ТЕКСТ({{Системные.Сегодня}}; "[$-FC19]DD MMMM YYYY")</nowiki> | |||
Результат: | |||
14 июня 2022 | |||
== '''Форматирование значения времени''' == | |||
Таблица с формулами для форматирования значения времени. Рассмотрен пример форматирования времени: 14:22:44. | |||
{| class="wikitable" style="text-align: center;" | |||
|'''Что отобразить''' | |||
|'''Как''' | |||
|'''Формат''' | |||
|'''Формула''' | |||
|'''Результат''' | |||
|- | |||
|Часы | |||
|0-23 | |||
|"H" | |||
|ТЕКСТ(A;"H") | |||
|14 | |||
|- | |||
|Часы | |||
|00-23 | |||
|"HH" | |||
|ТЕКСТ(A;"HH") | |||
|14 | |||
|- | |||
|Минуты | |||
|0-59 | |||
|"m" | |||
|ТЕКСТ(A;"m") | |||
|22 | |||
|- | |||
|Минуты | |||
|00-59 | |||
|"mm" | |||
|ТЕКСТ(A;"mm") | |||
|22 | |||
|- | |||
|Секунды | |||
|0-59 | |||
|"s" | |||
|ТЕКСТ(A;"s") | |||
|44 | |||
|- | |||
|Секунды | |||
|00-59 | |||
|"ss" | |||
|ТЕКСТ(A;"ss") | |||
|44 | |||
|- | |||
|Время | |||
|14:00 | |||
|"HH:00" | |||
|ТЕКСТ(A;"HH:00") | |||
|14:00 | |||
|- | |||
|Время | |||
|14:22 | |||
|"HH:mm" | |||
|ТЕКСТ(A;"HH:mm") | |||
|14:22 | |||
|- | |||
|Время | |||
|14:22:44 | |||
|"HH:mm:ss" | |||
|ТЕКСТ(A;"HH:mm:ss") | |||
|14:22:44 | |||
|- | |||
|Время | |||
|14:22:44,11 | |||
|"чч:мм:сс,00" | |||
|ТЕКСТ(A;"HH:mm:ss,00") | |||
|14:22:44,11 | |||
|- | |||
|Затраченное время (часов и минут) | |||
|1:02 | |||
|"[H]:mm" | |||
|ТЕКСТ(A;"[H]:mm") | |||
|1:02 | |||
|- | |||
|Затраченное время (минут и секунд) | |||
|62:16 | |||
|"[mm]:ss" | |||
|ТЕКСТ(A;"[mm]:ss") | |||
|62:16 | |||
|- | |||
|Затраченное время (секунд и сотых доль) | |||
|3735,80 | |||
|"[ss],00" | |||
|ТЕКСТ(A;"[ss],00") | |||
|3735,80 | |||
|} | |} | ||
== Важно == | |||
*Время и Дата разделяются пробелом обязательно. | |||
*Время разделяется знаком ":" и "," для миллисекунд 23:15:41,456. | |||
*Дата разделяется одним из символов "." "/" "-". | |||
*Если не указана дата, то вместо нее будет 01.01.1900. | |||
*Строка формата для дат довольно гибкая (вводим любую строку и в ней заменятся определенные символы на единицы времени). Специальные символы — D,M,Y,H,m,s — необходимо экранировать, чтобы отобразить как букву, а не время. | |||
*Можно выводить длительность в часах/минутах/секундах (если указана только дата, то выведется кол-во времени с 31.12.1899, то есть длительность в часах для 01.01.1900 = 24). | |||
*Год из двух цифр считается как год 21 века. | |||
*Если в строке формата нужен обратный слеш "\" , то его необходимо экранировать — "\\". Это особенно важно, если он в конце строки. | |||
*Если формат заканчивается на d/f и при этом нужна дата, необходимо экранировать d/f. Например, ТЕКСТ("12.05.2018"; "\Hello worl\d") получим в поле такое значение: Hello world. | |||
Текущая версия от 14:57, 24 октября 2023
С помощью функции ТЕКСТ() можно изменить представление числа или даты, применив форматирование.
Форматирование чисел
Функция ТЕКСТ() форматирует число в соответствии с заданным форматом. Например, если в столбце A находится число 23,7825 и его необходимо отформатировать до трех знаков после запятой:
ТЕКСТ(A;".3f")
В результате получается строка "23,783".
Формат:
ТЕКСТ(число;строка_формата)
TEXT(число;строка_формата)
Строка формата:
Строка формата имеет вид [flags][width][.precision]conversion
- [flags] — специальные символы для форматирования. Например, флаг "+" означает, что числовое значение должно включать знак +, флаг "-" означает выравнивание результата по левому краю, флаг «,» устанавливает разделитель тысяч у целых чисел. Не является обязательной частью инструкции.
- [width] — положительное целое десятичное число, которое определяет минимальное количество символов, которые будут выведены. Не является обязательной частью инструкции.
- [.precision] — неотрицательное целое десятичное число с точкой перед ним. Обычно используется для ограничения количества символов. Не является обязательной частью инструкции.
- conversion — это символ, указывающий, как число должно быть отформатировано. Допускается d для целых чисел, f для чисел с плавающей точкой. Является обязательной частью инструкции.
Например, в поле типа Число записано число 12.34:
- ТЕКСТ({{Задача.Поле типа число}};"d") - результат 12
- ТЕКСТ({{Задача.Поле типа число}};"05d") - результат 00012
- ТЕКСТ({{Задача.Поле типа число}};"08.3f") - результат 0012.340
- ТЕКСТ({{Задача.Поле типа число}};".4f") - результат 12.3400
Примеры:
ТЕКСТ(A;".3f")
ТЕКСТ({{Задача.Поле типа число}};".3f")
ТЕКСТ(1234567; ",.2f") - результат: 12 345,67
Форматирование дат
Таблица с формулами для форматирования дат. Рассмотрен пример форматирования даты: 12.10.2016.
Что отобразить | Как | Формат | Формула | Результат |
Месяцы | 1-12 | "M" | ТЕКСТ(A;"M") | 10 |
Месяцы | 01-12 | "MM" | ТЕКСТ(A;"MM") | 10 |
Месяцы | янв-дек | "MMМ" | ТЕКСТ(A;"MMM") | окт |
Месяцы | Январь-Декабрь | "MMМM" | ТЕКСТ(A;"MMMМ") | Октябрь |
Месяцы | Я-Д | "MMМMM" | ТЕКСТ(A;"MMMМM") | О |
Дни | 1-31 | "D" | ТЕКСТ(A;"D") | 12 |
Дни | 01-31 | "DD" | ТЕКСТ(A;"DD") | 12 |
Дни | Пн-Вс | "DDD" | ТЕКСТ(A;"DDD") | Ср |
Дни | понедельник-воскресенье | "DDDD" | ТЕКСТ(A;"DDDD") | среда |
Годы | 00-99 | "YY" | ТЕКСТ(A;"YY") | 16 |
Годы | 1900-9999 | "YYYY" | ТЕКСТ(A;"YYYY") | 2016 |
Для того, чтобы функция просклоняла месяц в родительном падеже, используйте следующий синтаксис:
ТЕКСТ(Число; "[$-FCxx]Формат даты")
где:
xx — это язык:
- 19 — русский
- 22 — украинский
Пример:
ТЕКСТ({{Системные.Сегодня}}; "[$-FC19]DD MMMM YYYY")
Результат:
14 июня 2022
Форматирование значения времени
Таблица с формулами для форматирования значения времени. Рассмотрен пример форматирования времени: 14:22:44.
Что отобразить | Как | Формат | Формула | Результат |
Часы | 0-23 | "H" | ТЕКСТ(A;"H") | 14 |
Часы | 00-23 | "HH" | ТЕКСТ(A;"HH") | 14 |
Минуты | 0-59 | "m" | ТЕКСТ(A;"m") | 22 |
Минуты | 00-59 | "mm" | ТЕКСТ(A;"mm") | 22 |
Секунды | 0-59 | "s" | ТЕКСТ(A;"s") | 44 |
Секунды | 00-59 | "ss" | ТЕКСТ(A;"ss") | 44 |
Время | 14:00 | "HH:00" | ТЕКСТ(A;"HH:00") | 14:00 |
Время | 14:22 | "HH:mm" | ТЕКСТ(A;"HH:mm") | 14:22 |
Время | 14:22:44 | "HH:mm:ss" | ТЕКСТ(A;"HH:mm:ss") | 14:22:44 |
Время | 14:22:44,11 | "чч:мм:сс,00" | ТЕКСТ(A;"HH:mm:ss,00") | 14:22:44,11 |
Затраченное время (часов и минут) | 1:02 | "[H]:mm" | ТЕКСТ(A;"[H]:mm") | 1:02 |
Затраченное время (минут и секунд) | 62:16 | "[mm]:ss" | ТЕКСТ(A;"[mm]:ss") | 62:16 |
Затраченное время (секунд и сотых доль) | 3735,80 | "[ss],00" | ТЕКСТ(A;"[ss],00") | 3735,80 |
Важно
- Время и Дата разделяются пробелом обязательно.
- Время разделяется знаком ":" и "," для миллисекунд 23:15:41,456.
- Дата разделяется одним из символов "." "/" "-".
- Если не указана дата, то вместо нее будет 01.01.1900.
- Строка формата для дат довольно гибкая (вводим любую строку и в ней заменятся определенные символы на единицы времени). Специальные символы — D,M,Y,H,m,s — необходимо экранировать, чтобы отобразить как букву, а не время.
- Можно выводить длительность в часах/минутах/секундах (если указана только дата, то выведется кол-во времени с 31.12.1899, то есть длительность в часах для 01.01.1900 = 24).
- Год из двух цифр считается как год 21 века.
- Если в строке формата нужен обратный слеш "\" , то его необходимо экранировать — "\\". Это особенно важно, если он в конце строки.
- Если формат заканчивается на d/f и при этом нужна дата, необходимо экранировать d/f. Например, ТЕКСТ("12.05.2018"; "\Hello worl\d") получим в поле такое значение: Hello world.