Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

20 Август 2018, 10:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Формат времени  (Прочитано 427 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Zomgmeister
Новичок
*
Offline Offline

Сообщений: 8


« Стартовое сообщение: 5 Февраль 2018, 15:33 »

Здравствуйте! Возникла пара вопросов на одну и ту же тему.

1. Каким образом назначить в документе LibreOffice Calc формат времени HH:MM вместо HH:MM:SS? При этом документ должен открываться на разных компьютерах с сохранением укороченного формата.

2. У меня есть несколько временных интервалов, вычисляемых арифметически — из времени конца события вычитается время начала события. Тут всё в порядке. Затем мне нужна сумма, и тут вроде бы тоже всё в порядке, выдаётся общая продолжительность в HH:MM:SS, ладно. А вот дальше мне нужно перевести всё в MM:SS, на самом деле просто в MM, то есть узнать, сколько минут ушло на все временные интервалы вместе взятые. Как это сделать?

В соответствии с рекомендацией прикладываю файл-образец.

Прошу прощения за беспокойство, если это где-то подробно описано и всё такое. Раньше почти не приходилось работать с Calc'ом.

* время.ods (11.7 Кб - загружено 3 раз.)
« Последнее редактирование: 5 Февраль 2018, 15:54 от Zomgmeister » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 528


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 5 Февраль 2018, 16:06 »

Ну, для начала нужно бы слегка подправить формулу в колонке D ("Время"). Третья строка, хоть и отображает "час-сорок", все-таки содержит "минус 22:20". А из-за этого и сумма интервалов считается не правильно. Если все времена будут в пределах одних суток (ну, как в третьей строке - началось вечером накануне, а закончилось сегодня утром), то поправка будет совсем небольшой. Что-то вроде
Код:
=C5-B5 + N(CURRENT()<0)
=C5-B5 + Ч(ТЕКУЩ()<0) (это для русскоязычных формул)
А формат - это просто: нажми Ctrl+1 и введи код формата [MM]:SS
А чтобы получить число минут - домножь результат на 24 часа и 60 минут
Код:
=D7*60*24
Эту ячейку нужно будет отформатировать как число (иначе получишь ерунду какую-нибудь)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Zomgmeister
Новичок
*
Offline Offline

Сообщений: 8


« Ответ #2: 5 Февраль 2018, 17:53 »

Спасибо, получилось. Могли бы вы растолковать, что такое «Ч(ТЕКУЩ()<0)», чтобы я видел это не как иероглиф, а как что-то осмысленное?
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 528


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 5 Февраль 2018, 18:47 »

Ну, начнем с N() или Ч(). Просто преобразовать результат в число. В скобках у нас логическое выражение "а не больше ли это нуля?", которое возвращает FALSE или TRUE. И ЛибреОффис последние несколько лет знает, что это 0 или 1. Другие офисы могут не понять. Поэтому с помощью этой функции преобразуем результат сравнения в 0 или 1.
Применительно к дате-времени эта единица обозначает "один день" ("полные сутки", "24 часа").
Если результат вычитания ячеек окажется меньше нуля, прибавим 24 часа и получим правильный временной интервал.

CURRENT() или ТЕКУЩ() - это функция, которой, кажется, нет в Эксель. Если грубо, "на пальцах", то означает "то, что уже вычислено"
То есть в формуле можно было бы написать
Код:
=C5-B5 + N((C5-B5)>0)

Другими словами - вычислить C5-B5 дважды.
Вместо этого формула добравшись до функции ТЕКУЩ() смотрит, что уже успели насчитать (разность ячеек до знака "плюс") и использует это значение, сравнивает его с нулём, получает ИСТИНА или ЛОЖЬ, преобразует их в 1 или 0 и прибавляет к уже вычисленной разности ячеек.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Zomgmeister
Новичок
*
Offline Offline

Сообщений: 8


« Ответ #4: 5 Февраль 2018, 19:02 »

Замечательно, ещё раз спасибо!
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!