Функция ТЕКСТ
С помощью функции ТЕКСТ() можно изменить представление числа или даты, применив форматирование.
Форматирование чисел
Функция ТЕКСТ() форматирует число в соответствии с заданным форматом. Например, если в столбце 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.