Функция ТЕКСТ: различия между версиями
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
(не показано 15 промежуточных версий 3 участников) | |||
Строка 5: | Строка 5: | ||
|description=Функция ТЕКСТ | |description=Функция ТЕКСТ | ||
}} | }} | ||
С помощью функции ТЕКСТ() можно изменить представление числа, применив | С помощью функции ТЕКСТ() можно изменить представление числа или даты, применив форматирование. | ||
== '''Форматирование чисел''' == | == '''Форматирование чисел''' == | ||
Строка 13: | Строка 12: | ||
ТЕКСТ(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 | ||
Строка 90: | Строка 89: | ||
|Дни | |Дни | ||
|1-31 | |1-31 | ||
|" | |"D" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"D") | ||
|12 | |12 | ||
|- | |- | ||
|Дни | |Дни | ||
|01-31 | |01-31 | ||
|" | |"DD" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"DD") | ||
|12 | |12 | ||
|- | |- | ||
|Дни | |Дни | ||
|Пн-Вс | |Пн-Вс | ||
|" | |"DDD" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"DDD") | ||
|Ср | |Ср | ||
|- | |- | ||
|Дни | |Дни | ||
|понедельник-воскресенье | |понедельник-воскресенье | ||
|" | |"DDDD" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"DDDD") | ||
|среда | |среда | ||
|- | |- | ||
|Годы | |Годы | ||
|00-99 | |00-99 | ||
|" | |"YY" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"YY") | ||
|16 | |16 | ||
|- | |- | ||
|Годы | |Годы | ||
|1900-9999 | |1900-9999 | ||
|" | |"YYYY" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"YYYY") | ||
|2016 | |2016 | ||
|} | |} | ||
Для того, чтобы функция просклоняла месяц в родительном падеже, используйте следующий синтаксис: | |||
ТЕКСТ(Число; "[$-FCxx]Формат даты") | |||
где: | |||
xx — это язык: | |||
:*19 — русский | |||
:*22 — украинский | |||
Пример: | |||
<nowiki>ТЕКСТ({{Системные.Сегодня}}; "[$-FC19]DD MMMM YYYY")</nowiki> | |||
Результат: | |||
14 июня 2022 | |||
Строка 139: | Строка 156: | ||
|Часы | |Часы | ||
|0-23 | |0-23 | ||
|" | |"H" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"H") | ||
|14 | |14 | ||
|- | |- | ||
|Часы | |Часы | ||
|00-23 | |00-23 | ||
|" | |"HH" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"HH") | ||
|14 | |14 | ||
|- | |- | ||
|Минуты | |Минуты | ||
|0-59 | |0-59 | ||
|" | |"m" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"m") | ||
| | |22 | ||
|- | |- | ||
|Минуты | |Минуты | ||
|00-59 | |00-59 | ||
|" | |"mm" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"mm") | ||
| | |22 | ||
|- | |- | ||
|Секунды | |Секунды | ||
|0-59 | |0-59 | ||
|" | |"s" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"s") | ||
|44 | |44 | ||
|- | |- | ||
|Секунды | |Секунды | ||
|00-59 | |00-59 | ||
|" | |"ss" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"ss") | ||
|44 | |44 | ||
|- | |- | ||
|Время | |Время | ||
|14:00 | |14:00 | ||
|" | |"HH:00" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"HH:00") | ||
|14:00 | |14:00 | ||
|- | |- | ||
|Время | |Время | ||
|14:22 | |14:22 | ||
|" | |"HH:mm" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"HH:mm") | ||
|14:22 | |14:22 | ||
|- | |- | ||
|Время | |Время | ||
|14:22:44 | |14:22:44 | ||
|" | |"HH:mm:ss" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"HH:mm:ss") | ||
|14:22:44 | |14:22:44 | ||
|- | |- | ||
Строка 194: | Строка 211: | ||
|14:22:44,11 | |14:22:44,11 | ||
|"чч:мм:сс,00" | |"чч:мм:сс,00" | ||
|ТЕКСТ(A;" | |ТЕКСТ(A;"HH:mm:ss,00") | ||
|14:22:44,11 | |14:22:44,11 | ||
|- | |- | ||
|Затраченное время (часов и минут) | |Затраченное время (часов и минут) | ||
|1:02 | |1:02 | ||
|"[ | |"[H]:mm" | ||
|ТЕКСТ(A;"[ | |ТЕКСТ(A;"[H]:mm") | ||
|1:02 | |1:02 | ||
|- | |- | ||
|Затраченное время (минут и секунд) | |Затраченное время (минут и секунд) | ||
|62:16 | |62:16 | ||
|"[ | |"[mm]:ss" | ||
|ТЕКСТ(A;"[ | |ТЕКСТ(A;"[mm]:ss") | ||
|62:16 | |62:16 | ||
|- | |- | ||
|Затраченное время (секунд и сотых доль) | |Затраченное время (секунд и сотых доль) | ||
|3735,80 | |3735,80 | ||
|"[ | |"[ss],00" | ||
|ТЕКСТ(A;"[ | |ТЕКСТ(A;"[ss],00") | ||
|3735,80 | |3735,80 | ||
|} | |} | ||
Строка 218: | Строка 235: | ||
== Важно == | == Важно == | ||
*Время и Дата | *Время и Дата разделяются пробелом обязательно. | ||
*Время разделяется знаком ":" и "," для миллисекунд 23:15:41,456. | *Время разделяется знаком ":" и "," для миллисекунд 23:15:41,456. | ||
*Дата разделяется одним из символов "." "/" "-". | *Дата разделяется одним из символов "." "/" "-". | ||
Строка 226: | Строка 243: | ||
*Год из двух цифр считается как год 21 века. | *Год из двух цифр считается как год 21 века. | ||
*Если в строке формата нужен обратный слеш "\" , то его необходимо экранировать — "\\". Это особенно важно, если он в конце строки. | *Если в строке формата нужен обратный слеш "\" , то его необходимо экранировать — "\\". Это особенно важно, если он в конце строки. | ||
*Если формат заканчивается на d/f и при этом нужна дата, необходимо экранировать d/f. Например, ТЕКСТ("12.05.2018"; " | *Если формат заканчивается на 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.