Функция ТЕКСТ: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Строка 25: Строка 25:
'''Строка формата:'''
'''Строка формата:'''


Строка формата меет вид [flags][width][.precision]conversion  
Строка формата имеет вид [flags][width][.precision]conversion  
* [flags] — специальные символы для форматирования. Например, флаг "+" означает, что числовое значение должно включать знак +, флаг "-" означает выравнивание результата по левому краю, флаг «,» устанавливает разделитель тысяч у целых чисел. Не является обязательной частью инструкции.
* [flags] — специальные символы для форматирования. Например, флаг "+" означает, что числовое значение должно включать знак +, флаг "-" означает выравнивание результата по левому краю, флаг «,» устанавливает разделитель тысяч у целых чисел. Не является обязательной частью инструкции.
* [width] — положительное целое десятичное число, которое определяет минимальное количество символов, которые будут выведены.  Не является обязательной частью инструкции.
* [width] — положительное целое десятичное число, которое определяет минимальное количество символов, которые будут выведены.  Не является обязательной частью инструкции.

Версия от 06:49, 19 июля 2022

С помощью функции ТЕКСТ() можно изменить представление числа, применив к нему форматирование. Это полезно в ситуации, когда нужно отобразить числа в удобочитаемом виде либо объединить их с текстом или символами.


Форматирование чисел

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


Перейти