LINUX.ORG.RU

[OpenOffice][Calc] Как преобразовать дату в строку?


0

1

Здравствуйте!


Есть ячейки, в которых прописаны даты (в виде дат). Эти даты используются в вычислениях.

Кроме того, нужно использовать значение таких ячеек в виде строки, например написать составную строку:

"... за период с Дата1 по Дата2."

Чтобы делать составные строки, можно пользоваться функцией CONCATENATE(). Проблема в том, что все ее параметры должны быть числовыми или строковыми.

Максимум как я смог извратиться:

CONCATENATE(DAY(A9);".";MONTH(A9);".";YEAR(A9))

Но тогда, если в ячейке A9 дата 25.09.10, получается строка «25.9.10».

В гоголе ни слова про преобразование числа в строку, есть только функции преобразования строки в число, а мне нужно наоборот.

Что делать?


Чего-то я не понял, с помощью чего ты данные обрабатываешь? Там в самой кальке что ли функция есть для выведения строк?
В языке макросов OOo есть явное определение переменных на любой вкус.

malices_gossips ★★★ ()
Ответ на: комментарий от malices_gossips

В Calc есть формулы для ячеек, и соответсвенно есть функции, которые можно использовать в этих формулах.

xintrea ()
Ответ на: комментарий от xintrea

Это понятно. Просто странно, что есть функции, которые в общем-то предназначены для форматирования текста. Зачем они там?

В любом случае, это не дело кальки, для этого есть языки макросов.

malices_gossips ★★★ ()
Ответ на: комментарий от malices_gossips

Потому что язык написания макросов - это вообще отдельный и тихий пиздец.

Я ненавижу мудаков, которые писали документацию. Это не документация, а издевательство над здравым смыслом. Ебляны бля.

xintrea ()
Ответ на: комментарий от malices_gossips

Что здесь можно понять? Форматирование сохранено нах:

Инструкция Do...Loop [время выполнения]

Повторяет инструкции между инструкцией Do и Loop, пока условие равно True или пока условие не станет равно True.

Синтаксис

Do [{While | Until} Условие = True]
Участок_программы
[Exit Do]
Участок_программы
Loop
или
Do
Участок_программы
[Exit Do]
Участок_программы
Loop [{While | Until} Условие = True]
xintrea ()
Ответ на: комментарий от AlexVR

=TEXT(A1;«DD MMM. YYYY»)

Пойдёт?

Как, как ты об этом догадался?

Документация:

TEXT

Преобразует число в текст в соответствии с заданным форматом.

Синтаксис

TEXT(Число; Формат)
Число: численное значение для преобразования.
Формат: текст для определения формата. Разделители разрядов определяются языком, указанным для формата ячеек.
Пример
=TEXT(12,34567;"###,##") возвращает текст 12,35.
= TEXT(12,34567; "000,00") возвращает текст 012,35.

Как ты узнал про «DD MMM. YYYY» ???

xintrea ()
Ответ на: комментарий от xintrea
  • Дата - тоже число, но отображаемое в специфическом формате
  • Нужно оперировать со строками --> смотрим список функций для работы со строками
  • «DD MMM. YYYY» - посмотрел шаблоны дат, и выбрал что понравилось

Всё логично :)

AlexVR ★★★★★ ()
Ответ на: комментарий от xintrea

Да в офтопике это будет =ТЕКСТ(A1;«ДД МММ. ГГГГ»), т.е. крайне зависимо от используемого языка. А в справке там почти тоже самое, но вот только в полном варианте справки, есть пример с датой и более менее полное описание форматов.

AlexVR ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.