![]() |
округление дат
Вложений: 1
Все доброго дня.
Прошу мне снова помочь. есть задача округления времени если значение времени за 14 минут до начала следующего часа, то округлить к следующему часу+1 минута (пример: если 22:46, то округлить до 23:01) если значение в интервале от 00 до 15 мин, то округлить до 01 ( пример, если 01:08 , то округлить до 01:01) если значение в интервале от 15 до 45 мин, то округлить до 31 (пример: если 20:44, то округлить до 20:31) только это надо прописать вот в таком логическом выражении if ? then ? else ? endif Помогите пожалуйста. |
golovatov, попробуйте использовать формулу вида:
Код:
=ВРЕМЯ(ЧАС($B$2);ЕСЛИ(МИНУТЫ($B$2)>45;61;ЕСЛИ(МИНУТЫ($B$2)>15;31;1));0) |
a_axe, а можете показать как это будет выглядеть ,используя выражения , о которых я говорил
if время за 14 минут до начала следующего часа,then round к следующему часу+1 минута... т.е. как будто ввиде макроса прописывается. ну или в стиле SQL. используя этот оператор if |
golovatov, функция округлить тут не очень подходит - даты в экселе исчисляются в сутках, соответственно один час - это 0,04166[6] по абсолютному значению. На VBA код будет выглядеть приблизительно так (округления я не использую):
Код
Код:
Public Function timeround(time As Date) или с оператором Select Case: Код
Код:
Public Function timeround2(time As Date) |
Время: 21:08. |
Время: 21:08.
© OSzone.net 2001-